Aug 97 Viewpoint
Volume Number: 13
Issue Number: 8
Column Tag: Viewpoint
by Eric Gundrum
Intelligent Workspaces
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.