According to Hoyle...
WWDC '07 Roundup
by Jonathan Hoyle
Click here to view an online PowerPoint presentation on WWDC '07.
The focus of this year's Worldwide Developer's Conference was, like last year's conference, Mac OS X Leopard. Despite the fear that a "repeat" topic might dampen interest, this year's conference broke its attendance record again, with 5,000 attendees. There were companies sending people for the first time, and long time Mac development houses sending greater numbers than ever before. Sending two or more individuals made a great deal of sense, given that there were 159 sessions, usually running 8 at a time, not including the 94 labs. To get the most out of this conference, companies ought to send at least two, if not three, to get adequate coverage of the plethora of information.
The growth of the conference is indicative of the growth of the platform itself. There are now nearly a million registered Macintosh developers, and an untold number of unregistered ones. With the recent news that Apple's marketshare has skyrocketed to over 14% for portables and over 10% for desktops, it is no wonder that attendance is overflowing. And despite the fact that it is named a Developer's conference, there was an amazing number of upper management, marketing, IT and students present. Sessions devoted to these other areas were available too, making this more of an all around Mac conference.
The Steve Show
As usual, WWDC kicked off with a keynote by Apple CEO Steve Jobs. Although Steve's showmanship remains as strong as ever, one can see that his technological edge is not as sharp as it used to be. In recent WWDC's, we see how Steve relies more and more on his notes, following a rigid demonstration, mostly pulling it off as if it were impromptu. Slight hesitations creep in here and there, such as when he momentarily forgets what a particular icon represents, but all in all, he still puts on the best show of any conference.
Although most of the material covered in this conference is covered under non-disclosure (and thus I am unable to disseminate), the keynote address is open to the public and free to discuss. For those who have not already had the opportunity to see it, I recommend going to Apple's web site and watching the keynote yourself at this link.
The topic for this year's WWDC was, of course, Mac OS X 10.5 Leopard. This is an exciting new update to Mac OS X which most Mac users will be very pleased with. Some of this information was available last year, and some of it new. Steve listed these Top 10 features of Leopard:
These items are described in Ted Bade's column in this month's macCompanion as well. Reviewing Leopard deserves an article of its own, so we will cover this in its own dedicated column next month.
One More Thing...
Perhaps second only to Lt. Columbo, Steve Jobs is constantly associated with the phrase "One more thing...". This year, it was actually two more things. The first was the announcement of the Safari web browser being porting to Windows XP and Vista. Many developers had mixed feelings about this, since Safari is one of the things that made Mac OS X superior to Windows. Worse still, the Jobs presentation suggested that Apple was more interested in capturing the FireFox market on Windows, not the Internet Explorer market. Perhaps the reasoning is that those on FireFox are the ones wise enough to look at browser alternatives, whereas IE users are click-monkeys who would never switch anyway. Still, it's a bit annoying that Apple would target FireFox (a good browser) rather than Internet Explorer (a poor one). Safari is only marginally better than FireFox, yet is twice the speed of IE.
Apple has shown some initial success with Safari for Windows, with 1 million downloads in its first 48 hours. As a comparison, Apple's wildly successful iTunes for Windows has 1 million downloads every 24 hours, making the Safari download rate already at half the pace of iTunes.
The last item was, to no one's surprise, the iPhone. Unfortunately, this announcement was quite the disappointment. Raising the crowd's anticipation, Steve Jobs announces that he has a "very sweet solution" for developers wishing to target the iPhone, one which is "really innovative". A new iPhone SDK? Perhaps an Xphone development environment? No, instead Steve reminds us that Safari comes on the iPhone. Thus, developers merely need to write to Web 2.0 + AJAX standards, and their applications will run on iPhone just as it does on any system running Safari. Of course, this is not what developers had in mind. Does Steve not know this?
Despite the down note Steve left us with, all in all it was a good keynote. Not as good as last year's, but better than others'. With the conference now under way, Mac developers had a week of learning and preparing for what is around the corner.
"There will come a time when we will stop investing in Carbon..." - Bertrand Serlet, Senior VP of Apple Software Engineering, 6/11/07
There was one big bombshell dropped at this year's conference, eclipsing other programming topics: the announcement that the Carbon API will not be ported to 64-bit. This is a major reversal from last year's conference, in which we were told that Carbon would indeed be 64-bit compatible. Some explanation is in order for those new to the terminology:
Since the introduction of Mac OS X, there have been a number of APIs (Application Programming Interfaces) by which developers may create native applications. If you develop in Java, your cross-platform projects can be made double-clickable applications with little effort. Unix programmers can create console applications on the Mac by writing to the BSD API. Unix GUI apps can run as well, as long as the user has installed the optional X11 package. However, the two primary API's by which real Mac OS X applications are typically develop are these: Carbon and Cocoa.
Carbon is a C-based API, popular with C++ programmers, and is an evolution of the original Mac Toolbox from 1984. Over the past 20+ years, these API calls have been improved and modernized, making Carbon a first class development suite (far superior to the Win32 API on that other system). In conjunction with Interface Builder, Apple's GUI generator, one can very easily develop top flight applications with Carbon. The vast majority of applications sold for the Mac are Carbon-based.
Cocoa has its legacy in the old days of OpenStep and NeXTStep, Steve Jobs' former company. Whereas Carbon is a procedural API, Cocoa is object oriented, and allows a developer to create applications even more quickly than Carbon. It even takes greater advantage of Interface Builder. Unfortunately, Cocoa has two major disadvantages to it: 1) its API is a radical departure from any previous Mac APIs (so you are relearning from scratch), and 2) it requires developing in Objective C, a niche language with bizarre syntax, and is virtually unheard of outside of Cocoa development.
Steve Jobs had maintained the fiction (at least in word) that both Carbon and Cocoa would remain equally supported. Even as recently as last year's WWDC presentation on Leopard, Apple confirmed equal support for Carbon moving into the 64-bit world. This year, however, all that changed. It was announced that the Carbon API will not be ported to 64-bit; 64-bit applications will have to be rewritten in Cocoa.
I will discuss this greater detail in an upcoming article very soon.
After hours on most days at the conference, Apple holds various evening events. This is a time developers can unwind and enjoy these other activities, most of them involving free food and drink. There were some changes this year, some good, others not so good...
Sunday: In recent years, WWDC Sundays was a time for students. Sunday afternoons often had workshops for students to learn how to develop Mac software. Sunday evening was typically set aside as a Student Reception/Career Fair event, in which a number of companies would have booths accepting resumes and talking with students. Over the years, the Student Reception has become more diminished, despite its increased attendance. Sushi and exotic appetizers gave way to pizza and soda to finally this year's cancellation altogether. As a substitute, a separate session 107: Students - Getting the Most Out of WWDC was presented on Monday afternoon. Unfortunately, even this substitution was mishandled, as the presentation was advertised on the WWDC Student web page to start at 5:00PM, but was actually scheduled for 3:30PM (and in fact did not begin until 4:00PM due to the Mac OS X State of the Union session running late). This was yet another example of the logistical errors that plagued this year's conference.
Monday: Monday evening was the ADC reception, a chance for developers to meet and chat with Apple engineers. 1,200 Apple engineers made the trip to San Francisco, an amazing figure. As with last year's conference, the ratio of Apple employees to attendees was 1:4. This is a significant sign of how serious Apple is about courting its developers. The food at the reception was mediocre, but the contacts were impressive. This night alone made the conference worth its price.
Tuesday: This was the night not to miss. Tuesday evening at WWDC has two events: the Apple Design Awards and the awesome Stump the Experts audience participation game show. Pizza is served in the interim, and it is definitely a geek paradise for the night. Interesting, Apple decided to double up by moving its Scientific Poster session from Wednesday to Tuesday this year. Doing so increased the number of attendees viewing the posters, and made for one of the best WWDC Tuesday evenings in recent memory. The only complaint I had was that by putting all those things on one night, I did not have as much time to read all the posters I has wanted.
Wednesday: Here Apple dropped the ball. With the Scientific Poster session having moved from Wednesday to Tuesday, Wednesday evening was left "To be announced" [see: WWDC Schedule ]. Many (including some Apple employees themselves) suspected a surprise for that evening. In previous years, Wednesday was movie night, so some had hoped that this would return in 2007. I did not think there was going to be a surprise, but I had imagined that they might devote the time to rebroadcast some of the more popular conference sessions, as they had in 2006. But alas, there was nothing. Not even an announcement of nothing. This appears to be another of the many logistical errors that this year's WWDC has been suffering.
Thursday: With the size of the conference continuing to grow, something had to be done about the Apple Campus bash. For many years, Apple had held a large party on the campus of Apple in Cupertino for WWDC attendees on Thursday night. The Apple store would be open for extended hours, and developers would stand in line to get goodies at a conference discount. Buses would shuttle the attendees from the convention center to Cupertino and back, and there would be a line for this as well. When attendance was at a manageable two to three thousand and bus rides took about 15 minutes, this was not much of a problem. However in 2003, Apple moved the conference from the nearby San Jose to a more distant San Francisco, making the bus ride a 45+ minute proposition each way. Now double the number of attendees, and you have a nightmare on your hands.
And a nightmare it was in 2006. Enough was enough. For the 2007 conference, Apple reluctantly (but wisely) changed the party venue from the company campus to San Francisco's Yerba Buena Gardens, across the street from the Moscone Center. It was a complete hit. The food was wonderful, stations of hot dogs, Italian sausage, pasta, sushi, dim sum, tacos, ice cream and much, much more were scattered all about the garden. Ozomatli played to the delight of all, and most stayed until past dark.
The smashing success of Thursday night went rather far in compensating for the lackluster amenities and disappointing food during the week. Hopefully, this will be a sign of future improvements for upcoming WWDC's.
Coming Up: Next month, a detailed review of Mac OS X Leopard, followed by a review of Apple's new Xcode 3 development tools. See you in 30!