WWDC 99
Volume Number: 15
Issue Number: 7
Column Tag: Conference Report
WWDC '99 Trip Report
by Marshall Clow
Mac OS X comes out of the closet
Welcome
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.
Steve's Keynote
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:
1. "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.
2. "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?
3. "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.
4. 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
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:
1. 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.
2. 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).
3. 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:
1. PPC over IP is coming
2. The new printing system will be scriptable
3. AppleScript will have a "using terms from" command, which will enable
scripters to get rid of a bunch of nested "tell" blocks.
Wrap Up
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 marshall@idio.com