Road to Mac OS X Leopard: SpacesSpaces is an entirely new feature in Mac OS X Leopard, but the idea of virtual desktops —and multiple desktops —has been around for a long time. Here's a look at what's new and different about Apple's approach with Spaces, why virtual desktops have run into problems before, and how well Leopard's Spaces actually works in practice.
This report goes to great lengths to provide an understanding of the origins, history, and maturity of virtual desktops (Spaces). For those readers with limited time or who are only interested in what's due in Leopard, you can skip to the bottom of page 2 of this report.
The Origins of Spaces: Xerox Rooms
The idea of using multiple graphical desktops on a single system for a single user dates back into the mid 80s. It's probably not surprising that the first implementation of virtual desktops originated at Xerox PARC, the Mesopotamia of graphical computing. Xerox patented the idea in 1986 under the name "Rooms." The idea of Rooms was to allow the user to expand their view of the graphical desktop into off-screen areas, and call up specific "Rooms," or regions of the virtual desktop, in screen-sized chunks.
In the early 80s, Apple brought elements of Xerox's graphical desktop computing to the consumer market for office and home users. It described the Mac's graphical environment as a "desktop," and used office jargon to represent the computing ideas of executables, files, and subdirectories as 'applications, documents, and folders.' Limitations of the Mac operating system —largely constrained by the high cost of RAM —meant the Mac couldn't support multiple concurrent applications as its more expensive predecessor the Lisa could, as noted in the article Office Wars 3 - How Microsoft Got Its Office Monopoly. That limitation gave early Mac users little reason to need multiple desktops; there was really nothing to do in them.
The Mac Switcher and Multiple Desktops
The rapid pace of technology continuously inspired new applications and demands for new functionality, however. Within a year, Andy Hertzfeld delivered his 1985 Switcher, inspired by a text based DOS utility. A couple years before Switcher Ellen Feiss was even born, Hertzfeld's Switcher allowed Macs to shuffle applications in and out of the limited RAM available, sliding one application off the screen and another into view at the press of a key. Hertzfield related the story of its development at Folklore.org: Switcher.
Switcher was succeeded by the MultiFinder in 1987, which allowed Mac users to switch between multiple applications all running together within the same desktop. That same year, Apple released the Macintosh II and the Mac SE/30, two new systems that introduced color graphics support and the first Mac architecture for using independently upgradable graphics cards. Along with that new hardware came new software: Color QuickDraw.
Color QuickDraw also delivered the industry's first support for multiple monitors. With more than one video card installed, users could plug in multiple displays, with each showing an independent chunk of desktop space. Since the displays were stitched together as part of a large virtual desktop area, windows could be dragged from one screen to another, or even sit on the border spanning two displays. Some applications needed to be updated to support multiple monitors, because they made assumptions about a single display, including where notifications should be placed on the screen.
As the Mac entrenched into desktop publishing and graphic design, this unique capacity to effortlessly use multiple displays became a key feature. Multiple monitor support was particularly useful because buying two standard displays was much less expensive than buying one large monitor with of the same total resolution. Apple's graphic designer user base didn't demand virtual desktops on the Mac because they wanted to see those multiple desktops at once on real displays.
Multiple Screens on the Amiga
Other companies developing graphical desktops took different approaches to serve the different needs of their users. Commodore's Amiga in 1985 followed a unique path in referring to its graphical environment (and Finder analog) as the "Workbench" rather than using an office desktop metaphor, as Apple did with the Mac. The Amiga similarly used workshop jargon for its executables, files, and subdirectories, calling them 'tools, projects, and drawers.'
The Amiga also pioneered the use of specialized hardware for graphics acceleration common to video games. This positioned the Amiga as ideal for use in video and color graphics work, as its video output could be synced or overlaid on top of a video signal. While the Mac was performing desktop publishing to laser printers, the Amiga was cranking out photorealistic color graphics and video content.
The Amiga's unique needs for targeting different resolutions of video inspired the development of 'multiple screens,' which could display multiple concurrent applications running at different resolution and color settings, switch between them instantly, and even display them simultaneously on portions of the same screen. Because Amiga users worked from a single monitor, the idea of multiple virtual displays on that screen —taking advantage of the hardware's ability to render multiple resolutions at once —made sense.
On page 2: Virtual Desktops of the X Window System; Windows' Virtual Desktop Problems; and Mac OS X's new Spaces.