rc3.org

Since 1998.

rc3.org header image 1

The tabbed interface schism in OS X

April 2nd, 2008 · 4 Comments

Almost a year ago, I wrote a post complaining about inconsistencies in keyboard shortcuts for navigating tabs. My complaint then was that not all applications use Command-# to navigate among tabs (or Control-# to navigate among tabs in Windows).

As I mentioned in passing in that post, Safari uses Command-# to select bookmarks in the bookmarks toolbar. To move between tabs in Safari, the keyboard shortcut is Command-Shift-Arrow (left and right). Since that post, Leopard was released with new versions of iChat and Terminal with tab support, and they both use the Command-Shift-Arrow convention.

This has created a schism in the OS X world. What I’ll call the “third party” convention for keyboard shortcuts is as I described in my earlier post — Command-# to select a tab. This convention is supported by Firefox, Adium, iTerm, Textmate, and probably other applications as well. As far as I know, only Apple applications support Apple’s convention for tabs. There are other approaches as well, for example, in NetNewsWire, Command-{ and Command-} are used to move between tabs.

Based on my investigation, Apple still doesn’t offer any guidance in the Human Interface Guidelines on how tabs should be implemented in OS X applications even though they are a widely adopted interface convention, and Apple appears to have adopted a specific convention for them internally.

My main complaint is that having two different conventions makes it difficult to switch between Firefox and Safari, but I predict that this will become a bigger problem as more applications add tabbed interfaces. If I were an OS X software developer, I think I’d adopt Apple’s convention were I starting from scratch, but I’m not sure what the best approach is for other applications, especially cross-platform applications like Firefox. I don’t think that Apple could migrate to the third party convention because too many applications already exist with different functions mapped to Command-#.

In the meantime, I guess we’ll deal with confusion and inconsistency.

Tags: · ,

4 responses so far ↓

  • 1 bec // Apr 3, 2008 at 11:37 am

    In Firefox you can also switch between tabs using command-option-arrow, which almost makes it easier to switch between FF and Safari.

  • 2 Paul Mison // Apr 4, 2008 at 2:05 am

    Camino uses command option arrow, not command shift arrow, so it’s different from both Firefox and Safari (but I’d argue closer to Apple’s convention).

    It also uses command-# for bookmark bar entries, like Safari (and unlike its Gecko-powered relative Firefox). However, it only does this if the bookmark bar is showing: the rationale for this is in a bugzilla entry. I still find this an odd decision, but the team seem set on it.

  • 3 Brent Simmons // Apr 5, 2008 at 12:48 pm

    I just checked out the Tab or Window menus for a few apps. Safari, Terminal, and NetNewsWire all list cmd-{ and cmd-} in their menus, but also respond to cmd-shift-leftArrow and cmd-shift-rightArrow.

    As a developer, my thinking is that doing the same thing as Safari is the best bet, given no other guidance. (Safari because it’s probably the most commonly-used tabbed application from Apple.)

  • 4 http://jerakeen.org/ // Apr 7, 2008 at 12:03 pm

    Command-Shift-Left/Right used to be my preferred shortcuts for this reason, but they don’t work if focus is in a textbox, so I’ve forcibly trained myself out of it. Annoying.

Leave a Comment

You can comment using OpenID:

Or you can just enter your personal information and comment that way. Your email address is required but won't be displayed.

Please enter your comment. Markdown is supported.