WWDC 2003

by Larry Peng
Directors Office, L-001, LLNL



Disclaimers:
  • These notes are the work of the author. They do not represent an official position of any LLNL organization.

Apple Worldwide Developer Conference

TRIP REPORT (June 23-27, 2003)

Click here to open the PDF version of this page.
(drag the above link to your desktop to save it)




Contents



Intro

The QuickTime video streams for the WWDC 2003 keynote, and the QuickTime State of the Union session are found at the following weblinks:

http://www.apple.com/quicktime/qtv/wwdc03/

http://www.apple.com/quicktime/qtv/stateoftheunion03/

This year the conference was pushed back by one month, and the location changed to the Moscone West Convention Center in San Francisco. The reason for the delay was to ensure that developers would receive a stable and workable developer preview of the next major revision of Mac OS X (code name of Panther).

This year, WWDC represented a combination of "WWDC" and the "QuickTime Live Conference". In addition, this year there was an Enterprise Track which tried to address issues that are of concern to system and network administrators.

Keynote Address (June 23, 2003)

It soon became obvious that the keynote speech was not aimed only at the development community, but to the world.

According to Steve Jobs, the attendance of 3800 developers represents just over one percent of the total number of registered Apple developers. Developers of all kinds are there from the Mac, Unix, and Java communities. Steve began with a few status updates.

First was Airport Extreme (802.11g). The 802.11g standard was ratified the previous week, and Apple via the latest software update should now be in compliance with the standard. To date, Apple has shipped more than 300,000 Airport Extreme products.

Second was the Apple Stores. 58 stores over the last 25 months, with 17 million visitors. Three new stores were mentioned: Chicago (opened the June 28th weekend), San Francisco next spring, and Tokyo early next year.

Third was the iPod. Apple is now on the 3rd generation model, and waiting for competitors to match the first generation. The one millionth iPod shipped on June 23.

Fourth was the iTunes Music Store and iTunes 4. iTunes 4 and the store was launched 8 weeks ago, and the 5 millionth song was sold on June 21st.

Fifth was Safari. Steve declared Safari version one available today after 5 million beta downloads. A Safari SDK is also available today so developers can embed Safari capabilities into their apps.

That finished Steve's updates. Now onto Mac OS X...

Mac OS X has 7 million users (versus about 1 million this time last year), and over 6000 native applications. He showed curves showing users and applications continuing to come to the platform at an increasing rate. Steve thanked developers for their effort and work, and mentioned that we now have a "kick ass" operating system. Apple is the number one Unix provider in the world.

PANTHER:
Steve then moved on to preview Mac OS X 10.3, codenamed Panther. WWDC attendees got a developer preview copy of Panther after the keynote. Steve announced that Panther will ship before the end of the year for 129 dollars retail.

Panther is to contain more than 100 new major features. Some of the new things are:

    1. Unix services:
      • Inclusion of X11 R6
      • NFS File Locking
      • Fast UFS
      • Improved Kerberos
      • FreeBSD 5
      • selected Linux API's
    2. The newest version of SAMBA (version 3) which permits:
      • Browsing of SMB servers in the Finder
      • SMB printing
      • SMB Home directories
    3. IPSec-based VPN (standard adopted by Cisco and Microsoft supported)
    4. Deeper Active Directory support

Steve outlined several specific items of interest for Panther:

A) A new Finder

Refinements to make it more "user centric". The new Finder's layout is derived from iTunes. The refined layout attempts to make the user's home directory more directly accessible than the current Finder.

The Finder now has an "Action button" which collects common available operations that can be performed on a selected item in one place. Faster search capabilities have been added. The abilitiy to use Labels are returning to the Finder.

The Finder now includes the ability to do dynamic network browsing within the Finder itself. In addition, the open and save panels have been revised to reflect the style of the new Finder.


B) Improved iDisk

Bidirectional Autosync files in the iDisk to the .Mac servers in the background. This can be useful for users of multiple machines to help keep files synchronized.


C) Expose

Expose tries to address the problem of finding that one window among many overlapping windows. You can assign Expose functions to keys, mouse buttons, and hot corners of your screen. It requires Quartz Extreme to work, and you really need to see it in action to appreciate it.

F9 key by default displays all windows showing a title as you pass over each window. The individual windows are shrunk until they all fit on the screen. As you pass over each window, the window title is shown. Click on the window you want, it comes to the front, and all window return to their original size.

F10 key by default show all windows of the current active app. Again, all windows shrink until they all fit on screen. However, in this case the windows of all non-active apps fade and dim.

F11 key by default moves all open window out of the way so that you can view the desktop.


D) File Vault

Auto encryption read and write of home directories. Appears to be based on similar technologies used with current OSX encrypted disk images. Uses AES 128 bit encryption. File Vault is activated via a checkbox.


E) Improvements to Mail

Safari HTML rendering via the SDK. Faster. Addresses are objects--for example, you can drag addresses to different fields, or identify via color what could be confidential email addresses. Messages can now be viewed by thread.


F) IPSec based VPN in Panther and Panther Server

This is also the standard which has been adopted by Cisco and Microsoft.


G) Built in Fax

Fax button in every single print panel, since faxing can be considered remote printing. The fax panel get its info via the OSX address book.


H) Pixlet

Studio grade codec.

Film resolution of high definition quality. No artifacts. 24 fps, 48 bits/pixel. No interframe compression. Originally request from Pixar. Also HD/2 (960 x 540) which can be decoded by 1 GHz G4.


I) Preview

Preview is billed to now be the fastest PDF reader (rendering and searching) in the world.

Steve demoed PDF rendering on the fly without caching for the 978 pages PDF 1.4.1 spec. Apple test claimed Preview to render 3X faster than Acrobat on the fastest PC money can buy. Same with PDF searching.

Preview now supports on-the-fly Postscript to PDF conversion.


J) Fast User Switching

Steve admitted that Windows XP beat Apple in implementing this feature, but now Apple was going to show it implemented in a better fashion!

In Panther when fast user switching is on, there is a user menu in the upper right hand corner. Just pick the user and you switch via a rotating cube screen effect. Passwords are respected, and processes of the previous user continue to run.

One example cited for showing the utility of fast user switching has been for family users who only have one machine--family members can use the one computer and quickly switch to their own accounts without trouncing on an existing user's account.


K) FontBook

Application for pro font management. Previews and manages fonts. Instant searching for font types.


L) IChatAV (Videoconferencing for the rest of us)

Adds AV (full screen audio-video) to text chats over the instant messaging infrastructure. There is zero setup--no phone numbers or IP addresses to know.

You can initiate calls right from you Buddy list. Buddy list name can currently come from AIM (American Online Instant Messenging), .Mac, or Rendevous (for conversing with folks locally.

iChatAV works with any firewire camera or camcorder, and with built-in or USB microphones. For audio chats, a 56K modem is enough. For video chats, one must have broadband access.


DEMOS: There were 3 demos.

First Steve called Phil Schiller (Apple Marketing chief) who was backstage.

Second, Steve called Jean-Marie Hullot in Paris, France. Jean-Marie Hullot is famous in the NeXT developer community for being one of the creators of the NeXTStep Interface Builder (IB) tool. IB is considered by some as a "killer app" on NeXTStep which allowed you to rapidly manipulate and assemble software objects (either yours or those built by others) into useful programs without writing any code. IB lives on today in the free developer toolset Apple provides.

Initially the call to Hullot was an audio call. He lives near the Eiffel Tower and at Steve's request attached a firewire video camera. When Steve disconnected the audio call, iChatAV on Steve's computer then recognized that a video camera was available. When Steve called back, the call became both video and audio.

Third, in order to demonstrate what it is like to receive a call, Al Gore (the former US Vice-President and former Senator from Tennessee) called in from Los Angeles.

A free public beta version of iChatAV was released on June 23rd and is available from the Apple site. The beta expires at the end of the year. At that time a released version will be available for $29.00 to Jaguar users and it will be part of Panther. As of today it is Mac to Mac only, and runs on Jaguar and Panther . But since it is standards based, as other platforms follow suite Apple will work to ensure interoperability.

Following the hightlights of Panther, there were several major announcements:

iSight

As a companion product to iChat AV, Apple shipped iSight on the same day of the WWDC keynote. It is a high quality firewire video camera (640 by 480, 30 fps, f2.8 aperture, dual element microphone). iSight is auto focus and exposure, and features 3 different mounts of the top of monitors on laptops, flat screens, eMacs. To a roaring crowd, Steve announced that each WWDC 2003 attendee would receive a free iSight.

As an aside, Larry Peng (author of this report) and his LLNL colleague Steve Kiar tried doing an iChatAV session between their homes, and it worked well. We were both on Airport wireless 802.11b running through Linksys switches to our broadband ISP's (cable modem for Larry, DSL modem for Steve). Larry was using a 1 GHz Titanium PowerBook, and Steve was on a 733 MHz G4 tower. Our wives finally got the chance to meet each other!


XCode

Steve introduced the new Apple supplied development environment for Mac developers named XCode for Jaguar and Panther. The focus of XCode is to minimize development and debugging time. It features a cleaner user interface, gcc 3.3 compiler, much improved compile time, a zero link feature (only link what needs to be linked), fast code searching, predictive compilation (compile based on what you type), fix and continue (developers can make code changes to an application while the application is running), auto use of idle resources, and distribute compilation to distributed hosts, etc.

As a result, compile times between CodeWarrior is now around 2x faster than XCode (The Finder UI as the example) versus around a factor of 10 previously under the same setup. If multiple hosts are involved, then XCode can compile faster than CodeWarrior. Steve only half-jokingly suggested using a rack of Xserves for distributed compiles.


Power Mac G5

In a major departure from recent WWDC keynotes, Steve Jobs spent a major portion of his talk introducing the new Power Mac G5 (billed as the world's fastest personal computer). These are totally redesigned from the ground up, and based on the IBM PPC 970 (marketed as the G5).

The IBM PPC 970 is derived from IBM's high performance POWER 4 processor. The new 970 is a 64 bit PowerPC CPU with a front side bus of half of the CPU clock speed. Symmetric multiprocessing is natively supported by the 970. The 970 is manufactured at IBM's new $3 billion fab in East Fishkill, New York. The POWER processor family is also the basis for LLNL's ASCI Purple supercomputer (via the upcoming POWER 5).

General attributes of the IBM PPC 970 are:


General attributes of the new machines (shipping in August) are:


Retail prices for three initial models are below (see Apple on-line store for full specs):

1.6 GHz single processor, $1999
1.8 GHz single processor, $2399
2.0 GHz dual processor, $2999


The obligatory bakeoffs between Wintel and Mac then followed. The dual 2 GHz G5 was compared against comparable Dell machines with 3 GHz Pentium 4 and dual 3.06 GHz Xeon processors. Demos of SPEC tests (integer and floating point) suggest G5 up to 10 percent slower on integer, but up to 40 percent faster on floating point (using the GCC compiler). Bakeoffs with applications like Photoshop, Luxology, Mathematica, and EMagic were shown. In the application demos shown, the Dual G5 ran up to 2.1 to 2.5 times faster.

We saw OSX Jaguar running on the G5 natively, along with existing applications. The apps ran just fine, with good performance and no apparent compatibility issues. The OSX build number 10.2.7. It appears that Apple will do similar to what Sun did when Solaris went 64-bit. Start migrating the foundation first while making sure that the 32-bit apps still run, and provide the tools for developers to compile 64-bit versions.


Other Notes

Below are some highlights from some other sessions I attended. As these sessions were not broadcast to the general public, I am keeping the discussion at a higher level.

OS X State of the Union

  1. X11 R6 (with Quartz acceleration) to be a given in Panther
  2. Journaling filesystem on by default
  3. UFS performance comparable to HFS+
  4. Refreshing system components to FreeBSD 5 (e.g. libc)
  5. Adding a controller layer for Cocoa which complements NSView and NSDocument. Main point is that the need for glue code to synchronize updates between the program model and UI is gone. A simple example of what this means is that when users modify the UI, that the model auto updates without the developer having to write a bunch of code to manage this. Likewise the applies if the model changes and you need to have it reflected in the UI without writing additional code.
  6. The WebKit (Safari SDK) is an interesting framework composed of two parts. WebCore (KHTML) and JavaScript Core (KJS). Both parts are in C++. In Safari, WebKit is used to define the content region of the browser window. Thus Safari is really just an Objective C++ Cocoa bridge onto WebKit. Thus you now have the ability to write a very simple web browser with no lines of code! The WebKit is available to both Carbon and Cocoa apps and runs on both Jaguar and Panther.


Graphics and Imaging Overview

  1. PDF 1.4.1 spec for Panther
  2. Quartz 2D on OpenGL


This is the next obvious step with the Quartz Compositor already piped through OpenGL. The expectation is that Quartz 2D operations should be 2X to 10X fast. Only applications natively using CoreGraphics on Quartz Extreme supported hardware will see significant benefits at this time. There is no high end frameworks support yet (e.g. from NSImage).

Deploying XServe Raid

In addition to reviewing the hardware specs and suggested configurations, Apple engineers previewed the upcoming Raid Admin v1.1 software. The new software is written with Swing and Java 1.3.1.

Though not officially supported, you could run the Raid Admin app on any platform supporting pure Java and Swing. The software was actually demoed running on Windows 2000.


OS X Server Panther Overview

New stuff includes:

  1. Darwin 7
    • FreeBSD 5
    • journaling filesystem
    • case sensitive HFS+
  2. Samba 3
  3. Open Directory 2
    • MIT Kerberos v5, no changes to the protocol
    • LDAP hosted on Berkeley DB (embedded database system, www.sleepcat.com) rather than NetInfo
    • NetInfo still there for legacy
  4. VPN Server
  5. JBoss app server as another option for J2EE apps
  6. PostFix mail server (SMTP)
    • Cyrus for IMAP and POP mailboxes
    • Mailman for mailing lists
    • SquirrelMail for Web mail
  7. DNS
    • BIND 9
    • UI capability to manage DNS entries


Open Directory 2

A) Local authentication

  1. Crypt is dead from the standpoint of Apple API's and GUI tools. Can only be manipulated via the command line, or 3rd party tools, or old tools. This is not a bug, but is a security design decision.
  2. Use PAM, the Security Framework, or Directory Services API.
  3. Any OSX app that relys on crypt will break in Panther.
  4. Shadow passwords, support greater than 8 characters. Uses sha1.
  5. nidump no longer works to get hash passwords.
  6. Single sign-on strategy uses Kerberos from MIT. All Apple network products to be Kerberized. Kerberos v5.1.3 for Panther.


B) Directory Services

  1. LDAP 3 enhanced with replication support
  2. Improved Active Directory support
  3. LDAP 2 to be retired
  4. SLP will be retired at some future release (or at least optional install)
  5. Active Directory plug-in taking Microsoft at its word that no major changes in the mixture of LDAP and Kerberos is planned.
    • Plug-in allows support of baseline AD features without requiring schema changes at the server.
    • Plug in generates needed missing OSX attributes.
    • cannot generate managed desktop data
    • unique capabilities of OSX may need AD schema mods.
    • Will be able to change AD password from Mac login window.
    • multi-domain authentication
  6. Cached credentials" available in Panther
  7. Several new directory services commands equivalent to NetInfo (e.g. dscl instead of nicl). DS commands will be open sourced in Panther timeframe.
  8. Documentation should be improved for Panther Server (planning 12 manuals).


Managed Desktop Technologies

  1. Apple Remote Desktop Client to be part of Panther.
  2. Diskless NetBoot now possible.
  3. NetBoot over HTTP and NFS.
  4. Configuring a rack of Xserves with an iPod is possible.


GCC Overview

  1. Panther based on GCC 3.3. Part of Xcode tools.
  2. Apple is now a reference/targeted platform for GCC
  3. Apple contributes to Objective-C/C++ and general maintenance and enhancements. Contributions to optimizations, and compilation (e.g. Predictive and distributed compiles mentioned in the keynote)
  4. Some changes in the ABI from gcc 3.1 to 3.3. Recompile required.
  5. Initial benchmarks from 3.1 to 3.3 cited:
    • SpecInt about 17% faster with G5
    • Specfp about 30% faster with G5
    • Suggested to use level 2 or 3 optimization for best performance
  6. PPC 970 will run G4 code well. Processor not too finicky in that regard.


The GCC compiler that will be part of the Xtools development tools for OSX is derived from GCC 3.3, and Darwin is a targeted platform. Apparently both IBM and Apple have been working on tuning it for PPC 970 (aka G5). The current state of optimizations was discussed by IBM Yorktown's David Edelsohn (also a member of the GCC steering committee).

Given this and the fact that IBM is a big pusher of Linux, at the session Q&A I asked them about either Fortran 77 via GCC, Fortran 9x, and even if they could say anything about IBM Fortran compilers. I did parenthetically mention that we have some POWER/PowerPC based supercomputers, along with quite a few PowerPC based Macs! I was asking the question more on the behalf of the little guy who may not have a large budget to spend on compilers.

The folks on stage gave the canned response that NAGware's Fortran is available, and we should please tell IBM if you want their compiler

As I sat down, I was met by an Apple employee who suggested talking to IBM about my question since it was his understanding that IBM is definitely thinking about porting their compiler over. A minute later, I got a tap on the shoulder from the IBM rep who said to give him a call. So this is an opportunity to let any requests be known!

The contact information I have is this:

Bob Blainey
Senior Technical Staff
Compiler Development
IBM Toronto Laboratory
IBM Canada, Ltd.
8200 Warden Avenue
Markham, Ontario L6G 1C7
905-413-4264 (phone)
blainey@ca.ibm.com (email)

If I understood Bob Blainey correctly at the conference, they are definitely interested in getting a beta program together, and are interested in potential testers. I thought I heard him say they might already have an initial beta program in place. I did query him about any initial thoughts about pricing, but as expected he said that was still something for IBM to work out internally.

OS X Panther Printing Update

  1. Transitioning to CUPS (Common Unix Printing System) was the focus of Jaguar.
    • resulted in new Printer driver architecture
    • new Print Center app being Cocoa based.
    • Jaguar based on CUPS 1.1.15 + fixes and security updates from 1.1.18 built on 1.1.15 base.
  2. Major enhancements for Panther:
    • extending more UI to CUPS
    • PrintCenter morphing to Desktop printers
    • The LaserWriter 8 printing path (via QuickDraw bridge to Quartz) is officially in maintenance mode. Still there, but no more work being done.
    • Using the OSX printing path allows full access to Quartz. PDF workflow items in the Print dialog (available since 10.2.4) via Quartz filters (e.g. image resampling).
    • Panther includes (PostScript) PS converter. PS file converted (not rastered) to PDF. PDF processed by Quartz and then sent for rastering.
    • Panther using CUPS 1.1.19. Targeting CUPS 1.2 in 2004
    • GIMP Print included with Panther (Tyler Blessing did the work)
    • Tioga driver architecture (used in OSX v10.0 and 10.1) is in maintenance mode.

Summary

As always, the notes above represent only a sampling of the sessions that were available.

As of July 15th, Apple has released a significant number of QuickTime streams of the WWDC 2003 sessions. More are expected. They are part of ADC-TV (Apple Developer Connection Television).

In order to view them, you need to be able to log into Apple Developer Connection (can get there via Apple's website). The one caveat which I have not been able to test at this point is whether you need to be a paid developer member (meaning Select or Premiere status) or whether just being an online member is good enough.


Questions/Comments?


Any questions, concerns, etc., let me know. Thanks.

Larry Peng
Lawrence Livermore National Lab
Livermore, CA
lwpeng@comcast.net (Home)
925-423-0880 (Office)



[
Return to Top]