Apple Computer Inc.s Mac OS X 10.4 offers developers the first broadly used client platform on which to explore application interactions with data—especially with metadata—across world-spanning networks that merely begin with local storage. The 10.4 “Tiger” release represents the flip side of the Macs debut in 1984, which challenged developers to take a new view of the interaction between a single user and the outside of the machine. Tigers metadata capabilities demand equally original thinking about what happens within.
Users will see the Spotlight feature of OS X 10.4—which Apple markets as an always-available, multiattribute data-retrieval tool—as a way to escape the restrictions of hierarchical storage models. Spotlight will make it easy, for example, to seek e-mail messages that mention a particular date without an elaborate upfront database design or a time-consuming ad hoc search.
Spotlights included portfolio of metadata importers ensures that common types of files all feed their relevant data into the system. The resulting transparency is impressive and crucial to user acceptance—as shown by the chronic past failure of third-party indexing systems to become pervasive on any mass-market platform.
Spotlight is only one face that can be worn by the underlying metadata storage and indexing technology—the Spotlight Store, as some developer documents call it—thats always actively monitoring OS X file system activity. Developers who take the time to master the OS X metadata query language and to craft the needed interfaces between application-specific data formats and the metadata system will be able to offer their users much more.
The basic capability and responsiveness of the metadata system can be readily observed from the Tiger desktop. Clicking on the Spotlight icon at the upper right of the screen and entering some unlikely phrase as the search target will produce few, if any, results. Opening the TextEdit application, typing that same phrase into a new file and saving the file with a completely unrelated name will briefly bring to life the mds (metadata store) and mdimport (metadata import) processes, which can be seen by having OS Xs included Activity Monitor utility open and displaying all Active Processes.
Clicking on the Spotlight icon again will redisplay the previous search request, but the newly created file will immediately be returned as a new candidate—most likely as the top hit, if not the only result—without user intervention to request reindexing or to perform any other metadata maintenance.
A developer using the OS X 10.4 Core Services framework has access to a metadata query language into the Spotlight Store that can define far richer and more specific requests than those available from the end-user Spotlight interface. Apples developer documents include, as an example, a four-line query that will locate all known items that have the word “Tiger” in their content and were used in the previous 24 hours but arent an e-mail message or a contact in the Address Book.
Many productivity tools might benefit from this capability, with its systemwide scope that goes far beyond the limited and fragile “recently used files” menu item in most applications. Complex metadata queries can also be built by users by choosing the Find command in Apples desktop manager, whose name, Finder, has never been better deserved than in the 10.4 release.
Metadata Importer plug-ins are among the many new project types offered by the Xcode 2.0 development workbench that was included, although not installed by default, on our OS X 10.4 distribution DVD. The Xcode environment, which we already admired in OS X 10.3s initial version of the tool set, has been substantially improved in many other respects. Version 2.0 offers developers visual class-modeling aids to ease understanding of complex applications, with similar tools for data modeling.
Xcode 2.0s integrated search tools for source code, developer documentation and online resources reflect a bottom-up design that assumes always-on connectivity. Its transparent background operations, such as source code indexing and project builds, and major new optimizations from the GCC 4.0 compiler behind the scenes, will also pay dividends in more rapid generation of faster code.
Even developers with no particular interest in Apples platform-specific frameworks will find in Xcode 2.0 a comprehensive slate of Java, C and C++ project types, including command-line utility development. Yes, its a Macintosh, but its also a Unix workstation—an alternate personality that users are surprisingly free to ignore but an OS X aspect that many developers find attractive to exploit.
Technology Editor Peter Coffee can be reached at [email protected].