Personal operating systems

Last week I upgraded to the 10.4 ("Tiger") version of Mac OS X, and I've been getting acquainted with its new features. The headline attractions are Spotlight (for search), Dashboard (for lightweight applications), and Automator (for scripting). Although I'm happy to have them, none seems likely to make me wildly more productive. That's not entirely Apple's fault, though. As the boundaries between desktop systems and the network continue to blur, it gets harder to deliver value purely in the form of OS or application upgrades.

Consider Spotlight, OS X's new search engine. It works so quickly that, while composing this sentence, I was able to search for "so quickly" and find the file I was in the midst of writing. Other aspects of Spotlight are less compelling, however. The advanced query syntax should be more accessible and better documented. Search results should embed the found words in contextual wrappers.

Even with such improvements, Spotlight wouldn't be indispensable to me. As I noted back in January, desktop search feels like an anachronism in 2005. Increasingly, my data lives in the network. There, it's searchable in the same way from any of the various machines I regularly use. And when I choose to make it so, it's also visible to colleagues or to the Web's aggregation engines. Enhancing these tasks will matter much more to me in the coming months and years than indexing my local hard drives will. [Full story at]

In fairness, I'm only a part-time resident of OS X. According to Phil Windley, who lives there fulltime, Spotlight has been more transformative "than anything I can remember since I first started using X Windows 18 years ago." He adds:

Spotlight is more tightly integrated into the OS than something like Google's desktop search since the OS ensures that every data operation automatically updates the index. [Technometria: Where's my stuff?]

Such close observation of our activities is, arguably, the ultimate challenge for all personal operating systems. Transactions with the file system are only one of several crucial spheres of observation. Others include transactions with specialized datastores (e.g., the Windows registry), with the network, and with the user interface. A software probe stationed in each of these realms would see a stream of events. And today it's far more practical to record and analyze lots of those events than it was back in 1995, when the Win32 event log API was jettisoned from Windows 95 to streamline the OS for that era's 4MB boxes. Now, detailed event logging seems like a great way to spend our local surplus of cycles and storage.

At the end of this week's column, in the context of Apple's Automator, I suggest we should be using such event data to make our systems far more adaptive. On both Windows and OS X, for example, I often switch to an alternate view in the Open File dialog. That's clearly my preference, but these systems never seem to notice or to react helpfully.

We could do all kinds of things with a rich event history. It would, for example, make local search even more useful. Finding words in files is great, but it only taps into a fraction of the power of our associative memories. Projects like David Gelernter's LifeStreams and Gordon Bell's LifeBits, which organize everything on a timeline, are exploring ways to recreate prior contexts. To do that you need a general way to represent and store events.

You also want to be able to share those events. Once my preference for viewing File Open dialogs has been adaptively learned, why shouldn't it migrate into the network and thence to any box (for extra credit: running any OS!) I happen to be using? Beyond selfish convenience, there's a vast potential here for collaboration. Teams use common applications and data, but there's no easy or natural way to pool our personal customizations of those resources. Why shouldn't systems adapt to teams as well as to individuals?

This kind of adaptive intelligence is what most people always expected of computers, and its failure to materialize accounts for their widespread dissatisfaction with the status quo. Let's suppose I'm right in thinking that event capture and analysis will be an engine of progress on this front. What infrastructure could support the various spheres of local activity and also embrace the network? I have great long-term hopes for Microsoft's push, with Indigo, to make Web-services-style messaging "the new TCP/IP" -- a standard high-performance communication layer that carries self-describing messages and is open to arbitrary kinds of intermediation either locally, or in the cloud, or both. It won't be easy to execute this stunt. But I applaud the effort, and I've got my fingers crossed.

Former URL: