I've had an ongoing beef with Leopard since it's inception. The problem is difficult to describe, but I've had a lot more experience with it since the last time I wrote about it, and I think I now have a better idea of what's going on. So I wanted to revisit the issue as we're near the eve of the release of Snow Leopard, and as I feel better equipped to talk about it. Also because it drives me fairly batty.
The problem can best be described like this: An action taken by an application that is in the background can, under certain conditions, cause that application's window(s) to come to the foreground, covering the application that is currently active. Perhaps an example is in order:
- I launch Safari.
- Before Safari loads completely, I immediately command-tab to the Finder which has a window open.
- When Safari finishes loading, the Safari window covers the Finder window.
To rectify this rather odd state of affairs, a quick command-tab to Safari and then back to the Finder does the trick. Not a huge deal most of the time, sure. But let me cite some examples where it becomes a slightly bigger deal. Here's a similar scenario, but now I'm working in TextEdit:
- I'm typing in TextEdit.
- I launch Safari.
- Before it completely loads, I command-tab back to TextEdit and continue typing.
- Suddenly, Safari finishes loading and obscures my TextEdit document window; I can no longer see what I'm typing.
- To continue working in TextEdit I must command-tab twice as per the previous example.
- Moreover, by all appearances but the menubar, Safari is now the active application, which can trick me into thinking I can start typing in Safari. But when I do this I type something — the wrong thing — into my TextEdit document.
- And what if I type something like command-a (Select All) and then delete? Now I've just deleted the contents of my TextEdit file — a file I can't even see.
That's a potentially destructive scenario I've just described, and I'd pretty much swear that something like that has happened to me in the past, though I admit I did not document it and the circumstances were probably somewhat different.
Beyond the slightly irksome and the potentially destructive, here's one more exceptionally annoying scenario that I encounter on a daily basis:
- I log in to my Mac.
- Login items begin to launch.
- I open a Finder window and begin to manage files.
- As login applications finish loading completely, they steal focus from the Finder.
- This makes me unable to work on my Mac until all login items have finished loading completely.
I originally thought this was only happening on my slower hardware, but it happens on every computer I use: My old Powerbook, my work G5 and my 8-core Intel home workstation.
As I've said in the past, this is something I would describe as a bug. Background applications should never obscure active applications unless explicitly requested to do so (like when you bring forward a window from another application, which both activates that application but also leaves all windows but the requested one in the distant background). This is my major complaint with Leopard with which I am otherwise very happy. But it's a big complaint. It's a problem that affects me every day, and all day long. It's a huge usability gaffe in my book, and I'm amazed Apple hasn't addressed it already.
For a quality-obsessed company like Apple and an incredibly usable OS like Mac OS X, this lack of focus seems like a huge oversight. And for Apple's detail-obsessed fans this seems like something that would bother a lot of people. But I've only found one lone short thread on the matter in Apple's discussion forums, and one other thread on a very similar (possibly the same) problem. But no answers.
The good news is that Snow Leopard is right around the corner, and Snow Leopard is all about making improvements to the existing system. Snow Leopard is a refinement release. It's all about the details. So I sincerely hope — and if anyone out there can speak to this, please do get in touch — that Leopard's lack of focus is addressed. That would be most excellent.