Now that I’ve had some time to think about last week (besides the event I reported on in the previous posting), I thought it would be good to offer some lasting impressions. While I’m not a computer programmer, I understand most of the concepts behind the discipline. That said, much of Apple’s Developer Conference was geared toward programmers for whom code is second nature. Many of the sessions I attended dealt with code, whether or not the description of the session said so or not (I was particularly disappointed when a session which was described as ‘Building User Interfaces for the iPhone with Interface Builder’ was really more about when you should load some of those User Interface elements into memory, and how to achieve this in your code.)
I was able to understand nearly all of what was said in the main User Interface session for the iPhone, which was, in a way, more about the scope and scale that one should expect for applications written for it. Not surprisingly, the key concept that so many developers miss now and will miss in the coming months and years is that it makes no sense to bring all of what a desktop application does to the iPhone. Try to do that, and you’ll end up with a product that is hard to use, not all that useful, and full of features that simply don’t fit in such a small footprint (in memory or screen). I don’t think I’m violating any NDAs here when I relate this, because its so patently obvious. Nevertheless, I’m sure there is already some corporation out there that is faithfully trying to cram 20–30 screens of functionality into this hand-held device, because they have the misconception that a computer is a computer, no matter how small.
The overarching principle that Apple made sure was mentioned in nearly every session, was that programmers should use the model-view-controller (MVC) architectural pattern for building their software (I won’t go into much detail about it, but it’s essentially a way of organizing what your software program does, so that you separate the logic and data from user interface, making it is easier to modify either the look of the program or the underlying business rules without one affecting the other. For more information about where MVC comes from and who uses it besides Apple [Java Swing, JSF, Microsoft Foundation Classes — who call it “Document/View architecture”, DRUPAL, Joomla, the list goes on and on.], check out: http://en.wikipedia.org/wiki/Model-view-controller).
The other thing that Apple made sure was the case in every session: Everyone had to be very well prepared and extremely polished. Unlike some conferences and conventions that I’ve attended, the level of quality control for this one was extraordinary: Nearly every single presenter was an Apple employee, and I learned from one of them just prior to their session that each presenter had several weeks of rehearsals, sometimes twice a week in the months leading up to WWDC. Since nearly every presenter had a lot of information to share, the result was a breakneck pace for all sessions. Forget about trying to duplicate their demos of developer tools, much of this was worked out to the last second without any pauses, with snippets of key programming code at the ready to paste in at key moments, like one of Julia Child’s finished dishes sitting in the oven, ready for the final minutes of the show on The French Chef. Nothing was left to chance; No demo ever failed to work. At the end of each session, the entire team who worked on that piece of software or area went to the stage, and answered questions from attendees, who were directed to 4 microphones at very places in each room. Each and every session, both presentation and all questions and answers, were recorded and should be available as pocasts on the Apple Developer web site for attendees to review (and you can bet they’ll need to).
Besides the sessions themselves, it was an exhausting experience from the sheer number of attendees (as I’ve mentioned before, over 5,000 of them). That meant waiting in line for everything, be it food, getting into sessions (when it paid to be lined up about 30 minutes before the start), tables, desks or chairs through Moscone West, or even the escalators between levels. It was about 95% male, and the standard attire was jeans and black t‑shirt. Just about every attendee had a laptop (99% Macbook Pro), and an iPhone. What does a wireless network serving that many wireless customers look like? Check this geek porn out (as usual, click each to see a larger image):
For all but the largest presentation rooms, there were power strips duct-taped to the chair legs at regular intervals, and there were several ‘lounge’ like spaces with beanbag chairs, tables, desks, iMacs (if you didn’t have yours with you), and Industrial-Strength Wireless Network repeaters, set up at the perimeters of the interior of the building like force-field generators you see in Sci-Fi movies.
While I did meet up with a few people I knew (or knew of, by reputation or from getting in touch with them prior to the event), for the most part I was among strangers. I did my best so socialize, but it goes without saying that Software Developers, for the most part, are not exactly ‘people’ persons. Many of them would probably much rather code than chat, or if they do chat, it’s through a keyboard.
The second to last evening featured a huge party at the nearby Yerba Buena Gardens, one of my favourite places in San Francisco. It’s a large open park bounded by the Yerba Buena Arts Center, the Moscone Convention Center, and the Metreon, Sony’s attempt at a sort of Entertainment Mall which is starting to show its age. The food consisted of several stations serving everything from Sushi to Foccacia-Pizza to Chinese Stewed Short-Ribs and Stir-Fried Noodles. The entertainment was The Barenaked Ladies, which must have cost Apple some significant amount of money. Given their success lately, I guess they could afford it. It was nice to see some recognition that they were Canadian, and they made some nerdy jokes about those of us to the north with iPhones being criminals. They started with their arguably their biggest hit, One Week, which even I recognized. I’ll bet they are sick of playing it, but the crowd was appreciative.
In the end, I’m not sure if I’ll attend WWDC next year. While I did get some valuable information, I’d say that about 50% of what I got was in the ‘nice to know’ category, and it’s a pretty expensive (and draining) event for that sort of knowledge. Still, I don’t regret having been to this one, and I’m hoping that what I learned and who I met will translate to some work at some point in the future. You can never tell.