I’ve been excited about the prospect of Spaces for quite some time. Perfect for someone who wants to multi-task: I can have one space for email and chatting, another for blogging and photos, and still another (or two or three) for side projects. Brilliant!
In some cases, applications will be nicely confined to one space. IM clients, for example: I will only chat in one space to prevent from being distracted in others.
Web browsers are another story. I need them everywhere. For email. For blogging. For arranging photos on Flickr. For researching that tricky programming issue that has me pulling my hair out. But I don’t want email on my programming space. That’s the point of separating it out – I don’t want to be distracted by something that isn’t contributing to the task on that space.
So let’s take a simple scenario, and explore how Spaces supports it.
The Scenario: I have my email (Firefox) and chat (Adium) open in a space. I want to write a new blog post in a new space, which means I want to open a new Firefox window in a new space.
Now, there’s a spot in Spaces Preferences where you can tie applications to one or all spaces, so that was my first guess:
But that’s wrong! When you tie Firefox to every space, that means all your browser windows – email, blogging, the works – follow you to every space you visit. Certainly good in some situations, but not what I’m after in this scenario.
It turns out that accomplishing my goal is a bit convoluted:
- Don’t list Firefox in the Spaces Preferences.
- Have my email open with Firefox in the first space.
- While still in the first space, open a new Firefox window.
- Press F8, or otherwise invoke the “Spaces Exposé” command.
- Drag your new browser window from one space to your new space.
This seems like entirely too much effort for what was advertised. I think the value of Spaces is having unique desktops. That includes everything that comes with a desktop: Unique docks, unique windows, unique tasks.
If I’m working on a tough programming problem and decide I need to dig around for something in the WordPress API, I want to launch Firefox and have a window appear in that space. I do not want to be torn away from my programming space back to the space where I first opened Firefox, and subsequently lose my context.
I think that spaces should be thought of as the highest level of abstraction in an Operating System, giving users a holistic desktop experience in each space. Arrange your dock to support that space’s task. Run applications and open windows as you need them.
Instead, I feel like Apple spent too much effort on switching between spaces. Dragging a window from one space to another in Exposé, or how Cmd + Tab now switches between spaces as well as applications (which, let me tell you, is incredibly jarring for someone like me who uses it constantly).
Don’t get me wrong, the graphics treatment and the Exposé interactions look terrific. But users are the ones forced to live with it, and how pretty it is gets old quickly if it doesn’t work the way it needs to.
Edit: Apparently I’m not the only one that feels this way. After looking around a bit more, I found an article over at 37signals that explains how to make my scenario happen more directly. I still think Apple has room for improvement, but this makes me happy in the short term.