Philip Haine's articles on Product Vision, Innovation and Design

Bring related windows forward during Alt-Tab

Here is a tweak to the micro-interaction of Alt-Tabbing

Alt-Tab behavior has been around a long time [since Windows 3.0? 3.1?]. It has become a computing standard. Even Apple stole & refined this design from Microsoft. Good for them and their users. We wish Apple would be quicker to pick up on innovations not invented there.

Apple made Alt-tabbing prettier, but they didn’t fundamentally improve the interaction. So Alt-tabbing has remained fundamentally unchanged for about fifteen years. Here is a refinement on the micro-interaction, that applies to both Macs and Windows.

What’s to improve? The issue is that using Alt-Tab to switch between apps is mentally indirect. When using the mouse, the user can just point and click, effectively saying, “Go there, assuming the target window is visible. Very direct.

Alt-Tabbing requires more mental effort. The user must first figure out which app owns what they are looking for, then locate the app’s corresponding ‘s icon, then tab to it. It is not a visual process of just pointing to what you want. This is not a big deal if you only have a couple of apps open. But today’s fat PCs encourage the user to use many apps simultaneously. And if those apps are similar and confusable, such as with multiple text apps, or graphics apps, or web apps, it can be a real distraction to the work at hand.

Design to steal

When the user Alt-Tabs between apps, bring forward each app in succession, dimming back the rest.  Users can Alt-Tab until they see the window they are looking for.

1) Starting point – App A is the front-most app. Windows B1 and B2 belong to the same app. App C is hidden or minimized. App D is visible.

2) User presses Alt-Tab; windows B1 and B2 come forward because they belong to the same app. Everything else dims back.

3) User presses Alt-Tab again; app C becomes temporarily visible, from its minimized or hidden state.

4) User presses Alt-Tab again; app C hides again and app D comes forward.

5) User releases the Alt key; app D is now front-most.

This approach is more direct and visual — users no longer need to mentally map what they are looking for to the application and its icon.

The windows for hidden apps or minimized documents become temporarily visible as the user cycles through them.

Refinements and variants

Smoothing it out – This solution may cause a lot of inelegant flash as windows come and go. One way to smooth this out is to experiment with bringing forward and brighten the next app instantly (because we must minimize UI friction).  Then fade the others back, over the course of a half second or so. This would help make the transitions feel more organic and gratifying.

Switching between documents – In the course of juggling work, one is as likely to need to switch between documents within an app as between apps. Despite these being sister tasks, document switching is done very differently than app switching. On the Mac, the user presses Alt-` to cycle among documents.  Each keystroke reveals the next document.  Unlike app switching, no Alt-Tab UI is shown.

How might document switching and app switching be blended? What if the document cycling worked analogously to app cycling? Instead of merely bringing document apps forward, Alt-` would reveal a row of document miniatures.  Successive key presses would step through these.  Releasing the Alt key would bring the selected document to the forefront.

[Update 7/27/09 Here is a mock-up of the idea that uses the style of Exposé]


doc-switch

The user then gets to navigate to a document using either of the two strategies: the old way, by Alt-`ing and releasing until the document is frontmost, or by keydowning on Alt-` to see the line up of available documents spotting the desired document in the line-up and then repeating the Alt-` keystrokes until it is highlighted, then releasing.

Combining both ideas: the user could get to any document by first Alt-tabbing to the right application, then Alt-`ing to the right document.

Follow-up Research work

This is not the end of the story with updates to be made to application switching. Here are some related problems.

  • Apple’s vaunted Exposé feature exists to solve the same needs and scenarios of switching between windows, yet it does so in a completely different way. It scatters all the visible windows out on the desktop in miniature, so the user can select one. This s fine if you have few windows open, but not if you have many. It’s just too much to scan through a dozen windows, finding a needle in a haystack. It’s even more work if the windows are splayed out on a large, modern display. And in a frustrating oversight, your efforts are in vain if you’re looking for an app you happen to have hidden or a document you minimized. How might Exposé, app cycling, document cycling and even the Dock be consolidated into a simpler, coherent, continuous system? [See Blending it in versus bolting it on, and Alt-Tabbing for part of the answer.]
  • On Windows, how can app cycling be melded with some improvement on the painful system tray? How can document switching be added to the mix?
  • This proposal works with the fundamental conceptual model of applications owning documents. Is there a better way?

Related questions

Does anyone know what logic Mac OS X uses to determine the order of the icons in its Alt-Tab UI? The first two are the last you used but the rest seem to be in a random order. Is this a bug or a feature?  [7/27/09 This was answered in a comment to What is the alt-tab order?]

See also:

[Updated 2/22/06 to clarify the document Alt-` idea]

[Updated 7/27/09 to further clarify and add mock-up of the document switching UI]

Posted by Philip Haine on Wednesday, August 31st, 2005 at 1:38 pm.
See similar articles in: Designs to Steal, Research Topics.

6 Responses to “Bring related windows forward during Alt-Tab”

  1. dynamist wrote on February 6th, 2006 at 11:26 pm :

    FWIW, invoke app-specific Expose then Command-Tab and exactly what you’re describing occurrs, sans what’s hidden/minimized which while I wish there was a way besides clicking the Dock to get to, I think is the right choice, because Expose is for what you have up, otherwise you wouldn’t have hidden or minimized it. Just my two cents. But most of what you’re asking for exists

  2. karen wrote on February 21st, 2006 at 8:14 am :

    i just had to write. i am a mac user turned pc user returned mac user and this is my BIGGEST problem with OS X: unlike the pc, there is no one place i can look to see the programs that are running, that have windows hidden in, and that i that i have windows open but behind other things on my screen. i consider myself quite a competent computer user, but i’m constantly “losing” my windows and i’m left feeling, well: dumb.

    this sounds like a dear abby letter.

    on michelangelo’s to do list is an app to help me with this. so my fingers are crossed.

  3. Philip Haine wrote on February 22nd, 2006 at 8:19 pm :

    Hi, Karen! I’m curious about this being the biggest problem for a PC -> Mac switcher…

    What about those little black arrows next to or under the dock icons? Do those not suffice for telling you at least which apps are running?

    You can right click (or ctrl-click) on any dock icon to show and get to the windows that are open. Does that help at all?

    Do you ever use Expose? Does that help at all at finding missing windows?

    The thing I can’t stand about the Windows taskbar is how badly it scales. It shows a flat list of the open windows but as soon as it runs out of room, poof, it gets all hierarchical on me. And it, too, is not a unified system with the Alt-Tab behavior of Windows, even though both mechanisms are all about the same thing.

  4. Philip Haine wrote on February 22nd, 2006 at 9:28 pm :

    Thanks for the pointer, dynamist! And I thought I knew Expose’s tricks.

    (The amount of hidden functionality in Expose never ceases to amaze me. Like a tree falling in the forest, I wonder about the relevance of such useful but undiscoverable features.)

    I do appreciate that thought was put into integrating Cmd-Tab app switching with Expose window choosing. But I wouldn’t quite say that Expose-plus-Cmd-Tab behavior is the answer to my alt-tabbing dreams. Having to take my right hand off the mouse to invoke Expose with F9, and then use my left hand to do Cmd-Tab, and then wait for the animation finish doing its thing is not the instantaneous, direct response I had in mind.

    And besides, Expose splays out the windows and makes them smaller. This is (usually) a good thing if the task is to locate a window from a pile of open windows. But moving and resizing them tosses out our spatial knowledge of what is where.

    All I want is to bring forward THAT window that was last seen in THAT part of the display, instantly. The proposal is to just let me brainlessly alt-tab until it appears there.

  5. Nick Harris wrote on July 26th, 2009 at 9:16 am :

    1. Apple’s new keyboards have (F3) be a dedicated Expose key, so you don’t have to move your hand off the mouse to get at (F9) anymore.

    2. You can hack this arrangement yourself by modifying Keyboard Shortcuts in System Preferences, you just have to reassign or disable any collisions (shown by a yellow warning triangle).

    3. The new keyboard isn’t actually hard-wiring (F3) meaning that it is now somehow “lost”, as (FUNCTION)+(F3) gets you your own definition for that key – which could very well be different.

    4. You don’t need to use right click or (CONTROL) click on an Application’s Dock icon to get it’s window list menu to pop-up. Single or “Zero” button mouse users need only left click and hold for the menu to appear.

    What would be nice to see in Snow Leopard 10.6 is some form of ‘Jump Lists’, with all the files created with that Application in a reverse ordered list of most recently viewed starting above a dividing line above those that are currently open on the desktop in windows. This would mean that the most accessible most recent not currently open document would be as near to the Dock as possible, then the next most recently viewed document would be above that one, and so on up the screen.

    I don’t think that people should be scared of tall pop-ups.

    Also, the pop-up could be “infinitely tall” by having it scroll as you reached the top – in the manner of a very long list of Fonts in a DTP application’s menu.

    Feel free to steal these ideas if they have any merit ;-)

  6. Philip Haine wrote on July 26th, 2009 at 11:59 am :

    Nick, thanks for the updates and adding more ideas.

    Expose is being updated in Snow Leopard and I’m hoping that some of these extremely frequent task switching operations will be substantially refined.

Leave a Reply