14 June 2014

Improving browser navigation

TLDR: Let the browsing history be carried over when a link is opened in new tab, so the user can click the back button to, well, go back.

The main navigation tool of any browsers is a back button. My Chrome, for example, only has back, forward, and refresh buttons. And this is for a good reason. An HTML document may contain a hyperlink to another page, but the linked page may not have a hyperlink to the original document. The browser's back button is essentially the only way to go back to the parent page from a child page.

All the modern browsers I know have introduced a major UI change in early 2000's: tabs. Tabs have dramatically lowered the inconvenience of having multiple pages open at the same time; navigating between different tabs is much easier than between windows. Hence, a viable (and probably popular, although I do not have data for this) approach to navigation is following a link by opening a new tab rather than in situ.

This style of navigation in some sense makes back button obsolete. Once you open a child page in a new tab, you can go back to the parent page by clicking the original tab. This is also convenient when you want to visit the child page back again. In particular, if one wants to go back to one of multiple child pages, using tabs is far more convenient than navigating through back and forward buttons.

One major draw back of using tabs to navigate, however, is that one loses track of parent-child relationships. A new tab page has no history; if you open a link in new tab, you cannot go back to the parent page through the back button. The child becomes oblivious of its parent; all tabs are independent of each other.

Suppose I am doing an online research. I open up a search engine (page A) and find few relevant links. I open those pages (B1, B2, B3) in new tabs. Pages B1 and B2 contain links for further readings that may be useful. So from page B1 I open pages C1 and C2 and from page B2 I open D1 and D2, all in new tabs, since I might come back to the old pages later. I finish reading D2, and now I am interested in other types of further readings recommended by B2. So I want to go back to the parent page, but now I am not sure which of 7 other tabs that is.

This type of navigation problem usually gets resolved in trial and error fashion which is obviously not very convenient. Only if that back button on page D2 wasn't grayed out. But wait, it doesn't have to be. There is a simple solution. When a child page is opened in new tab, the parent page can pass its history to the child tab.

When a user reaches a page through a sequence of hyperlinks, the page clearly has a history that might be often relevant for the user. Why should that history be lost just because a page is opened in a new tab?

I am aware that there are browsers/extensions that color the tabs to group the family of pages. This is sometimes helpful, but still it does not give any information on vertical hierarchy (so it would not have helped in the example above). The colored tabs can also be often visually jarring and hence confusing. Simply carrying the history over, on the other hand, is much more natural. There will be no visual changes and the back button will always behave the way the user expects it to.

I doubt that carrying browsing history over to tabs will cause much confusion since it simply adds the ability to "go back" when a link is opened in new tab. I am quite certain that in many occasions it will improve the navigation. So why don't browsers implement it?

No comments: