Thoughts on Tabs and Windows

Tab screenshot

If you had asked me, before Firefox came along, if tabs were a good idea for a web-browser, I would have said no, absolutely not. The old Mozilla Browser had them, and Opera had them. Both were clunky and intrusive.

The real reason I would have thought it was a bad idea, though, is that tabs introduce a whole new metaphor to desktop document management. We already have windows – adding tabs inside windows just messes everything up. You can’t use existing operating system window management techniques to switch between tabs, such as Alt+Tab or the window-list taskbar. Why should some documents be in tabs and in a window, while others are each in their own window. It would be anarchy!

Yes, all of the above criticisms of tabs are true, but it doesn’t matter. Regardless of broken and mixed metaphors, after about two years of using Firefox (and the betas that led up to it), I use tabbed-browsing extensively.

Having used them for a while now, I have some thoughts one why tabs do work well for web browsing:

  • You don’t have to use tabs. You can use the browser without even knowing that tabbed-browsing is possible. Just go about your pre-tab browsing business and you’ll not be bothered. No one is forced to learn a new metaphor.
  • Tabs Work well maximized. A lot of my friends and family, especially those with relatively low screen resolutions (800×600 or 1024×768), always run all windows maximized. When running only maximized windows, tabs work almost exactly like new windows.
  • Windowing applications and documents is not always a great system. This article about the file-system browser in Gnome quotes a 1995 study by Microsoft that concluded that “[a]ll but the most advanced users did not understand how to manage overlapping windows efficiently.”
  • Tabs allow grouping of pages, like multiple workspaces in Linux/Unix systems. You can have a set of weblogs open in one window, and a set of work-related pages open in another. This isn’t a killer feature, but I’ve noticed myself doing this.
  • Tabs don’t need to be “managed”. Windows often need to be resized, moved, and rearranged in order to make the best use of their contents and of the rest of your desktop. This isn’t so with tabs. You can’t do any of those things to tabs. I suspect this is one of the reasons people often run all windows maximized – this also eliminates the need to ever move or resize windows.

One of the big disadvantages of tabs compared to windows is that you can never see the contents of two tabs simultaneously. With windows, you can arrange two windows side-by-side, or only partially overlapping. While this is useful in some cases (visual comparing two documents, typing in one windows while using another for reference, etc.), it is not often needed when browsing the web. You just don’t often need to see two web pages side-by-side, and in the few cases where you do, you still can (using windows).

It’s a good thing I wasn’t in charge of the user interface design for Firefox, because I was completely wrong. This is a good reminder that you cannot rely solely on your own intuition when designing software that people interact with.

 

16 thoughts on “Thoughts on Tabs and Windows

  1. In epiphany – GNOME’s default browser, you can drag a tab out of a window and it will become it’s own window. This can be useful if you need to look at two pages side-by-side. Not sure if this is doable in Firefox.

  2. Great thoughts. I would add two things that have made tabs indispensable: opening a link in a new tab and *in the background* (I just recently learned that a middle click accomplishes this and practically had a moment of silence for the click that saves me from my previous picking-from-the-context-menu method), and having multiple tabs as a “home page” — the latter helps me prioritize things that revolve around a webpage (or a page that has priorities, like our basecamp-managed project), which would get buried/more-easily-ignored as simply a bookmark.

    Brad: such a feature in Firefox would be fantastic.

  3. It appears you can use CTRL+TAB to switch tabs in Firefox, at least in version 1.0.4.

  4. Actually, you can use Ctrl+Tab to switch through tabs in most programs I’ve come across – it seems to be pretty standard.

  5. Tabs in FFX behave like the sub windows in MDI applications.

    Ctrl+Tab or Ctrl+F6 switches between them
    Ctrl+F4 closes the current one.

    The middle-click in FFX is genius, but I think that’s by accident:
    – it opens new tabs from links
    – it closes tabs
    – it scrolls smooooothly, also on the scrollbar

    I have browsing sessions where I don’t even use the left button. Hooray!

    The requirement is that your middle button isn’t set to anything special, like running Explorer.

  6. Tabs don’t need to be “managed”. Windows often need to be resized, moved, and rearranged in order to make the best use of their contents and of the rest of your desktop. This isn’t so with tabs. You can’t do any of those things to tabs. I suspect this is one of the reasons people often run all windows maximized – this also eliminates the need to ever move or resize windows.

    This is actually not true, at all.
    You can’t resize multiple tabs (or see multiple tabs) with Firefox or Mozilla because that’s how they were designed. Opera or Maxthon (MSIE frontend with tabbed browsing), for example, use multiple documents designs where each tab is a document in itself, allowing you to resize and move tabs around (if you maximize tabs, it behaves like Moz/Fox tabs). Both philosophies have pros and cons, use the one that fits your needs.

    For tabs management:
    CTRL+TAB/CTRL+MAJ+TAB to switch between tabs
    CTRL+1 to CTRL+9 allow you to instantly switch to tab number 1-9 (beware though, they’re the “main keyboard” keys, not pad) (quite a lot of shortcuts are avaible BTW, you can see them at http://www.mozilla.org/support/firefox/keyboard)
    Last, but not the least, some extensions give you superhuman powers. One of the extensions I can’t leave without now is Super Drag&Go: just take a link and drop it wherever you want to create new tabs or replace the current one

  7. Yikes! 1024×768 is relatively low? I know resolutions are crazy-high now, but my eyes bleed when desktops get much bigger than that! I mean, even if you can have four windows open tiled at 1600×1200, unless you’ve got a 32″ screen, you’re totally squinting.

    Or am I missing some new trick to running that high? I know one can turn up the font size, but there’s always something tiny lurking out there.

    Back on topic: I like tabs.

  8. Windows often need to be resized, moved, and rearranged in order to make the best use of their contents and of the rest of your desktop. This isn’t so with tabs. You can’t do any of those things to tabs. I suspect this is one of the reasons people often run all windows maximized – this also eliminates the need to ever move or resize windows.

    Steven, you can reorder tabs using a not-so-obscure extension called miniT. Click and drag that tab to the desired spot; useful for when you’ve got a ton of tabs open and want to have the links opened by that AoV post placed next to its tab.

    Also, for those of you who like to move between tabs using keyboard shortcuts, there’s SwiftTabs allowing you to set these actions –plus closing the current tab– to your own desired keyboard combos.

  9. Konstantinos, thanks for pointing out miniT, I’ve been wanting something like that for Firefox for a while now. Now, if only there was something to make the tabs in jEDIT behave sanely.

  10. I find that I rarely browse the web with more than one window open, because I tend to read pages sequentially, and usually just open any link I find interesting in a new tab and come to it later. Often, I’ll have ten or fifteen tabs open that I just read in sequence.

    That said, I wish that Safari had Opera’s “tab exposé” feature. It strikes me as something Apple should have thought of first.

  11. If you have never looked at iRider, then you might think tabs are good for browsing. But iRider is much better. I realize that, using the IE rendering engine, some people will avoid it because of its vulnerabilities, but the browsing model is very much improved.

    Have a look at http://www.irider.com. I have no connection with the company, other than as a satisfied customer. (Truly, I’d be even happier if it worked with SurfSaver, but that’s another topic.)

  12. Opera’s tabs, or “pages”, are really more like sub-windows—you can do anything to them you can do to OS-level windows, including minimize, cascade, tile, or maximize them, or drag to an arbitrary size, and Ctrl-[TAB] switches between them, at least on Windows.

  13. Regardless of how we look at it, “Tabs” is a great feature. Whether you use it or not, it is up to you. FFX along with its extensions is a great tool after all. You need to add more functionality, you can be sure somebody out there built it already and it is just two clicks away.

    If that was FFX version 1, I wonder how version 2 would look like 🙂

  14. Ctrl PgUp/PgDn also move through tabs. And tab rearrangement (based on heavily hacked miniT code) is coming to firefox 1.1.

  15. The point you are making here should serve all of us well, in that, in many cases, what we think is the appropriate answer may be wrong.

    Most programmers do not have training or experience on how to design user interfaces, or they don’t think about how the user is going to work with the software.

    For example, I designed a program for managing customer orders, and I did something which, if I had not read a book on user interface design, I might never have thought of: automatic save. When the user closes an order, even when it’s not finished, it doesn’t ask them if they want to discard the order, it simply presumes they wanted to push the ‘save’ button and does so for them. (There is an explicit ‘cancel’ button on the order if they really do want to cancel an order without saving it.)

    So, rather than them having to remember to save an order or accidentally discard an order, I presume they want to save it anyway (and they can go back to the order later if they want.)

    It’s little things like thinking how the user works with the program and its data that can improve the user’s experience.

    The way my program does things is different from everyone else’s way, in which if you quit an item it asks if you wanted to discard it or save it, instead of presuming you wanted to save it and doing so anyway. Is my way necessarily the “right” way? Maybe, maybe not, but I do believe it’s less intrusive and easier to use than the other way, which is the point.

    Computers are supposed to make the job easier than doing it by hand.

Comments are closed.