Aug 97 Viewpoint
Volume Number: 13 (1997)
Issue Number: 8
Column Tag: Viewpoint
by Eric Gundrum
Every few months I find myself in a situation where I have to move my workspace to another computer. The most recent occurrence was when I sent my powerbook in for repair. This activity reminded me yet again how poorly organized is the MacOS directory structure.
By workspace I mean all the software I use in my work. This is pretty much everything on my hard disk, but it shouldn't be. In an ideal world I could copy a bunch of folders to another computer (or just move their hard disk), tell the computer to use the newly copied workspace, and this other computer would suddenly behave exactly like the one I copied from. Seems sensible, doesn't it?
Enter the Real World
So, why doesn't this work in the real world? First, there is no concept of transportable workspace in the MacOS. The workspace is intimately tied to the System Folder of any given Mac. We customize our workspace by adding Control Panels, Extensions and other goodies to a System Folder. To make matters worse, third party software developers customize our workspace for us by adding their shared libraries, preference files and other items to the System Folder. One result of all this is that every System Folder is unique.
The most practical way to transport a workspace to another Mac is to copy the System Folder in addition to all the other files, but what if that System Folder is not configured for the new hardware? Every model Macintosh requires special resources provided by the Installer. Unless our transportable System Folder was created to run on every Macintosh, it probably wont run on any model other than the one it came from. Network settings are specific to a given hardware configuration, too: IP numbers are different, as are machine names, and possibly even network hardware (Ethernet or LocalTalk?). There are numerous other problems that make moving the System Folder difficult; I rather not have to touch it.
A Better Solution on the Way?
Imagine having a Workspace folder where applications can store preferences, shared libraries and other shared resources, all in a well organized hierarchy. It would also contain an Extensions folder where I can place my favorite software for customizing the operation and appearance of my workspace. The System Folder would remain untouched by third-party software and remain specific to the computer hardware. I could move my Workspace folder to any computer, tell that computer which workspace to use, and immediately have all my personal system tweaks, applications and documents available on the new computer. Such a workspace could even be made available over the network.
Does this begin to sound like the user account system of NEXTSTEP? NEXTSTEP offers some of the benefits of a transportable workspace, but at a high price: the host system must always be available to the client computer through the network. This requirement is unrealistic in our mobile computing environment; we just don't have enough bandwidth yet. I'd much rather carry a removable hard disk cartridge than launch my applications through an Internet T-1 connection. There also are many times when I have to supply my own computer, so I carry that along as well.
Making Workspaces a Reality
How can we make this happen? How can we graft the workspace concept onto the existing MacOS? How can we convince Apple to build Workspaces into a future OS? Unfortunately, it seems everyone and their brothers insist on placing their files in my System Folder. The first step is for software developers to begin using the FindFolder API with folder selectors for the Application Support, Shared Libraries, Preferences, and other special folders, and for them to stay out of the System Folder, Extensions and Control Panels folders as much as possible. Better yet, application developers can register their own shared library folder (and others) with the System and use FindFolder to access it. Then we users can move the "special" folders anyplace we want.
The next step is to get Apple to build the concept of workspace into the OS. They already have many of the pieces, but the Apple folks I've spoken with don't see the value of supporting multiple or transportable workspaces. I'm sure anyone who has managed shared access of many people to a limited number of computers will recognize the value of unique workspaces and locked System Folders. In fact, people in the institutional communities are already working on Web-based solutions to this problem.
The benefits of workspaces also affect individual users: imagine being able to store your workspace on a PC Card. Want to take a few documents home from work? Copy them to your workspace, pull the card from your office computer, and plug it in when you get home. Your home computer is immediately converted from your daughter's configuration to your work configuration. This same mechanism can be used for sharing portable computers (or desktops) in an office environment. No longer would people have to spend hours configuring a new machine to meet their needs: they just plug in their workspace.
This whole concept of workspace is just one small step to making computer easier to use. In recent years computers have become much more sophisticated, with ever more powerful processors and software to use them, but computers have not really become any easier to use. Many people spend several hours each week moving files around and otherwise organizing or cleaning up their computer file systems. Intelligent workspaces are another tool to help reduce the housekeeping chores of computer users. Now, if only we can convince Apple to make it.