Spaces becomes usable in OS X 10.5.3
Spaces was one of the most anticipated features in Leopard, at least for Unix/X11 refugees like myself. X has had virtual desktops for decades, but users of “mainstream” desktop operating systems (i.e. Windows and Mac OS X) have had to rely on third-party utilities to get the same functionality.
In the case of OS X, Leopard was set to change that with Spaces. Unfortunately, the implementation was broken in such a way as to make it incredibly frustrating to use the way I’m used to using X11. I typically have Terminal and Safari (and often Emacs) windows open on multiple desktops. But on a desktop dedicated to a particular task, I want to be able to ⌘-⇥ (command-tab) between application windows on that desktop. Prior to 10.5.3, this would invariably do precisely the opposite of what I wanted, and flip to another desktop that had a window of that application open. This resulted in Spaces being about 5% as useful as X11 for serious keyboard-oriented work.
(For what it’s worth, this whole thing is mostly an issue because of the distinction OS X makes between apps and windows of apps–in X11, alt-tab usually cycles between all windows equally, regardless of what application they belong to. On OS X however, command-tab cycles between applications–⌘-` can be used to cycle between windows of an application.)
But good news! The recent 10.5.3 update to Mac OS X fixes it! Contrary to what Gruber says:
[Y]ou shouldn’t notice any changes, because the default behavior remains the same in 10.5.3
the default behaviour has changed: command-tabbing between applications now stays on the same desktop if the target application has a window there, and jumps to another desktop otherwise.
This is just about perfect. I actually like the jump-to-desktop behaviour for applications that aren’t on multiple desktops (e.g. iTunes), but now the default is to stay on-desktop for apps that are. (I still think I’d be slighly more comfortable if OS X behaved the same way as X11, and treated all windows as equal–but that could be Just What I’m Used To.)