When application developers open the stark black box containing the four CDs of Apple Computer Inc.’s “Panther” OS, they’ll get more than the newly polished end-user experience of what’s already the world’s most widely used version of workstation Unix. That fourth CD contains Xcode 1.0, Apple’s integrated development workbench for AppleScript, Java, and native C/C++/Objective-C applications.
Panther itself installed without drama on our G4 PowerBook, which had no system software on it that Apple would not expect to find there. Choosing the option of archiving our previous system (10.2.6) and installing Panther as an upgrade, we found all of our settings and account customizations preserved—with the sole exception, so far as we’ve noticed, of needing to re-specify the image files to be used as our login-screen icons. (We have a really vivid biohazard logo that we use for administrator logins, just to remind us of the hazard potential of running in that mode.)
Opening an existing project, from the extensive array of examples that we found following Xcode installation, triggered a busy but unobtrusive display of status-bar messages as our project control center began indexing all of the associated files. OS X’s robust multitasking was not visibly burdened by this background activity, even on our single-processor G4 PowerBook: In fact, these notes were written in a user session at the same time that we were building a series of applications, in background, under a concurrent administrator session using Panther’s new Fast User Switching feature.
With indexing finished, we easily located any occurrence of any string in any file associated with our project; within a source code file, the Xcode editor offered us quick drop-down access to any defined symbol, such as a function name.
Developers know, even better than most users, that multiple windows quickly become an overlapping jumble: Developers who work on small-screened laptops will take special pleasure in Panther’s new Exposé feature that offers rapid access to any window, or any window of the current foreground application, or to the Mac OS desktop.
By default, these three different views are each toggled by a different function key, but we quickly took advantage of the option of mapping Exposé modes to corners of the screen: Moving our mouse pointer to the top right corner, for example, now shrinks our windows as needed to make them all visible, and lets us bring any window and its application to the foreground with a single click. It’s much more convenient than Alt-Tabbing our way around the ring of open apps.
Other notable signs of OS X’s increasing maturity are optional password-protected resume from sleep mode or screen saver, not to mention Panther’s optional encrypted file storage—with an enterprise-essential master key capability. Leading-edge projects will want to explore the distributed-build feature of Xcode that spreads the workload across idle machines or a dedicated build farm; basic projects will take shape more quickly with Xcode’s precompilation and other behind-the-scenes aids.
We’re just getting started on exploring Xcode’s AppleScript development capabilities, as well as its facilities for importing CodeWarrior projects. But what we’ve seen already is a developer’s suite that holds its own, running in a dazzling environment that we suspect will soon feel like second nature.