DEV Community

Kevin Cox
Kevin Cox

Posted on • Originally published at kevincox.ca on

Tabs Were a Mistake

Tabs, we all know them. Commonly seen in browsers but why do they exist? Before browsers used tabs links would either replace the current page or open in a new window. Tabs replaced the latter option, instead new pages opened in the same window and people loved it. Whether you are a tab minimalist or a tab hoarder it is clear that tabs won, just about every browser on just about every platform has some sort of tabs-like feature.

Interestingly Google Chrome on Android tried using a window per tab for a while. It made switching between multiple websites a breeze using standard Android navigation but the change was ultimately dropped.

So what is wrong with tabs? The issue is that we already have a way to deal with multiple things open at the same time. This thing is called a window manager and is built into just about every operating system. On desktop you get shortcuts like Alt-tab to switch windows and Super-Left to move a window to the left half of the screen. On mobile you have buttons or gestures to navigate a list of recently open “windows”. However these days it is very common for desktop users to use only one, maybe two windows (often just a web browser). Your messaging app, email, document editor and distractions are just tabs in a single window. On mobile most apps just have a single window, having internal navigation to to switch between separate documents or conversations (there are a few exceptions, for example the GMail app opens a second window for composing). Instead of having one pool of “things” we now have nested groups which I find much harder to navigate. Why do I Alt-Tab to switch to Thunderbird, but Ctrl-Tab to switch to the GMail web UI? It seems weird that I have a different set of shortcuts for moving between windows on my desktop and pages in my web browser. What is the difference between gnome-calculator and calculator.com besides the seemingly unimportant detail of how they were implemented? Why do I use different shortcuts if I visit https://app.element.io compared to running the desktop app?

Nested window managers not only add a pointless distinction but it also makes things more difficult. If I want to switch to a web app I need to first switch to my web browser, then switch the tab to the one I want. If each page was a separate window I could switch directly.

Interestingly macOS has always had a different shortcut for switching between apps and switching between windows of an app. After adding tabs into the mix there is now 3 levels of switching that you have to decide between.

I think that tabs are a local maximum. They improve some important use cases compared to the simple window managers that are popular (like Windows, macOS or GNOME) but these features could easily be implemented in a window manager. I think that if window managers got some missing features (such as handling a queue of links to slowly read) browsers could drop tabs and it would be better UX overall. Furthermore all of the other applications that you run would benefit from the more powerful window management.

This is a very difficult mountain to move as there is a bit of chicken and egg. Window managers don’t have much reason to support better controls for many browser windows until browsers start using them and browsers don’t want to invest in making a window-per-page experience better until most popular operating systems have the window management features to make it attractive.

Interestingly Windows switched from showing window titles (like tabs do) to just showing the icon. I wonder if this was a reaction to the “one window per app” pattern that was growing more popular and reduced the need to differentiate between multiple windows of the same app.

Top comments (0)