Solving the alt-tab problem: My solution
June 3, 2010 – 5:39 pm Tags: ToolsLately there’s been some discussion about “the alt tab problem” – In other words, when you have lots of windows open and when working on something you constantly jump between a few of them. Basically when doing this, it becomes tricky to recall which window you get when you alt tab once, or twice, and so on.
If you’re not familiar with this, the aforementioned link contains a good explanation and some solution ideas as well. However, the solutions others seem to suggest for this all assume we even want to use an alt-tab style window switcher to begin with.
This is a problem I’ve ran into as well, so I present thee with a question: What would be better than good ol’ alt-tabbing? Let’s find out!
Spatial window switching
Instead of alt-tab’s semi-arbitrary order, how about just make the order something you can see?
If you have used Opera, you may be familiar with its spatial navigation feature. Put simply, it allows you to use arrow keys (with shift) to navigate a website’s links etc. similar to how you’d navigate a menu in a game.
Press shift+left and you get the link left of current selection. Press shift+down, you get the one downwards and so on.
Why couldn’t we use this approach to switching windows?
Spatial switching pros and cons
If you have just one small monitor you can pretty much throw this idea out. This idea is best for bigger monitors and multi-monitor setups, because in these you can have all your work-windows visible at the same time.
On a small screen, you usually would have just one window open, which would make a spatial switcher pretty useless (unless it zooms out and lays all windows in a grid or something).
If you have multiple large monitors, this approach could have some merit: You always know which window you’ll get next, so you can easily memorize that if you hit right twice, you get window X, and down once you get window Y. It’s always visible and I think it’s a very natural way to switch windows as well.
However, similar to smaller screens, you would probably have some windows that aren’t visible on top. This is why it probably should only be used in combination with alt-tabbing (which could be used to bring windows to front for spatial switching), or with a system which zooms all windows out to a grid.
What’s to come
I haven’t been able to find any application which does anything like this yet. The closest thing I’ve seen is Switcher for Windows, but it has a big fault: Navigating the zoomed out windows does not work in a predictable way.
So because of this, I’ve been thinking of digging my C# skills from the grave and hopefully at some point write an application to do this. In the meantime since the C# app would require significant research, I’m planning on doing a proof-of-concept with JavaScript. Basically throw in a few divs which you can arrange like you’d arrange windows, then use keys to navigate them.
What do you think? Make sense?

9 Responses to “Solving the alt-tab problem: My solution”
Fvwm-Crystal (a window manager for linux) has something like that but, as you say, it’s only good when one has a big screen with several windows.
If you only use Windows, maybe you can do it with AutoHotKeys
By charlie on Jun 3, 2010
Like charlie, I’m not on Windows, but I use Compiz + Scale function / effect on Linux (expo function is also very useful if you use virtual desktops).
It’s almost perfect, the only drawback is that is does not include minimized windows.
By Anonymous on Jun 3, 2010
As an OSX user only at work, I find the equivalent option-tab experience infuriating because all windows aren’t always in the global list. You have to option-tab to the application then option-backtick to switch windows within that.
Please tell me I’m doing something wrong.
By Steve Clay on Jun 4, 2010
I think I meant cmd+tab/cmd+`
By Steve Clay on Jun 4, 2010
I mentioned this concept on Twitter maybe some months ago, and someone suggested AutoHotKeys back then. I looked into it and you can’t use it for this (unless I missed something).
Can’t say about Linux WM’s (Fvwm-Crystal and Ratpoison and Ion, which were suggested on Twitter) since I haven’t used them, but there does not seem to be any mentions of such feature on any of their respective documentations, with the exception of Ion. Ion and Ratpoison do seem a bit clunky tho.
I’ll probably do the JS version of the idea in a week or two so you’ll get a better idea of how it should work =)
By Jani Hartikainen on Jun 4, 2010
I don’t believe for a second that alt-tab is even a problem in the first place. Are these people actually saying they find it too hard to cope with, or are they simply desperate reinvent the wheel?
By Bertie on Jun 7, 2010
I would say it’s not a very large problem, but more a small interruption or minor annoyance every once in a while. It depends a lot on how you work – especially if you’re mostly typing it can be a bit annoying to alt-tab, then find yourself typing in the completely wrong window. I think it would be a good thing if I could always be 100% certain what window I’m getting.
I’m usually pretty tolerant of things like clunky UI etc., but if there’s a way to improve it, it’s more than welcome in my opinion.
By Jani Hartikainen on Jun 7, 2010
Exposé & cmd+tab
Exposé shows all the screens and then cmd+tab to show only the screens from an application.
By Harro on Jun 8, 2010
Winsplit Revolution ftw!
http://winsplit-revolution.com/
Just make sure you turn off the Ctrl+Alt+C option (Close All Windows)… it’s terrible feature.
By Steve Sperandeo on Jun 11, 2010