Solving the alt-tab problem: My solution


Lately 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?