A long time (12 years or so) ago cer­tain two browsers were fight­ing over mar­ket share and neither of them fea­tured a cer­tain UI ele­ment which is in­sep­ar­able part of today’s browser designs. Nor did most other ap­plic­a­tions had it. Then, while be­ing an­ni­hil­ated, Nets­cape ad­ded tabs as a last struggle. That is where things star­ted go­ing very wrong.

Op­era ad­ded them just sev­eral months later and in­ter­est­ingly enough IE, the cul­prit be­hind dis­ap­pear­ance of Nets­cape, got them only four years later with sev­enth ver­sion. Tabs by then already had be­come all the rage and plague es­caped the little browsers’ play­ground. Even ap­plic­a­tions that does­n’t get any real be­ne­fit from tabs im­ple­men­ted them.

Win­dows have gradu­ated

Look­ing back it be­comes clear why tabs were coined at all. Back then your win­dow man­ager would just make sure your win­dow is drawn on the screen and add win­dow bor­der. Any­thing else was your own re­spons­ib­il­ity. No win­dow group­ing (or even com­pos­it­ing) at all.

Today, if I re­call cor­rectly, in Win­dows® all win­dows are neatly grouped to­gether by ap­plic­a­tion in the taskbar and click­ing on such a group will re­veal a list of open win­dows for that spe­cific ap­plic­a­tion. You should already see how this func­tion­al­ity du­plic­ates the pur­pose of tabs. In my opin­ion this is a great solu­tion to hand­ling tab like in­ter­face at OS level.

Like­wise, you find ap­plic­a­tions in­stead of win­dows as first level cit­izens in OS X, GNOME, Unity and I sus­pect in most other mod­ern, reg­u­lar user fo­cused desktop en­vir­on­ments.

So in case tabs were cre­ated to com­pensate for a miss­ing layer of sep­ar­a­tion they did their job well and now is the time for them to re­tire.

Im­ple­ment­a­tion de­tails

Now we all know too well that tabs never be­have as any other UI ele­ment man­aged by OS. When you have win­dows you can be sure you’ll close them with Alt+F4 un­less ap­plic­a­tion is do­ing some­thing nasty. Alt+Tab will change between act­ive ap­plic­a­tions and with Alt+` between win­dows of ap­plic­a­tion. You never get con­sist­ent be­ha­viour with tabs though. The short­cut to open a tab in one ap­plic­a­tion may very well re­move an im­port­ant dir­ect­ory in an­other ap­plic­a­tion. We can­not ex­pect same level of short­cut uni­form­ity with tabs un­less they be­come a in­teg­ral part of OS, just like win­dows and ap­plic­a­tions now are.

Sure the short­cuts to in­ter­act with tabs will very likely be the same in same ap­plic­a­tion in all op­er­at­ing sys­tems (given the ap­plic­a­tion is port­able at all), but on the other hand that means you have to re­mem­ber dif­fer­ent set short­cuts for every ap­plic­a­tion you use.

Im­ple­ment­or’s hell

Tabs seem to be a clear vi­ol­a­tion of DRY prin­ciple as every ap­plic­a­tion has it’s own im­ple­ment­a­tion of tab func­tion­al­ity. Either that or they use tool kit wid­gets not meant for that. For ex­ample GtkNotebook was never meant to be a con­trap­tion of today’s tabbed in­ter­faces and was de­signed with dif­fer­ent re­quire­ments in mind. Still due to it’s sim­il­ar­ity it is widely used as a good enough re­place­ment for cre­at­ing tabbed in­ter­faces.

Close but­ton, close but­ton and close but­ton

Tabbed in­ter­faces also in­tro­duce more con­trols. One more close but­ton in ad­di­tion to close but­ton for win­dow is a cause of higher com­plex­ity. You have to take care to not close win­dows with im­port­ant tabs open too and as a con­sequence you al­ways get to an­swer to alert win­dow if you really want to close a win­dow.

In Con­clu­sion

Tabs:

  • Makes user learn­ing curve steep­er;
  • Un­pre­dict­able – as ap­plic­a­tions im­ple­ment tab­bing them­selves the, sup­posed to be, com­mon know­ledge be­comes use­less between dif­fer­ent ap­plic­a­tions – there’s no guar­an­tee for com­mon func­tion­al­ity, short­cuts, po­s­i­tion or even look;
  • Not in­teg­rated into OS ex­per­i­ence;
  • Un­ne­ces­sary – they were coined to al­le­vi­ate the prob­lem of miss­ing layer of sep­ar­a­tion which is fixed now;
  • In­tro­duce ad­di­tional de­vel­op­ment over­head.

Hav­ing went tab-­less at least half a year ago I can con­fid­ently af­firm that I’m com­fort­able without us­ing tabs in most ap­plic­a­tions, es­pe­cially browsers.