A Final Reckoning on WWDC '08

The Entrance to Moscone, site of Apple's World Wide Developer Conference

Now that I’ve had some time to think about last week (besides the event I report­ed on in the pre­vi­ous post­ing), I thought it would be good to offer some last­ing impres­sions. While I’m not a com­put­er pro­gram­mer, I under­stand most of the con­cepts behind the dis­ci­pline. That said, much of Apple’s Devel­op­er Con­fer­ence was geared toward pro­gram­mers for whom code is sec­ond nature. Many of the ses­sions I attend­ed dealt with code, whether or not the descrip­tion of the ses­sion said so or not (I was par­tic­u­lar­ly dis­ap­point­ed when a ses­sion which was described as ‘Build­ing User Inter­faces for the iPhone with Inter­face Builder’ was real­ly more about when you should load some of those User Inter­face ele­ments into mem­o­ry, and how to achieve this in your code.)

I was able to under­stand near­ly all of what was said in the main User Inter­face ses­sion for the iPhone, which was, in a way, more about the scope and scale that one should expect for appli­ca­tions writ­ten for it. Not sur­pris­ing­ly, the key con­cept that so many devel­op­ers miss now and will miss in the com­ing months and years is that it makes no sense to bring all of what a desk­top appli­ca­tion does to the iPhone. Try to do that, and you’ll end up with a prod­uct that is hard to use, not all that use­ful, and full of fea­tures that sim­ply don’t fit in such a small foot­print (in mem­o­ry or screen). I don’t think I’m vio­lat­ing any NDAs here when I relate this, because its so patent­ly obvi­ous. Nev­er­the­less, I’m sure there is already some cor­po­ra­tion out there that is faith­ful­ly try­ing to cram 20–30 screens of func­tion­al­i­ty into this hand-held device, because they have the mis­con­cep­tion that a com­put­er is a com­put­er, no mat­ter how small.

The over­ar­ch­ing prin­ci­ple that Apple made sure was men­tioned in near­ly every ses­sion, was that pro­gram­mers should use the mod­el-view-con­troller (MVC) archi­tec­tur­al pat­tern for build­ing their soft­ware (I won’t go into much detail about it, but it’s essen­tial­ly a way of orga­niz­ing what your soft­ware pro­gram does, so that you sep­a­rate the log­ic and data from user inter­face, mak­ing it is eas­i­er to mod­i­fy either the look of the pro­gram or the under­ly­ing busi­ness rules with­out one affect­ing the oth­er. For more infor­ma­tion about where MVC comes from and who uses it besides Apple [Java Swing, JSF, Microsoft Foun­da­tion Class­es — who call it “Document/View archi­tec­ture”, DRUPAL, Joom­la, the list goes on and on.], check out: http://en.wikipedia.org/wiki/Model-view-controller).

The oth­er thing that Apple made sure was the case in every ses­sion: Every­one had to be very well pre­pared and extreme­ly pol­ished. Unlike some con­fer­ences and con­ven­tions that I’ve attend­ed, the lev­el of qual­i­ty con­trol for this one was extra­or­di­nary: Near­ly every sin­gle pre­sen­ter was an Apple employ­ee, and I learned from one of them just pri­or to their ses­sion that each pre­sen­ter had sev­er­al weeks of rehearsals, some­times twice a week in the months lead­ing up to WWDC. Since near­ly every pre­sen­ter had a lot of infor­ma­tion to share, the result was a break­neck pace for all ses­sions. For­get about try­ing to dupli­cate their demos of devel­op­er tools, much of this was worked out to the last sec­ond with­out any paus­es, with snip­pets of key pro­gram­ming code at the ready to paste in at key moments, like one of Julia Child’s fin­ished dish­es sit­ting in the oven, ready for the final min­utes of the show on The French Chef. Noth­ing was left to chance; No demo ever failed to work. At the end of each ses­sion, the entire team who worked on that piece of soft­ware or area went to the stage, and answered ques­tions from atten­dees, who were direct­ed to 4 micro­phones at very places in each room. Each and every ses­sion, both pre­sen­ta­tion and all ques­tions and answers, were record­ed and should be avail­able as pocasts on the Apple Devel­op­er web site for atten­dees to review (and you can bet they’ll need to).

Besides the ses­sions them­selves, it was an exhaust­ing expe­ri­ence from the sheer num­ber of atten­dees (as I’ve men­tioned before, over 5,000 of them). That meant wait­ing in line for every­thing, be it food, get­ting into ses­sions (when it paid to be lined up about 30 min­utes before the start), tables, desks or chairs through Moscone West, or even the esca­la­tors between lev­els. It was about 95% male, and the stan­dard attire was jeans and black t‑shirt. Just about every attendee had a lap­top (99% Mac­book Pro), and an iPhone. What does a wire­less net­work serv­ing that many wire­less cus­tomers look like? Check this geek porn out (as usu­al, click each to see a larg­er image):

WWDC NOC PhotoWWDC NOC Screen 2

For all but the largest pre­sen­ta­tion rooms, there were pow­er strips duct-taped to the chair legs at reg­u­lar inter­vals, and there were sev­er­al ‘lounge’ like spaces with bean­bag chairs, tables, desks, iMacs (if you did­n’t have yours with you), and Indus­tri­al-Strength Wire­less Net­work repeaters, set up at the perime­ters of the inte­ri­or of the build­ing like force-field gen­er­a­tors you see in Sci-Fi movies.

While I did meet up with a few peo­ple I knew (or knew of, by rep­u­ta­tion or from get­ting in touch with them pri­or to the event), for the most part I was among strangers. I did my best so social­ize, but it goes with­out say­ing that Soft­ware Devel­op­ers, for the most part, are not exact­ly ‘peo­ple’ per­sons. Many of them would prob­a­bly much rather code than chat, or if they do chat, it’s through a key­board.

The sec­ond to last evening fea­tured a huge par­ty at the near­by Yer­ba Bue­na Gar­dens, one of my favourite places in San Fran­cis­co. It’s a large open park bound­ed by the Yer­ba Bue­na Arts Cen­ter, the Moscone Con­ven­tion Cen­ter, and the Metre­on, Sony’s attempt at a sort of Enter­tain­ment Mall which is start­ing to show its age. The food con­sist­ed of sev­er­al sta­tions serv­ing every­thing from Sushi to Foc­ca­cia-Piz­za to Chi­nese Stewed Short-Ribs and Stir-Fried Noo­dles. The enter­tain­ment was The Bare­naked Ladies, which must have cost Apple some sig­nif­i­cant amount of mon­ey. Giv­en their suc­cess late­ly, I guess they could afford it. It was nice to see some recog­ni­tion that they were Cana­di­an, and they made some nerdy jokes about those of us to the north with iPhones being crim­i­nals. They start­ed with their arguably their biggest hit, One Week, which even I rec­og­nized. I’ll bet they are sick of play­ing it, but the crowd was appre­cia­tive.

In the end, I’m not sure if I’ll attend WWDC next year. While I did get some valu­able infor­ma­tion, I’d say that about 50% of what I got was in the ‘nice to know’ cat­e­go­ry, and it’s a pret­ty expen­sive (and drain­ing) event for that sort of knowl­edge. Still, I don’t regret hav­ing been to this one, and I’m hop­ing that what I learned and who I met will trans­late to some work at some point in the future. You can nev­er tell.