Volume Number: 15 (1999)
Issue Number: 7
Column Tag: Conference Report
WWDC '99 Trip Report
by Marshall Clow
Mac OS X comes out of the closet
On May 10-15th, 2500 Macintosh developers came to San Jose for Apple's annual Worldwide Developer's Conference (known to all as WWDC). I have attended many WWDCs, and they have ranged from celebrations (1991, when System 7 shipped), to dismal (1997, in the depth of the Copland era).
This WWDC was certainly more upbeat than the last few. This was helped by the fact that Apple was doing well as a company, but also because Apple had concrete information to distribute to developers. Many previous WWDCs have contained presentations on programs that would never ship and a few (client-client-server computing leaps to mind) were never heard of again after the week was over.
Monday morning started way too early, with Steve Jobs and Avie Tevanian giving the opening keynote. Steve spent quite a while comparing Apple's current position (financial, technical, marketing, and market share) with that of one year ago. If you remember, last May there was no iMac, no Mac OS 8.5, no blue and white G3's. Apple has made a remarkable turnaround in just one year.
Steve pointed out that making a profit for five quarters in a row had quieted the "death spiral" brand of journalism, and that the iMac had become an image that people were seeing over and over again, and not just in Apple advertisements.
He talked about shipping products. He mentioned Mac OS X server, System 8.5, and announced that Apple was shipping that day (May 10th) System 8.6. He talked about shipping Sonata, the next iteration of Mac OS this fall.
The next year
Steve and Avie then gave a roadmap of Apple's plans for the next year.
The basic hardware direction can be summed up as "Better, Stronger, Faster". They showed the familiar 2 x 2 grid of products, but did not talk about the missing square (the consumer portable). Apple probably will be (but did not commit to) shipping machines based on the G4 processor this year.
Then Steve announced new the PowerBooks. They are similar to the old ones, except for being thinner, lighter, faster, and cheaper. Oh yes, they have better battery life, too. "Better, Stronger, Faster" sounds good to me!
The software direction is two-pronged. Sonata (which will probably be called Mac OS 8.7) will ship this fall. Mac OS X will ship "early next year".
Mac OS X
There were many, many sessions on Mac OS X. There were so many, in fact, that if I gave a thorough rundown on each session, there wouldn't be any room for any other articles in this issue of MacTech! Look for in-depth articles about specific Mac OS X technologies in the months to come.
Apple gave each attendee a CD containing Mac OS X Preview Release 1 (hereinafter referred to as PR1). PR 2 will be sent to developers in the fall, and then Mac OS X 1.0 will be released early next year.
Mac OS X is built upon a Mach kernel, with FreeBSD 3.0 providing the operating system services. There are four (yes, 4) different execution environments. They are:
- "Classic", formerly known as "The Blue Box". This is a Mac OS 8 emulation environment that should run Mac OS 8 apps and extensions unchanged. However, these applications will not be able to take advantage of the new features of Mac OS X, such as protected memory and preemptive multitasking, but if a crash occurs in Classic, it should only bring down the other Classic apps, and not the entire machine.
- "Carbon". Apple announced this at last year's WWDC. The plan is to go though the Mac OS 8 APIs, and remove the ones that prevent applications from taking advantage of Mac OS X features. About 20% of the current APIs will be removed; but in exchange, apps will get memory protection and preemptive multitasking, as well as access to other Mach/BSD services. The big news here was that AppleTalk is one of the Mac OS features that will not be available in Carbon. This caused quite a hue and cry from developers, so I expect that this will change before Mac OS X ships. After all, if you don't have AppleTalk, how can you print to your LaserWriter?
- "Cocoa", formerly known as "The Yellow Box". This is Apple's recommended path for new development. This is the land of NextStep. Although Apple didn't make a big deal of it, this is the environment for Objective-C programmers. The presenters talked a lot about Java development for Cocoa.
- The Unix command line. Since the underlying OS is Unix, all the power, glory, and pitfalls of Unix are here too. I wondered if this would be part of the default installation of Mac OS X, or it would be an optional package, but didn't get a definitive answer.
Steve and Pete Schiller gave a demonstration of Cocoa applications. The first one was called "Finder.app", and was touted as a replacement for the Finder. To everyone's surprise, it appeared almost identical to the NextStep file browser! Steve talked about how easy it was for novices to learn to manipulate local and remote file systems in this manner. The assembled developers greeted this with stunned silence.
Mac OS X Graphics
Apple showed an entirely new graphics architecture at WWDC. Based on PDF, but including both transparency and compositing, it is code-named "Quartz". The demonstrations were very impressive; I am looking forward to playing with it when I have a bit more free time. Unlike NextStep, which licensed Display PostScript from Adobe, this implementation of PDF (another Adobe technology, which I happen to work on), was developed independently and is therefore royalty-free.
Graphics and Printing are intimately tied together, and Apple has a new printing architecture to go with the new graphics architecture. It uses PDF as its' native spooling format, and it supports "classic" printer drivers as well as (new) Mac OS X-specific drivers. There's a lot of good design work here, but not a lot of the code made it into PR 1. Expect to see a lot more about this as the summer goes on.
QuickTime 4 was a big deal at WWDC. Since Apple showed QT 4 at MacWorld San Francisco in January, this was no surprise. However, the depth of the features took most people by surprise.
The new QuickTime player supports a whole laundry lists of formats, but the most intriguing is MPEG 3, the commonly used format for music.
Developers were enthusiastic about the "graphics importers" and "graphics exporters" that were introduced in QT4. Now developers don't have to write code to read and write many different file formats. They can just call QuickTime, and it will do all the translation for them.
The Apple representatives were very enthusiastic about the new streaming video capabilities of QuickTime 4 and Mac OS X server. Apple has put the relevant portions of the Mac OS X server under the Darwin open source license, so that other people can create streaming QT servers. Steve Jobs made this point clear in his keynote; Apple is clearly targeting Real Networks. He pointed out that a RealAudio server can cost up to $100 for each concurrent connection, but the QT4 streaming server was the same cost no matter how many connections you are serving.
Security and Encryption
There were three or four sessions devoted to Apple's upcoming security and encryption architecture. This architecture, based on Intel's Common Data Security Architecture (CDSA), will be seen first in Sonata in a limited form. The feature that users will immediately benefit from will be the return of the Keychain.
The Keychain, for those who don't remember, was originally part of PowerTalk, Apple's attempt to integrate email, data sharing, and other collaboration features into Mac OS 7.1. Unfortunately for Apple, the Internet was taking off about the time that PowerTalk shipped, and most people opted for systems based on TCP/IP and open standards. The Keychain is a utility for securely storing authentication information. For example, you can store the username and password that you use to access a volume on an AppleShare server in the Keychain. The next time that you attempt to mount that volume, the system can look up the username and password and use that to log you on without asking you again.
But wait, I can already hear you asking me: "Doesn't that mean that anyone can log on as me, if they are sitting at my machine?" To quote a television ad, "Not exactly." The Keychain must be unlocked to be used. It is unlocked by entering a password, and automatically locks itself again after a period of time settable by the user. So, when you log onto the first AppleShare server, you will be asked to unlock your Keychain, but you only have to type in one password.
Besides AppleShare, other programs can use the Keychain to store authentication data. Anarchie 3.5 can store URL/username/password sets to FTP sites on the Keychain, and beta versions of Eudora 4.2 can use the Keychain to store email passwords. There was some work done at MacHack last year to make Mozilla use the Keychain to handle authentication for web sites as well.
Apple is also bringing back another feature of PowerTalk, digital signatures. Without getting into some heavy math, digital signatures are analogous to paper signatures, but with the added advantage of being able to tell when the signed data has been modified. This will come in handy for virus detection, at the very least.
Mac OS X File Systems
Apple has a somewhat confusing message when it comes to file systems, but that's more because the situation is complicated than anything else.
Mac OS X is based on Unix. Unix supports many different kinds of file systems. However, there are some things that all those file systems have in common:
- There is only one "root" for the file system. Removable volumes (or network volumes) are mounted somewhere in the existing hierarchy. This is unlike the Mac OS, where each volume is its' own "root", and there is no method for tying all the volumes together.
- All the Unix tools assume that text files end each line with a line-feed (0x0A). Macintosh text files end each line with a carriage return (0x0D).
- Most Unix file systems are are case-sensitive. That is, "foo" and "Foo", refer to different files, unlike HFS and HFS+. When I asked a presenter about this, he replied that this was a feature of the file system, not Mac OS X or Unix.
During one of the keynotes, an Apple representative (sorry, I don't remember which one) said that Mac OS X would be able to use HFS+ as its' native file system. [Mac OS Server can read HFS+ disks, but it cannot boot from one.] This will undoubtedly be how most Mac OS X users set up their systems.
Odds and Ends
There were a couple sessions on AltiVec, Motorola's extensions to the PowerPC instruction set. These instructions should accelerate QuickDraw and QuickTime on future Macs.
The AppleScript session had a few announcements:
- PPC over IP is coming
- The new printing system will be scriptable
- AppleScript will have a "using terms from" command, which will enable scripters to get rid of a bunch of nested "tell" blocks.
In previous years, I have left WWDC feeling quite cynical. Presentations seemed to be made in a vacuum, with little feeling that they would amount to anything. This year, the presentations built on the ones from last year, and reinforced the message that Apple had chosen a direction and was sticking to it.
Mac OS X is going to be a big change for Apple and Macintosh users, but it looks like there will be lots of opportunities for developers as part of this change.
Marshall Clow is a programmer. He has worked for Palomar Software, Hewlett-Packard, and Aladdin Systems. Among other things, he has written PICT Detective, Aladdin's Resource Compression Toolkit, and way too many resource-processing tools. He currently works on Acrobat for Adobe Systems, where his title is "Bad Influence". When he's not coding, he can be found mountain biking with his kids or checking out microbreweries. He can be reached at firstname.lastname@example.org