When Apple posted its list of 300 features that are new in Leopard, your eyes may have glazed over. Many of these new features won't mean anything to you until you've tried them, and, in Apple's list, you can't readily distinguish something small and cute from something massive and profound. (Let's face it, the "Arabesque Screen Saver," while pleasant, is hardly on a par with being able to "Back Up Everything" with Time Machine.) Furthermore, some new features are just hard to describe in a sentence or two, so a proper sense of their implications doesn't come across to the reader. In my view, Spaces is one of those features: It's massive and profound, but Apple's own explanation fails to do it justice. If someone asks you, "Why upgrade to Leopard?" the three little words, "To get Spaces," could be a sufficient reply. For sheer productivity potential, making your computer easier and slicker to work with, Spaces may be the single most important benefit of upgrading to Leopard. In this article, I'll try to help you see why.
So... what is Spaces?
Well, it's a "virtual desktop" implementation. Now, all you Unix X Window virtual desktop users can stop reading right here, or at least skip the next few paragraphs. Those of you who have tried VirtueDesktops (abandoned early in 2007) or the commercial CodeTek VirtualDesktop also have a sense of what Spaces is about (though these, to be clear, were effectively hacks; the only clean way to implement a virtual desktop feature is to integrate it at system level into the windowing system, as Apple has now done with Spaces). Right now, I want to talk mostly to the virtual desktop newbies who haven't a clue. You others, stick your fingers in your ears and go "La la la," okay?
Okay, clueless newbies - we're all alone together. Come closer. Closer! Good. Here's the deal.
Spaces is all about straightening out the clutter of windows on your screen. What is the biggest problem with windows? It's that there are always too many of them, and most of them are covered by other windows. Thanks to Mac OS X's great memory management, you can run lots of applications at once, and you can have lots of windows open at once; but, no matter how big your screen is, you usually can't actually see all of more than one or (at most) two windows at the same time. Everything else is just a big overlapping mess. And on Mac OS X, as opposed to earlier Macintosh systems, it's even more of a big overlapping mess because the windows of different applications can end up all intertwingled with one another.
The result is that when you're trying to get anything done that involves working in more than one window at once, things get difficult. There's a window in front, and then there's everything else, little corners and title bars sticking out here and there, like the aftermath of a wild game of Fifty-Two Pickup. Where is the precise other window you need to be able to see at this moment? You have no clue.
Notice, please, that I keep talking about windows - not applications. When you come down to the nitty-gritty, getting complex stuff done on your computer is not really about applications; it's about particular windows. Those windows might come from any applications: they could be different windows of the same application, or windows from various different applications.
That's why the simple tools available to you for switching between applications are never quite enough. For example, you can simplify the display on your screen by choosing Hide Others from the frontmost application's menu. Now only the windows of this application are showing. But perhaps you really want to see just one of this application's many windows, plus one window from some other application. So first you might scurry around minimizing the windows from this application that you don't want to see. Then you have to switch to the other application, making it visible, and find its desired window and bring it to the front and position it. Then you have to switch back to the first application. Now you can work in both windows. Great, but what happens when you suddenly need a different window from the first application? You have to hunt for it in the Dock, and when you expand it, there it is, blocking everything and complicating the picture. Or perhaps you need a window from a third application: you bring that application to the front, and presto, all of that application's windows are plastered all over the screen, blocking everything and complicating the picture. Is it any wonder tabs have become so popular?
Spaces is all about this problem. It lets you work with sets of windows. That's all a space is - a particular set of windows. When you are "in" this space, just this set of windows is visible. When you switch so that you are "in" a different space, a different set of windows is visible. In the previous paragraph, I was trying to make two points: (1) it's hard to arrange things to see just the small set of windows you need for Task A, and then, (2) when you want to perform Task B, bringing different windows into play complicates the whole picture. With Spaces, Space A could consist of just the windows you need for Task A, and Space B could consist of just the windows you need for Task B. You can then switch between spaces, meaning visible window sets, and everything stays simple: you are always seeing all and only the windows you want to see.
So the main thing Spaces is about is switching spaces. In fact, you can turn Spaces on and never switch spaces, and then you won't even know or care that Spaces is on! You'll be living in exactly the same world you always lived in. In fact - oh my gosh! We'd better actually turn Spaces on, or all the rest of this discussion is going to be pointless! So, do this:
Choose Apple Menu > System Preferences. Click Exposé & Spaces. Click Spaces. Check "Enable Spaces." Whew! Now Spaces is on.
So how do you switch spaces? There are four (count 'em, four) ways:
- All Spaces mode. This is what you get when you press F8, or click the Spaces icon in the Dock. (If you don't see the Spaces icon in the Dock, drag it in from the Applications folder.) It behaves a little like Exposé, in that it provides a reduced, schematic version of the world: all your spaces are shown at once, in a grid, and now you can click one to switch to that space. This is nice because you can sort of see what windows are in each space. Plus, if you want to get really cool, while you're in All Spaces mode you can press F9 to enter Exposé's All Windows mode, and now each individual space shows each of its individual windows (which are getting pretty tiny at this point) and you can click a window to pick a space and a particular window all at once! (Note: I'm saying "F8" and "F9", but those might not be your actual shortcuts for these actions, because they are customizable.)
- Use the Spaces menu. If you don't see the Spaces menu, check "Show Spaces in menu bar" in the Spaces preference pane in System Preferences. It displays nothing but numbers: the numbers of your spaces (1, 2, and so on). Choose one to switch to that space.
- Use a number. By default, the number shortcuts for switching between spaces involve the Control key. So, press Control-1. Now press Control-2. Congratulations, you just switched spaces.
- Use an arrow key. This is trickier, because it relies on a concept I haven't introduced yet. You see, your spaces are imagined as lying in a grid. You can see this imaginary grid in the Spaces preference pane where we just were a little while ago. By default, there are four spaces, and the grid is a 2-by-2 rectangle. (This grid is customizable - you can change how many spaces you have and how the grid is arranged - but for this example I'm pretending you haven't yet departed from the default.) So if you are in space 1, you can switch to space 2 by pressing Control-Right arrow, because space 2 is imagined as being to the right of space 1; but, again, if you are in space 1, you can switch to space 3 by pressing Control-Down arrow, because space 3 is imagined as being below space 1. Feeling a bit seasick? Maybe it would better not to use this way of switching between spaces until you are a certified expert (or just plain certified).
There is one more elementary concept connected with Spaces that we need to get clear on: How does a window come to be in a particular space to start with? Well, there are two ways:
- You created the window while you were in that space. For example, you are in space 2, and you start up TextEdit. TextEdit wasn't running before, and when it launches it creates a new window. So you are in space 2 and you are creating a new window, and therefore that new window will be in space 2. Of course there are many other ways to create a new window in various applications.
- You moved the window from one space to another. Huh? Since you can only be in one space at a time, how can you possibly do that? Well, if you're in All Spaces mode, you can actually drag a miniaturized window directly from one space to another. Or, while you are in one space, hold the mouse down on a window's title bar and switch directly to another space with a keyboard shortcut; the window will travel with you to the new space. Or, drag the window to the edge of the screen and pause with the mouse still down and at the screen's edge; you'll switch spaces automatically, bringing the window with you. Keen, eh?
That's all there is to know about elementary use of Spaces. I'm not going to talk about "application bindings" right now; it's too advanced for this discussion (you can learn more about that by experimentation, or you can check out my new ebook, "Take Control of Customizing Leopard," for more info). But there is just one point that I want to leave you with as you start experimenting with Spaces, and it's this: Spaces is complicated but simple. It's complicated because there are lots of different scenarios, but it's simple because Spaces always does "the right thing."
For example, let's say you've opened TextEdit in space 2, and that's the only place where any TextEdit windows are. And let's say you're now in space 1. And let's say you use the Dock, or Command-Tab, to switch to TextEdit. What will happen??? Well, what's the right thing? TextEdit's windows are all in space 2, so the only sensible thing is that you should automatically be switched into space 2 so you can see them. And sure enough, that's exactly what does happen. I could go on and on positing various scenarios of greater and greater complexity, but that's pointless; all you need to know is that Spaces will behave sensibly and simply, and that you'll catch on to its logic almost immediately with a little experimentation.
So, congratulations: You are no longer a clueless newbie. You're a clued-in newbie! With a little practice, you will soon find ways to use Spaces that will make your computer life simpler and easier. I can't tell you what they are because I don't know what kind of thing you do. Perhaps you'll usually have a space for all your Internet apps and another space for all your writing apps. Perhaps you'll have spaces for certain particular tasks that you typically perform. It's all up to you. I do have one piece of advice, though: Try it, you'll like it! Whether you've got a big multi-monitor setup or a tiny portable screen, Spaces has the potential to make your life a lot easier. You simply have to remember to use it. With a little practice, you will.