Spaces: Apple's take on virtual desktops

22.11.2006
Last month, I talked about , the revolutionary backup tool that will be built into Mac OS X 10.5, or Leopard, the next release of Apple's operating system that's due out early next year. Although Apple has been mum on many of the details of Leopard, CEO Steve Jobs did preview some of the coming attractions back in August. This month, I'm looking at another of those new features in Leopard that has gotten a lot of attention -- and engendered a fair amount of informed speculation -- among Mac fans: Spaces.

What is Spaces?

Simply put, Spaces creates virtual desktops. A virtual desktop acts like an imaginary second display, allowing you to position a number of windows among various virtual desktops. You can also switch between them, in effect turning your head to look at a different "physical" screen.

As with using multiple displays, the advantage of virtual desktops is that you can organize the various applications and windows that are displayed at any given time without closing them or minimizing them to the dock. You can still have windows from a dozen applications open -- but you're not distracted by all of them overlapping each other. Of course, virtual desktops are much less expensive than purchasing multiple displays (which isn't really an option at all when you're working on a MacBook in a coffee shop or library).

For example, if you're a graphic design student, you might be in the college library with your MacBook working on a project with multiple Photoshop, Illustrator, Word and Quark windows all open at the same time. You might also have iChat and Mail open, too. And if you've got headphones with you, chances are that iTunes is running. That's a lot of windows for a single 13.3-in. screen. Enter Spaces, which allows you to group together all of the windows related to your school projects on one virtual screen, or Space, and have another screen for e-mail, iChat and iTunes. Even better, you can create a different Space for each project -- or piece of a project -- you're working on, perhaps using Spaces to group all of your Photoshop and Illustrator windows together while keeping the Quark and Word windows for text and layout apart.

All Spaces will have the same resolution or screen size, which is determined by the display settings for your computer. If you change the display resolution of your computer, each Space will be affected, too.

Switching between Spaces

Apple's design of Spaces makes switching between each one very simple. You can click the F8 key (a hot key that can be changed in System Preferences if your F8 is otherwise in use) to display a virtual map of your various Spaces and then select the one you want with the mouse. (It's much like the way Expose allows you to see all of your open windows and then select one). You can also press the command/Apple key and one of the four arrow keys. That allows you to switch to whichever Space is "next" to the one your using. The arrows correspond to the virtual map of the Spaces you've created. When you press the F8 key, you can even drag individual spaces around to reconfigure the virtual map.

Not only can you rearrange Spaces while viewing this virtual map, you can easily drag windows from one space to another. In the earlier example, you might opt to drag a Photoshop window into the same Space as a Quark document. That way you could see how well the image you're working with fits with other elements on a page. This also reflects another point: Spaces are as much about organizing windows as applications -- an application can have multiple windows in different Spaces. Not surprisingly, this ease of interaction between Spaces is one area where Apple has excelled in designing the usability of a virtual desktop solution.

What about the finder, dock, Expose and application switching?

In designing Spaces, Apple had to make choices about how various standard OS features would interact with multiple virtual desktops. The first of these features is the dock. Apple could have chosen to display the dock in only one Space (much as it's displayed with multiple physical displays). Or it could have displayed it in each Space, showing only the applications running in that Space. It wisely chose neither approach. Instead, it made the dock display consistent in each space -- meaning that it looks identical in every Space, with all running applications shown, regardless of which particular Space contains the windows for that application.

When you select an application -- either from the dock or by using the application switcher key combination (command/Apple-tab) -- whose front-most window is in a different Space than the one you're currently using, you will automatically be switched to the appropriate Space. It's a little unclear how Leopard will determine which window is front-most if an application contains windows in multiple spaces. It seems logical that the most recently used window will be selected, much as the application switcher always displays the most recently used application as the next choice. But for those kinds of details, we'll have to wait on Jobs and company for more information.

Expose will also be closely integrated with Spaces. This means that you will be able to see all windows in all spaces using Expose, offering a quick and easy way to locate and switch to specific windows among multiple Spaces.

It also appears that the finder, or more accurately, the finder items on the desktop (as opposed to finder windows) will display consistently across all spaces. This makes sense because you typically place items on the desktop that you want convenient access to. It also provides easy access to all mounted hard drives, optical disks and share points (assuming you have the finder set to display them on the desktop).

Configuring Spaces

Spaces will be configured using System Preferences. It appears the feature will actually be built into the same pane that now handles Dashboard and Expose settings. By default, four Spaces will be available, but users can define more Spaces if they need them by adding rows and/or columns to the virtual map. Exactly how many Spaces can be defined is still unclear -- some Mac users have suggested that the number will be limited to nine; others say it could be more than that. (While technically possible, having more than nine Spaces would push the limits of ease of use.)

Spaces also appears to support the ability to bind applications to them. This means that you can specify a Space for an application to launch and open new windows in. If you don't set such a binding, then presumably new windows will open in the currently active space.

Who benefits from Spaces?

Power users and anyone who works on a large number of projects will likely benefit from Spaces. One of the limitations of previous virtual desktop solutions has been ease of use when it comes to locating specific windows or moving items from one virtual desktop to another. By integrating Spaces with Expose, Apple has managed to overcome that limitation, making the concept much more accessible.

People used to working with multiple displays and other virtual desktop solutions will probably adapt to Spaces pretty quickly. Likewise, people used to products such as Parallels Desktop or Virtual PC, which run a guest operating system on a Mac, will also get the hang of Spaces easily. For most people, however, Apple's intuitive approach will mean that there is a very subtle learning curve.

Virtual desktops does not mean virtualization

One point of confusion I've seen is some people compare virtual desktop technology like Spaces with virtualization technology. Virtualization, which powers Parallels Desktop (and less dramatically, Apple's own Classic environment in earlier versions of Mac OS X), works by running a second operating system in a restricted environment alongside the primary OS of a computer. That environment can be started, stopped and, in some cases, paused without affecting the primary operating system. Virtual desktops, by contrast, are simply organizational tools. All applications are still running in the same Mac OS X environment with each other -- and they continue running and working regardless of whether or not you switch to a different virtual desktop or Space.

Not a new idea

Although this is the first time Apple has included a virtual desktop feature in Mac OS X (or the classic Mac OS, for that matter), it is not a new concept for computers or even for Macs. Virtual desktop technologies, including third-party Mac utilities, have been around for multiple computing platforms since the mid-1980s.

Although virtual desktops have been available for quite some time, they have been used mostly by users of Unix and Linux. Part of the reason is because of the way the X Window System, which provides a graphical user environment for Unix and Linux, led to the inclusion of virtual desktops early on. As a result, their use has become a common feature in many Unix desktop environments. This contrasts with other operating systems like Mac OS X or Microsoft Windows, where a virtual desktop tool is a third-party add-on that users must locate, buy and install themselves.

Another reason virtual desktops may be more common among Unix and Linux users may be that Unix-style operating systems are not often used by consumers. Because the people using these operating systems are typically performing more high-end computing tasks and working on many more complex projects than surfing the Web and checking e-mail, the organizational uses of virtual desktops are more readily apparent and valuable.