Friday, July 07, 2006

Tabbed Interfaces

Tabbed interfaces were a major revolution when they first appeared on UI scene. From then on, practically every configuration/options dialog became tab-based. The fundamental feature of tab based interfaces is that they can present to the user a number of dialogs together without cluttering the screen.

Tab-based interfaces are inherent in the Windows Taskbar design although the task bar is a complicated sort of interface. Until recently tab-based designs were used only in dialogs and no one thought of making any other use of them (similar to taskbar). Not even Microsoft!

But then appeared Opera on the scene and it changed everything. This was the first browser which introduced the concept of tab browsing. The individual web pages would open in different tabs in the same application window. This saved a lot of precious space on the taskbar. Try opening 10 web-pages in 10 different IE 6 windows and the taskbar gets cluttered (OK! You can group them into one task bar button, but that's another story).

Opera went further and introduced the whole desktop interface consisting of a taskbar kind of interface. You could minimize/maximize individual web pages into opera window itself. Before opera the standard for such applications was the MDI (Multiple Document Interface) championed by Microsoft's MFC. Most of the Microsoft's applications use the MDI when they need to open many files in the same window.

The fundamental problem with MDI is that at a time you can see only one file and there is no way to know which other files are opened by the application. Going to Window menu or pressing Ctrl+Tab many times is a pain. Some applications introduced something like a Document Selector Dock to see what all documents were open and to activate one of them.

Document Selector And Tabs in TextPad

But the tab-based applications like Opera brought a new level of user-experience previously unheard of. Then came Mozilla Firefox and the tab-based interfaces won over the MDI. With Mozilla Firefox getting a lot of publicity people (including me) got so addicted that now they were many tab based applications. Most text-editors (UltraEdit, TextPad, Crimson Editor and recently Vim!) began to use tab interfaces to allow users to edit multiple files simultaneously.

For me, as a programmer, it is absolutely impossible to do without a tab-based editor. So I tried a lot of editors, but none had the power of Visual Studio. And I hated the VC++ 6.0 MDI. Luckily Microsoft released VC7 with tabbed interface and that was great. They even went further and integrated the Web Browser control into it, so that apart from opening C/C++ files you could open web-pages in one of the tabs.

So in a way Microsoft provides us with tab browsing feature. I wonder why they did not update IE 6.0 to have this feature natively (now they are forced to do that in IE7, thanks to Firefox!). Going back to VC7, I would like to add that including the web browser control is such a great feature that I need to show you some snapshots of it (snapshots are actually from VC8 Express Edition - but VC7 is also similar):

Here you see a PDF file opened in one of the tabs (using web browser control and PDF ActiveX control) and another CPP file in a different tab.

Now you see the CPP file. And in next snapshot we have two PDF files into two different tabs and a CPP file in third tab.

The point I wish to make is that using the recent version of Visual Studio, one can use the tabbed interfaces for even those applications which rely on MDI (like Acrobat Reader/Writer). All you need is an ActiveX control for displaying that kind of document in web-browser. You ask what's the big deal? One can open multiple PDFs in Mozilla Firefox in different tabs. Hey, but you cannot edit C/C++ files in Firefox.

So for the programmers, VC7 or VC8 provides code editing plus document viewing in the same application. Side by side you can look into your design/specification document and implement your stuff in another tab. That's really really useful.

I am waiting for the day when the MDI becomes obsolete enough that we even have MS Office applications and Adobe applications with tabbed interfaces. Many many thanks to Opera and Mozilla Firefox developers who started big with their tabbed interfaces.


Blogger Sandeep Shinde said...

yes indeed, it is a very nice invention after all....

8:41 PM  

Post a Comment

<< Home