WebBrowser HomePage PageList

This is a project to create a web browser that fixes things that we hate about other browsers and brings together the parts that we like. It also strives to be innovative, mostly at the cost of ignoring the lowest common denominator.

"a menu bar and one unified-function-bar should be enough for anybody" --us

[go to the discussion]

Things Josh likes:
   MDI.  MDI should be shoved in your face to be useful.  Opera still has it, but it is hidden away, and can't be reconfigured to be more visible.  Since no other browsers support it, unlike tabs, usage is not intuitive.  Forcing the user to realize they can see multiple documents at once is necessary to get them to realize that they can.  Panes would be sufficient, but only if both horizontal and vertical panes can be used--that is, any pane can be split into two panes either vertically or horizontally.  The traditional use of panes is not equivalent to an MDI interface set to tile, since each pane has its own tab bar.  To have a global tab bar, or application level taskbar, the interface would have to be MDI.  I prefer this over panes, but either is sufficient to stop choking the desktop.
   Incremental search (find as you type).

Things Josh hates:
   The location bar.  The URL is a technical detail and should not be exposed like it is.
For some pages, say http://brettlajzer.com/wiki, it kind of makes sense, but not for a giant string of variables, or even a page buried deep in the hierarchy. The domain name, including TLD and hostname or subdomain should always be visible, perhaps as a button to return to the home page.
   Interfaces with a "bookmarks toolbar".  It's fine to have bookmarks on the toolbar, but just put them on the toolbar.  If the window isn't large enough for that, you're just wasting more space anyway, and if there's no room on the toolbar, the the location-bar-functionality and search bar had better be on the toolbar, or there are way too many entries.

Things Brett likes:
   Sessions like how Opera implements them. Close the browser and all tabs are saved and re-opened upon launch. None of this "Close all Tabs?" shit.
   The mouse.
   Key Combos, especially ones that make sense and are configurable.
   Replacing the spread of menus with a single button, or putting them in a context menu. Perhaps right-clicking the interface would pull up this menu. There are many Firefox extensions for this to use as reference. Also see MS Office '07 which moved the File menu to a button.
   Tiling algorithms such as those used in tiling window managers (see: dwm).

Things Brett hates:
   Tabs that can't be renamed for the duration of them being open. There is an extension to FF that allows renaming but it lasts only until the tab is selected/deselected, then reset.
   The mouse.
   Toolbars. Bookmarks toolbars are stupid. The menu bar is stupid. Basically, the entirety of stuff "above" the page on screen is useless. The interface should be as clean as possible. There is no need for a "search box" for searching the web. A pop-up dialog can handle this better.


Brett's Crazy Ideas:
   Dynamic Tab Collections - Tabs from a site can be grouped sorta like taskbar grouping, but more powerful. When a tab from a collection is selected, the entire collection unfolds and the tabs not in that collection collapse.
   Working Set Palette - A small area or a button or whatever that links/tabs can be dragged to as a temporary holding ground. The idea is that this works as a set of temporary bookmarks. It'd be possible to sort by date or title and search by date and title. It would load up the page and get the <title> element. If link is dragged from a web page, then a surrounding area of text would be copied along with it. This context would enhance the experience greatly, especially hours, or days, later.

__________________________________________________________________________________________

Discussion
Pick a color and join in on the discussion of the above! New stuff goes at the bottom. If it's a reply, specify.
Current speakers: brett

So that everyone knows, a good deal of the above is possible by extending Firefox. I am aware of this, and I'm pretty sure that Josh knows too. That's not the point. We want a KHTML-powered, super-browser. We want it to be small, fast, and ridiculous. By writing a new browser, we are able to make all user interface bits coherent, rather than taking Firefox and ripping it apart. No, we don't want to use Gecko, no matter how nice the output looks and what standards it supports. We just really don't want to deal with it. So there.

On the topic of MDI, I'd really like to see a dynamic tiling algorithm used. The user wouldn't have to deal with layout at all (even though it'd be configurable on the fly), and this would integrate better with the concept of tab collections than panes. I personally don't think panes would be appropriate. We're trying to make it less work to use the web, and panes make the user do layout manually. I tried this the other day with the FF ext, and while panes rock in Blender, in FF they just suck.

Ok, so I've been playing around with C# and GTK# lately. I'm exploring the possibility of doing a prototype/actual implementation of some of the features above using GTK# and the Gecko control. You might realize that I am in fact using Gecko. That's because this is nowhere near the same as using it in C++. Anyway, I can implement at least some of the features pretty quickly and easily, which should result in a fast, small browser prototype. Sorry Josh. This is just until QT merges WebKit. R.I.P. KHTML.

Here's some fun screenshots of how the breadcrumb bar works. Click to enlarge.
Launch:
[img]

Google Search Breadcrumbs:
[img]

Google Search Location Bar:
[img]

This page:
[img]

Result of clicking the "wiki" button:
[img]

Powered by Pawfaliki v0.5.2