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.

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.

 

Design to steal

When the user Alt-Tabs between apps, why not bring forward each app in succession, dimming back the rest? Then users could simply Alt-Tab until they see what they want. It’s more direct and visual. Users would not need to map what they want to the application or its icon (although they could still do so when thinking in those terms).

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

Smoothing it out - This solution may cause a lot of inelegant flash. One way to smooth this out and make it feel less cold and computery would be to first, instantly, bring forward and brighten the next app (because we must avoid introducing delays in response to user action) and 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. Yet 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, with no further ado. On Windows, you use the system tray.

How might document switching and app switching be blended? What if the document cycling worked analogously to app cycling? Alt-` would bring forward successive documents in the current app, simultaneously stepping through a row of document miniatures — just like we’re talking about here for app switching. The miniatures would have to be large enough to distinguish visually, and would show the filenames at all times for when the miniatures are hard to distinguish.

The user then gets to navigate to a document using either of the two strategies: visually, by mindlessly Alt-`ing until the document is frontmost, or by first spotting the document in the line-up and then Alt-`’ing until it is highlighted.

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 works well if you have few windows open, and poorly 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?
  • 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?

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

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

4 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.

Leave a Reply