Solving the Alt-Tab Problem
azarask.in
azarask.in
You’ve been using alt-tab to bounce back-and-forth
...
tab. What happens? Because of your habit, you expect it
to go to your web browser, but because the last used
application was your Twitter client, that’s where it
switches.
Experienced users will handle this by repopulating the cycle when they switch. In this case alt+tab, release, alt+tab, alt+tab, release, alt+tab.I've bound alt-tab and ctrl-tab to raise/lower window. While I do use four virtual desktops to group windows of similar interest, I generally just hide the frontmost window when I want to switch. This keeps the cycle static and I can do most things by using keyboard only. I rarely have more than 3-4 windows on a single desktop so I've kind of manually grouped the desired applications together already. If I want to break the cycle and switch directly to a specific window, I just point my mouse to it and use the keyboard to raise it front.
Thanks.
I've started a new job recently where I got W7 (having never used Vista) and have played with it quite a bit. Just when I'd think I had it worked out, I'd open up a larger volume of windows and it would change behaviour.
On top of that there are prominent applications which have never played nice - outlook (and anything that minimises to the status bar - behaves inconsistently), and excel (which has never played nice).
From what I learn from people at MS, Office team follow their own UI conventions and they dictate Windows not the other way round. So it would always be office does something and windows follows.
I disabled minimise to status bar in outlook as soon
as I moved to W7
I've had a google in search of this and not turned up anything. Playing with the view of things in the systems tray doesn't fix the problem of it staying near the top of your MRU list, against windows convention. How do you do it?Win+num swaps by application, but not by windows.
Win+tab has a horrible transition effect that I don't seem to be able to turn off without destroying the feature altogether.
It's just that it provides a mix of MRU and static ordering. The goal for me typically is to move to a frequently used app e.g., my IDE/Browser asap. Win+<num> gets hardwired and I don't have to remember if my fav app is third/fifth from my current window/app.
Right click on Outlook status bar icon and uncheck "Hide When Minimized".
OK, now I see what you meant when you said, 'Trust me you won't miss it.'. Yeah, I can see your point but I do miss it, but it's still an improvement :)* What that in original state (i.e. Show when minimized) and I minimise, the app stays at the top of the MRU stack.
* When that is on, and I minimise, the app disappears out of my alt+tab order altogether.
The more knobs and heuristics used in the interface, the harder its going to be for me to both guess what's going to happen, and know how to "fix" it when it guesses wrong. I think this is an interesting UI problem, because I encounter it frequently. But I also know how to remedy it easily.
Yes, exactly. At the same time as the switcher program is trying to learn the user's common patterns, the user is also trying to learn how the switcher works. I can see that not ending very well!
It would be particularly frustrating during the learning phase, when the switcher doesn't know the user's habits and so switches poorly, and at the same time the user is struggling to figure out what order the switcher will put things in.
This setup eliminates the need for alt-tabbing. I just go directly to what I want.
Chrome lets you do the same with tabs using Ctrl + Num.
On Safari+OSX, cmd-{ / cmd-} switch tabs. I'd still like a to-beginning / to-end key pair (maybe cmd-[], and reversed?), but that's pretty minor compared to not needing to navigate with a cursor.
Nice to know though. I'm also pleased that it is available for Windows 7, might make my whole Windows 7 experience much more smooth.
Is there anything similar for Ubuntu? With cairo dock perhaps?
This solution is basically static order with manual (but pita) rearrangement.
I agree about the slide animation, though. I wish there was a way to disable that.
What frustrates me on OS X is that even when I'm on Space 2, alt-tab still shows me apps from Space 1. I much prefer the KDE3 approach where I can tell it to only show me apps and windows from the current desktop.
And if I really want to see all apps I can use Kompose, a version of Expose for KDE3, though that's rare because, like you, I use a different desktop for specific tasks, grouping the apps I need.
Works pretty well actually
This works for me because I can remember the "place" where windows are, and it is usually one or two chords away.
First impressions are good, though (at least out of the box) the fullscreen preview doesn't play nicely with multiple monitors :-(
Finally, switching between windows within a single desktop is a simple matter of changing focus in a direction by using Super+<cursor keys> (I can resize and swap by using Super+Shift+<cursor keys> and Super+Alt+<cursor keys>).
I can also cycle through windows in one frame (Super+c), but its not often I have more than one window in a frame (since I normally have either one fullscreen window in a desktop or i have two to four windows tiled), but when I do, its normally only one, so cycling is more of a "toggle between windows" for me.
Super, being the "windows key", is a great key to use for window management. Windows key is for windows management is easy to explain to people ;-)
So you have turned your workspace into a hash table.
Also, I still have to disagree with marketing dropping out 3 times so blithely. Opinions may differ, but as it stands I could interpret that to mean he's had 3 semesters at different colleges and the a degree from a community college. Without even critiquing that course of action, it certainly doesn't seem to convey the same message Aza undoubtedly wants to share.
"I've attended four colleges to learn what I use today" is closer to useful, though still weak when you're talking about such easily misunderstood life choices. It invites questioning, discusses the positive mentality that might lead to those decisions, and doesn't sound like a Business Week fluff piece.
98% of people who've had a successful life have dropped out of college; isn't that surprising and almost certainly causal?
A hidden Markov model denotes the existence of some dynamic parameter that the computer cannot directly observe, such as the user's current mood. Such a model would take into account transitions between "happy" and "angry" in addition to transitions between "Firefox" and "TextMate". These additional hidden variables are very useful in a wide variety of circumstances, but in this situation I suspect it would cause a combinatorial explosion of state space with little measurable benefit to the user.
Yes, it takes a little time to move the tabs next to each other, but I think it's still better than breaking the "suspension of disbelief" when things go wrong.
So, I think the solution for the Alt + Tab problem would be use MRU, but with a movable, always visible order: basically, let me drag the apps in the task bar.
Let's take the "Order of Application Opening" model: If, say, I had opened iTunes between a messenger program and a browser, and I were flipping between browsing and chatting, I would think that iTunes, being a background sort of application, would require me to remember to double-tab every time I wanted to bounce, requiring an extra button press and an internalization of that data instead. (As well, wouldn't the static list then require me to Alt-shift-tab every time I want to bounce backwards? I certainly could tab forward and wrap around if I had only those two applications open, but that's rarely the case, so it seems that a static ordering would only ever hinder me. Keep the static order to the taskbar/dock where it belongs!)
Somewhat related: Something I've always wanted is the ability to navigate tabs in Firefox with CTRL+Left/Right-arrow, similar to the CTRL+# to get to a certain tab number. I looked around once, perhaps a year ago, to no avail, and haven't searched since. Anybody know of an add-on that adds this functionality?
edit: BoppreH, in another post, mentions CTRL+[Shift]+Tab. I'm basically asking for this functionality, remapped to CTRL+Arrows (It's more comfortable this way, rather than isolating the button presses to one hand)
^{Right}::Send ^{Tab}
^{Left}::Send ^+{Tab}
But then, that changes behavior for all applications, not just Firefox.There is a keyconfig extension for Firefox: http://kb.mozillazine.org/Keyconfig_extension you could try that.
In Opera it is easy. Personally, I have this functionality under 'j' and 'k'.
Sorry, MRU is still the best. Pisses me off to no end that Firefox and Chrome, by default, do not use it anymore for their tabs...
And the "breaking" is just a question of implementation, not a big theoretical headache.
However, in applications like Firefox/Chrome, where the tabs are always visible, I'm the opposite from you: MRU behavior drives me absolutely bonkers. This is because the actual order of tab switching no longer matches the order implied by the visual position of the tabs. To my disgust, Visual Studio changed to this MRU behavior in (I think) 2005, and ever since then the Ctrl+Tab behavior has been useless to me, because even though the tab I want is right next to the active one, it might take six or seven switches to reach it. My memory of the order of the most recently used tabs while I'm coding is poor enough that the ordering might as well be random.
If you wanted to keep the MRU method in this type of application, I think a solution is to automatically reorder the tabs. But VS at least doesn't do this...not sure about Firefox (it didn't originally, and I turned off the feature ASAP).
[1] Few people that request it continue to request it after trying it in a browser that supports it. Certainly the number is significantly below those that prefer tab-order switching.
Page url has the obvious shortfall of being so rarely used for a long amount of time. It might be used for an hour, or perhaps a day, or in some rare cases where you do interact with a single url for a long period of time, but those cases will be few and far between.
Domain seems too generic. If I'm on HN then I may flip to gmail frequently as I work through the day, but that doesn't mean that when I'm in Gmail I want to always tab to HN, perhaps it's to my blog, or work's admin section.
I guess actually my issue is that he uses a single pair example.
If I'm on HN, then gmail would probably be a likely tab target, but on Gmail, the options of targets greatly expands. HN would be at top because of recent use, but the other sites mentioned would also be likely targets.
So then we suffer from the frequent order changing that was cited as a downfall of the MRU method.
Am I wrong here?
For instance, use Alt+Tab to jump to you latest used application, and use Ctrl+Rightarrow to go to the next app in order. Plus, you get an obvious way to go to the previous app in order: Ctrl+Leftarrow.
Not for everyone, but I like it.
Here are the scripts: http://techiferous.com/2009/12/streamlining-your-workflow-wi...
It seems to install and work just fine on Win Server 2008 64bit, for reference :)
As Toby says to Will in an episode of the West Wing: "don't come to me with half a thing and not be able to - you know, after you've walked me to the brink..."
For example, he mentions the problem that one gets into once one switches accidentally to the wrong app: once you've switched, it becomes the MRU when you try to switch back. Perhaps a rule that an application isn't added considered the MRU unless you interact with it in some way? So that if you switch to it but immediately switch away it is no different than hovering?
It made me wonder what it would take to implement something like this on OS X (in terms of hooking into the OS, rather than in terms of the heuristics). Since the application Witch (http://manytricks.com/witch/) can be used as a replacement for the built-in App Switcher, it must be possible ...
Alt+Left jumps to left tab. Alt+Shift+Left moves the current tab to the left. Same for all other directions. Oh and obviously tabs (windows) never change position on their own.
This works much better than any other system I have used. Muscle memory is a beautiful, magical thing.
It's a pity that all mainstream OS'es insist on deliberately making it impossible to take any advantage of it. MRU in alt-tab is the most idiotic idea since the modal dialog.
Winkey+Num makes the n-th window on the taskbar active. Since you can modify the order of the taskbar icons, this solves the spatial memory vs. fast switching between two windows.
Winkey+1 for Firefox, Winkey+2 for Twitter, Winkey+3 for something else.
This combined with Alt+tab that cycles in the same taskbar order (as opposed to MRU) seems like the holy grail to me.
The problem is that this would break the existing expectations of Alt+tab, which is why I fear it won't happen.
- Ctrl-<number> focus on or start my regular applications (with an autohotkey script). That is 10 applications, more then enough.
- Alt-Tab and Shift-Alt-Tab are replaced with Ctrl-; and Ctrl-h
I've also tried a script that matches Ctrl-<number> with the programs that are in the taskbar. But found that as the order changes from time to time, I have to recheck what number to use.
- alt-tab between firefox and vim
- ctrl-6 within vim
- ctrl-tab within firefox.
BTW: you can rearrange tabs in firefox, and tab-mix (plugin) allows you to expt with customizing it in every weird way you can imagine, and some other ways too. A good test-bed for prototyping alt-tab solutions.
My tab usage in FF is less switching tabs, and much more opening lots of tabs and going through (and closing) them one by one. When I find my self switching tabs in FF too much I drag one tab into a new window.
I am almost unable to use alt-tab on a more standard window manager now, because it doesn't behave sensibly; it requires you to keep an in-memory ordering on your applications to get to them quickly. A static order that isn't obvious is just as bad as a dynamic one.
Then again on windows you can alt-shift-tab, so that pretty much takes care of that anyway, if could just have the programs in consistent order.
Its kind-of the same problem as when you send out emails. Why can't your email client remember that while there are 5 harrys in your address book, only Harry C is the one you send emails to and thus should be on the top of the auto completion list (FF3 betas missed this feature, FF3 has this now).
The problem is:
1) If we do long-term computer learning, the person might judge that this feature is useless. A second person sitting at the computer screws the whole deal.
2) If we do a manual way with "rearrange" were still screwed. Too much work for temporary windows.
3) If the computer guesses wrong, were also screwed because now were stuck with an incorrect ordering.
Consider this one:
What if instead of trying to get alt-tab to work right, we try to get a consistent (press alt-tab x number of times to get from application foo to application bar) which will remain consistent no matter how many windows are open. So if you go from Eclipse -> Firefox, Eclipse -> Firefox -> Twitter, Firefox -> Eclipse, Firefox -> Eclipse -> Twitter, the user can now form a great habbit: If you are in FF, alt-tab = Eclipse, if you are in FF 2xalt-tab = twitter. Etc.
I think a simple formula of Frequency of Use will help. If a habbit is frequent (person switches from application foo -> bar, even using non-alt-tab ways) we can use frequency of use to determine the ordering. Otherwise fall back to LRU (we can always ignore some random tabbing cases). Since a person will keep the recent "places" they been to in their head, it will feel intuitive for them.
Humans (still) learn faster and adapt better than machines. Over simplifying stuff for them may actually make things more complex.