Tuesday, September 2, 2008

tabs

Tabs (wikipedia article) have been around for quite a while. However, it was considered a breakthrough in browsing experience when Firefox popularized it and Safari and IE soon followed suit.

It must have made a big difference, at least for power users - all the clutter in the dektop taskbar was shifted into the tab-bar in the browser window.


object.render() ?
But if you look closely at it, tabs inside a browser window are hardly a UI phenomenon.
They are, in fact, the simplest representation of how the browser stores webpages in memory. If a browser needs to keep multiple pages open at the same time, there would be a list (linked? array?) of these pages. Each of these pages has a history - a list of web addresses that had been displayed on the page previously. You could go back (and even forward!) in time, one step at a time. Does that remind anyone of stack-like behaviour? Just pop from the "back" stack and push into the "forward" stack.


Browsers are creating a visual representation of their data rather than figuring out the right user experience first and then making their internals provide it. Definitely the wrong focus. Check out the "Experience is the Product" slides here.








What's Wrong?

Tabs and their history are so linear it is constraining. Why is a workspace defined only by a list of URLs open at a given point in time? Why is browsing history confined to a tab? Even the Back button is pointless: once you go back and click on a link, the part of the history that was under the Forward button vanishes - like branching out to another time dimension. "Back" makes sense within a particular web application like email or in the context of doing a search. But not as a mechanism to traverse history.


Go Non-Linear
So how do we get out of the confines of linearity imposed on our browsing?
For starters, get rid of tabs. And I don't mean go back to individual windows; I mean using tabs as they are meant to be - as containers for web pages instead of as focal points of browsing sessions.

Opening and closing of tabs should be seamless to the user - new ones opening up when required and older ones just fading away. As the sequence of browsing progresses, tabs that are not needed can be closed automatically. The unit of browsing should become the web application. For example, web search: I can have multiple tabs open while I'm searching for something and the "back" button should work consistently across them, allowing me to explore different websites at once, but always from the context of the search engine, jumping back and forth. The navigation needn't be tab-based as it is right now.

The History Too
"Back" for History is horribly broken. Browsing history can be delegated to a separate pane in the browser with items ranked either chronologically or by frequency or other ways that appear to the user as "views". A tree-like structure for history would be better than just a list of web pages. A powerful search on top of a longer window of history would fill in for the impossibility of capturing everything in a single view.


The browser can have two views - one where the user can see at a single glance the history and various browsing sessions currently in progress, and another where only a single browsing session is active and in focus. Currently browsers have only one view where a cluttered (and often barely usable) tab bar shows which tabs are open and the larger part of the screen shows one tab.

As browsers become more of a platform than an application, they are generating more interest and hopefully we'll see a lot more improvement, especially for the user experience.

[Update: As I finish writing this, Google Chrome is made available for download. They claim to have solved a lot of technical issues that people have been complaining about, and have made it open source. Hopefully the other browsers will have the good sense (and grace!) to build on top of this and improve the user experience.]

1 comment:

Virinder Urf Funda-Mentor said...

dost... bouncer gaya.... thoda thoda samjha... but really interesting and cool stuff.. keep it up...