Friday, April 26, 2013

WWDC First Timer's Guide 2013 Edition

Well, this year's WWDC announcement ended up being a little bittersweet for me, since a lot of people I'm used to seeing at WWDC didn't get tickets this year. For those of you who did, especially those of you attending for the first time, I've decided to update my First Timer's Guide to WWDC. If interested, you can read past versions of it here (2012201120102009), though they don't change all that much..

Remember that WWDC is different every year, so don't take anything written here as gospel. Things changes every year, and I expect this year that things will change, just as they've done every year. Hopefully these hints and suggestions will help some of you.

  1. Arrive on Sunday or Earlier. Registration is usually open most of the day on Sunday. You really, really want to get your badge and related swag (usually a bag and shirt or a jacket, etc) on Sunday if you plan to get in line for the keynote. The line for the keynote will start forming many hours before the doors to Moscone West open up on Monday. The past five years, people have started lining up before midnight Sunday. The last two years the line started late afternoon on Sunday. If you do not have your badge when you get to Moscone on Monday morning, you will almost certainly end up in an overflow room for the Keynote and may even miss part of the presentation. Even if you don't care about being in the main room, there's still a lot going on on Sunday and it's a good time to meet new people and catch up with old friends. You really don't want to deal with the badge process on Monday. Developers, especially those coming from overseas, will start coming into town much earlier, so it's not even a bad idea coming in Saturday or even Friday if you have developer friends to catch up with.

  2. Do not lose your badge. If you lose it, you are done. You will spend your time crying on the short steps in front of Moscone West while you watch everyone else go in to get schooled. Sure, you'll still be able to attend many of the unofficial after-hours goings-on (aka "showcializing"), but not the Thursday night party, which is often a blast (though the band quality has been in a downward spiral for several years now). Without a badge, you'll miss out on some of the really important stuff if you're a first timer. No amount of begging or pleading will get you a replacement badge, and since they sold out, no amount of money will get you another one, either. And that would suck. Treat it like gold. When I'm not in Moscone West or somewhere else where I need the badge, I put it in my backpack, clipped to my backpack's keyper (the little hook designed to hold your keys so they don't get lost in the bottom of your bag). Yes, there have been isolated stories of people managing to convince a sympathetic conference worker to print them a new badge, but don't expect it, those are exceptions. The employees are not supposed to print new badges, and most won't.

  3. Eat your fill. In the past, they've provided two meals a day; you're on your own for dinner. Breakfast (starts a half-hour before the first session, and it's most likely going to be a continental breakfast - fruit, pastries, juice, coffee, donuts, toast, and those round dinner rolls that Californians think are bagels, but really aren't. If you're diabetic, need to eat gluten-free, or are an early riser, you'll probably want to eat before-hand. Lunch used to be (IIRC) a hot lunch, but several yeas back they switched to boxed lunches. They're okay as far as boxed lunches go, but they are boxed lunches. A lot of people complain (loudly) about them and choose to go to a nearby restaurant during the lunch break, which is pretty long - at least 90 minutes.

  4. Party hard (not that you have a choice). There are lots of official and unofficial events in the evening. A list of WWDC events is maintained at, but your best bet is to follow as many iPhone and Mac devs on Twitter that you can - the unofficial gatherings happen at various places downtown, often starting with a few "seed crystal" developers stopping for a drink and tweeting their whereabouts. The unofficial, spontaneous gatherings can be really fun and a great opportunity to meet people. The sponsored parties often start before WWDC - there are usually a few on Sunday, and there have been ones as early as Friday before. Pretty much any other bar within stumbling distance of Moscone West will be used for both planned and informal gatherings. As we get closer, there will be lists and calendars devoted to all the events and parties. Some are invite-only, but many are first-come, first-serve. Although there's a lot of drinking going on, these are worth attending even if you don't drink. Great people, great conversations... good times, whether you imbibe or not. And even if you do enjoy alcohol, it's not a bad idea to take a night off during the week. WWDC is a marathon, not a sprint. Learning to pace yourself is a survival skill.

  5. Everything is Crowded As you probably guessed from how quickly it sold out, WWDC is popular. This extends to pretty much any organized event, official or unofficial. WWDC parties are often invite only and whether they are or not, they often have a long line to get in. So, if you're in a long line for too long, grab a few people who are in line with you and go to a nearby bar or restaurant that doesn't have a sponsored event and tweet your whereabouts. You might be surprised at what happens.

  6. Take good notes. You are going to be drinking knowledge from a firehose there. The information will come at you fast and furious. As an attendee, you will get all the session videos on ADC on iTunes. It used to take some time before the videos were available, but hopefully they'll continue to get them out quickly as they have the last two years. The rumor is that many session videos will be available even before the conference is over. That's just a rumor, though, so make sure you write down any information you might need immediately.

  7. Collaborative note taking A few years ago, people started taking communal notes using SubEthaEdit and Panic's Coda (they are compatible with each other). That worked out really, really well. My notes from the past few years are ten times better than from previous years. With collaborative note taking, you don't have to type fast enough to catch every detail. Instead, the audience works as a team and everybody gets great notes. The license fee pays for itself in one WWDC, especially considering you can see notes being taken in other sessions, not just your own.

  8. Labs rule. If you're having a problem, find an appropriate lab. One of the concierges at any of the labs can tell you exactly which teams and/or which Apple employees will be at which labs when. If you're having an audio problem, you can easily stalk the Core Audio team until they beat the information into your skull, for example. It's unstructured, hands-on time with the people who write the frameworks and applications we use every day. It used to be that people started remembering about the labs later in the week, but now they fill up extremely quickly, so sign up early! 

  9. Buddy up, divide and conquer There will be at least a few times when you want to be at more than one presentation offered at the same time. Find someone who's attending one and go to the other (Twitter is a good way to find people), then share your notes. Also, see #6 above.

  10. Make sure to sleep on the plane. You won't get many other chances once you get there. Everybody is ragged by Friday, some of us even earlier. Everyone remains surprisingly polite given how sleep-deprived and/or hungover people are.

  11. Thank your hosts. The folks at Apple - the engineers, managers, and evangelists who give the presentations and staff the labs, kill themselves for months to make WWDC such a great event. So, do your mother proud and remember your manners. Say thank you when someone helps you, or even if they try and don't. And if you see one of them at an after hours event, it's quite alright to buy them a beer to say thanks.

  12. Remember you're under NDA. This one is hard, especially for me. We see so much exciting amazing stuff that week that it's natural to want to tweet it, blog it, or even tell the guy handing out advertisements for strip joints on the corner all about it. Don't. Everything, from morning to night except the Keynote and the Thursday night party are under NDA.

  13. Brown Bag it. Many days there are "brown bag" sessions. These are speakers not from Apple who give entertaining, enlightening, or inspiring talks at lunchtime. Check the schedule, some of them are bound to be worth your time.

  14. Monday, Monday I don't know what to say about Monday. The last few years, people started lining up before midnight the night before. I'm typically on East coast time and usually walk over around 4:15 to see what's going on. I've done the line, and I've done the have-a-leisurely-breakfast route, and both have their merits. If you straggle too much, they may start before you get in the room, however. This has happened to me twice. The tradeoff, of course, is that you'll be much better rested for the rest of the day.

    Waiting in line is not really my thing any more, but you do get to talk to a lot of very cool people while waiting in line, and there is a sense of camaraderie that develops when you do something silly with other people like that. Some people probably want me to suggest what time to get in line. I have no idea. Most people will get into the main room to see the Keynote. There will be some people diverted to the overflow rooms, but because the number of attendees is relatively low and the Presidio (the keynote room) is so big, it's a tiny percentage who have to go to the overflow rooms (maybe the last 1,000 to 1,500 or so, depending on number of VIPs in attendance). On the other hand, you'll actually get a better view in the overflow rooms unless you get in line crazy early - you'll get to watch it in real time on huge screens and you'll get to see what's happening better than the people at the back of the Presidio. So, go when you want to. If you want to get up early and go be one of the "crazy ones," cool! If you want to get up later, you'll still get to see the keynote sitting in a comfy room with other geeks.

  15. Turn off your MiFi/Clear/other wireless router. I'm so totally not kidding on this one. People will punch you if they find out you've got one turned on. Two years ago, so many people had MiFis and other mobile hotspots running during the keynote that it interfered with the conference center's (usually very good) WiFi network and disrupted some of the tech demos. Once you're in the building, you don't need it. They have a crazy fast pipe in the building, so just use the provided WiFi or wired connection and turn your wireless router off. Seriously.

  16. Park it once in a while There will be time between sessions, and maybe even one or two slots that have nothing you're interested in. Or, you might find yourself just too tired to take in the inner workings of some technology. In that case, there are several lounges around where you can crash in a bean bag chair, comfy chair, moderately-comfy chair, or patch of floor. There is good wi-fi throughout the building and crazy-fast wired connections and outlets in various spots. So, find a spot, tweet your location, and zone out for a little while or do some coding. You never know who you might end up talking with. If you move around too much, well… let's just say a moving target is harder to hit than a stationary one.

  17. Twitter is invaluable. There's really no better way to hook up with people you didn't travel with than Twitter. There used to be problems with Twitter staying up during the keynotes, but that seems to be resolved and we've had several years without major outages during the keynote.

  18. It's okay to leave. Don't worry if a few minutes into a session you decide that you've made a horrible mistake and it's too boring/advanced/simple/etc, or you're just too damn hungover. Just get up and leave quietly and go to a different session or sit down somewhere. Nobody is going to be offended if you leave politely and without causing a disturbance.

  19. Bring proof of age on Thursday night. The official party is always on Thursday night, and it's always a blast. There's good food, good drink, great company, and sometimes a pretty good band. They are pretty strict about making sure only people who are over 21 get alcohol. So, if you want to have a drink or five on Thursday, don't leave your license or passport in your hotel room, even if you're 70 years old. Also, if you're under eighteen, I have some bad news: you can't attend the bash, sorry.

  20. It's okay to take breaks. Your first time, you're going to be tempted to go to every session you possibly can. Somewhere around Wednesday or Thursday, though, that effort combined with lack of sleep, is going to take its toll on you. If you're too tired or overwhelmed to process information, it's okay to hole up on a couch or at a table instead of going to a session, or even to go back to your hotel (you did get a close one, right?). In fact, it's a darn good idea to map out a few "sacrificial" time slots that won't feel bad about missing just in case you need a break. You don't want to burn out and then miss something you are really interested in. And some of the best, more advanced sessions fall at the end of the week, so don't shoot your wad early in the week.

  21. Get a close hotel If at all possible, try and get a hotel within two blocks and definitely not more than five blocks from Moscone West. Five blocks doesn't seem like a lot, but it can become quite a hassle, especially if you're North of Moscone West because you'll be climbing up a pretty decent hill to return to your hotel each night.

  22. Official Evening Events In addition to the Thursday night Beer Bash, there are other official activities in the evening that are very entertaining and usually happen in the early evening before the parties really get going. The two stalwarts are the Apple Design Awards and Stump the Chumps (it's actually called "Stump the Experts", but most of the participants refer to it as just "Stump"). Stump the Experts is an Apple trivia game-show-like event with notable tech luminaries and former Apple employees. Lots of sharp wits and deep knowledge of Apple make for some good entertainment. There used to also be a Monday night reception and cocktail hour, but if memory serves, it hasn't happened in several years now.

  23. Take BART If you're flying into either SFO or OAK and are staying near Moscone West (or near any BART station) there's really no reason to bother with renting a car or taking a cab from the airport. Just take BART and get off at the Powell Street station and walk up 4th street (South). Moscone West will be about four blocks on your right.

  24. Bring a Sweatshirt or Jacket A lot of first-timers assume that it's California in the summer so it's going to be hot. Well, it could be, during the middle of the day, but look up Mark Twain's quote about San Francisco in the summer. It can be downright chilly in San Francisco in the summer time, especially in the evenings and early morning. Bring a sweatshirt or light jacket, and wear layers because the temperature differential over the course of the day can be forty or fifty degrees fahrenheit.

  25. Sample Code Many sessions will have sample code, usually downloadable from the schedule or class descriptions web pages. The sample code will stay up for a while, but may not stay around forever, so it's a good idea to download any code samples you want as soon as you can. Edit: It looks like starting with 2009, you can get to the old source code for years you attended by logging in to ADC on iTunes, however I always save off a copy just in case.

  26. Get a Battery Pack You might want to consider a battery pack for your iPhone and/or iPad. You'll be in for some very long days, and it's not uncommon for your phone to be bone dry by early evening if you don't remember to charge it during the day. AT&T reception in San Francisco is notoriously bad, and that takes a toll on battery life.

  27. Don't Sound Like a N00b It's technically called the "World Wide Developer's Conference", so logically, you'd expect people to refer to it as "the WWDC" (e.g. "I'm going to head over to the WWDC")… only people rarely do. It's just "WWDC" ("are you going to WWDC this year?). Less commonly, it's also called  "DubDubDeeCee" or just "Dubdub": ("Man, what an awesome Dubdub that was", or "What time are you heading over to Dubdub?").

  28. American Drinking Age if you're coming from a country with a civilized drinking age, and you're under the age of 21, you're in for a bit of an unpleasant surprise: You won't be allowed to drink here, and most places are very strict about it because they will lose their license to serve alcohol if they're caught serving to an underage person.

  29. Clean up your mess! I never thought I'd have to say this, but the last two years, I noticed a disturbing thing. People leaving trash and garbage all over Moscone. It was especially bad during the keynote line, but even during the rest of the conference, it was embarrassing. Don't. Just really don't. There are garbage cans and recycling bins. Use them. You're an adult, and even if you weren't, your mom's not at Moscone to clean up after you.

  30. Update your Avatars: I know, you like that picture from ten years ago better. I know Calvin and Hobbes are just to die for. I know everybody loves those eight-bit avatars (or not). But, if you want to people you know online to be able to find you in meatspace, it really helps if they know who they're looking for.

Have more suggestions for first-timers? Throw them in the comments!

"Fixing" WWDC

Tickets for WWDC 2013 went on sale yesterday, and what a crazy day it was. The event, which never sold out prior to 2008, and didn't sell out the day tickets went on sale until 2011, sold out in less than two minutes yesterday. I've seen estimates claiming it was as short as 68 seconds. I don't know what the "real" or "official" duration was, but it was insanely short by every account. This blog post by Dave Smith might put that into a little perspective for you.

As a matter of fact, it was so short, I didn't get a ticket. I did everything right. I had one in my cart, but when I went to pay, my bank declined my card. There was plenty of room on the card, but the purchase triggered a fraud detection alert. Before I could confirm with my bank that this was a valid transaction, Apple's payment system encountered an error and booted me out to the main page with a note telling me that an item had been removed from my cart. 

That was frustrating.

And then, a few hours later, I got "the call." At about 4:45 EDT yesterday, I received a phone call from the 408 area code. On the other end of the call was a pleasant representative from developer relations. He told me they saw that I had tried to purchase a ticket and had had problems. He then said that my ticket had been reserved for me and that I would get an e-mail telling me how to pay for it in about twelve hours. I haven't actually been able to purchase the ticket yet, but I'm operating under the assumption that it wasn't a practical joke. After everything, it looks like I won't be crying on the sidewalk outside Moscone West this year.

But it sounds like a lot of people will be. A lot of people who I'm used to seeing at WWDC and many who have been attending even longer than I have didn't get tickets this year.

Inevitably, we're going to start seeing blog posts and tweets about how WWDC is broken and how it should be fixed. In fact, Daniel Jalkut of Red Sweater Software — himself a regular fixture at WWDC for many a year now — kicked things off with a drastic call to stop having WWDC at all.

While there's a lot in Daniel's post that's true and which I agree with, I don't agree with his conclusion. I think having a lot of us third party developers and a lot of engineers and other Apple employees in the same place at the same time every year has a lot of value to the platform, to us developers, and to Apple.

But it's clear that WWDC needs some tweaking. Apple is no longer the scrappy underdog. We're no longer the downtrodden developers for a beleaguered software company. Today, we work in an ecosystem controlled by the most profitable company on Earth. While Apple has grown tremendously, WWDC's growth has been stunted by the capacity of Moscone West. Since 2003, WWDC has been limited to 5,200 attendees split roughly between 5,000 paid tickets and 200 special tickets, which include scholarship winners. In that same time period, the number of developers working on Apple's platforms has grown exponentially.

I've seen lots of recommendations bandied about ever since WWDC started to sell out, but most of the solutions I've seen seem to fall squarely into the "solution worse than problem" category. People make it out to be an easier problem to solve than it is. Just increase the capacity, right? How hard could that be. Lots of conferences are bigger than WWDC.

It is hard, though.

I've talked with a number of people at Apple about this over the last five years. It's important to realize that there are certain things about WWDC that are, for lack of a better word, sacrosanct. In programmer terms, these are static const variables that aren't going to change. If you want to propose ways to fix the event, you need to realize that some changes are going to be a no go. Compiler error. Fix and re-compile.

Null Operations

If you're going to try and change it, it's important to understand what makes WWDC different from most other conferences. There are certain characteristics that Apple will avoid changing unless there's absolutely no other choice. And, honestly, it's altogether possible that Apple might choose to take Daniel Jalkut's suggestion of ending the event before they change certain of these things.

Location, Location, Location

The most common cry for change I see is a change of venue to someplace like Las Vegas, or someplace else that can accommodate thirty thousand or more developers. Moving a large event like this to the conference capital of the U.S. seems to make a certain sense on the surface. I can say with some confidence that Apple won't do this. 

While WWDC began in Monterey, the event was most often held in San Jose prior to 2003. If you're familiar with the South Bay, you know that San Jose is just a stone's throw from Apple's headquarters in Cupertino. In fact, the Beer Bash used to be held at the Apple campus.

This proximity to Apple's headquarters was a convenience for Apple and a boon for attendees. It meant that Apple's engineers, the lions share of whom work in Cupertino, didn't need to be put up in hotels and didn't have to incur travel expenses to attend. It meant that Apple could make an awful lot of engineers available to the attendees. The engineer-to-attendee ratio has always been incredibly high at WWDC, and it's something that really made the conference what it is. It's actually an important part of the event's DNA.

In 2003, the city of San Francisco completed construction on Moscone West. Thanks to the iPod, at that time Apple was steadily rising out of its "beleaguered" status. WWDC 2003 was originally scheduled for San Jose but was moved to this new building in downtown San Francisco, and it has been the event's home ever since, though Apple did continue to have the Beer Bash down in Cupertino for the first few years after the move. While this location was slightly less convenient for Apple, it was much more convenient for attendees from outside the Bay Area. It is the World Wide developer's conference after all, so being in a large city with a large international airport made it easier for people coming from elsewhere to attend.

While San Francisco is harder than San Jose for Apple and they do have to put engineers and other employees up in hotel rooms, it's still a lot easier than it would be in any other major city. Apple engineers working in Cupertino can drive up to San Francisco. Some go up for the whole week, some only for a day or two. Some even go up just for a day without spending the night. Over the course of the week, a huge portion of Apple's technical staff are made available to attendees. Engineers from just about every team and framework are available in labs at some point and many give presentations.

"But Apple's rich and can afford to send everybody to Las Vegas!" you might be thinking. Perhaps, but probably not without raising ticket prices, and certainly not without impacting their product pipeline. You have to keep in mind that all the Apple employees who work the labs and stand up on stage do not get time off from their regular jobs to do these things. Speaking especially involves a huge time commitment and many, many practice sessions over the course of months. And, if you think about Apple's release schedule, now is a really, really bad time for most of these folks to be doing extra duty.

While I'm sure you can come up with many sound reasons why Apple should move the conference to Las Vegas, I think it's extremely unlikely to happen any time soon, and it would fundamentally change the event.

It's a Just Ton of Work

As I alluded to before, the presentations and labs are double duty for the Apple folks. They still have to meet all their work deadlines. While they're working on their slides, they're also coding. Find an Apple engineer this time of year — even one who's not presenting— and you're going to see bags under their eyes. Ask them how they're doing and they'll unconvincingly tell you things are good. In reality, they're frazzled. They're tired. They're stressed out. They're under multiple deadlines and really feeling the pressure. It's a really good idea to be kind to Apple engineers if you encounter them right now. 

The other option I see put forth a lot besides moving the location is to have multiple WWDCs throughout the year. This is a great model for the Tech Talks, which are put on by the Evangelism team, but not for WWDC. If the engineers who build all of Apple's cool stuff had to go through this four times a year, they would burn out, turnover would go through the roof and products would never ship.

You might think that it doesn't have to be the engineers who give the talks, but it really does. That's another part of what makes WWDC what it is. We hear about new stuff from people who worked on it. We have the opportunity to ask questions of those same people. At WWDC, we can hunt down the actual person who wrote the API we're having problems with to get the answer we need - an answer that may not be available anywhere else.

Quite seriously, this particular event simply can't happen more than once per year. It's insanely hard for the Apple folks involved even doing it just once.

The Mega Conference Route

Probably the next most common suggestion I see for fixing WWDC is to utilize the entire Moscone Center (West, North, and South) the way events like GDC, Macworld Exp and JavaOne do. By using all three of the Conference Center's buildings, the capacity of the event could be somewhere north of twenty thousand attendees, which would at least quadruple capacity over the current event. 

In my mind, this has a lot more validity than the previous two suggestions, but it's also something that doesn't fit well with Apple's goals for WWDC based on what I've heard.

Why? Well, that's hard to explain unless you've been to a developer mega conference like OracleWorld, Java One, PDC, Tech Ed, etc. There's a very different feel to these events. In colloquial terms, these events have no soul. Most attendees go on their employer's dime. Large groups often go from the same company and spend all of their time together. The majority of attendees don't even stay in the immediate area, so at 6:00 when the sessions are done, there's a mass exodus from the area. I've talked with many bartenders and other wait staff at Moscone-area establishments and have repeatedly been told that WWDC's 5200 attendees are far better for business then any of the much larger conferences. By and large, we stay in the area and we socialize. We eat and drink and talk within about a five square block radius. You can't stumble more than one of those blocks during WWDC without bumping into an iOS or Mac developer (figuratively, but sometimes also literally).

Also, with the mega conference approach, the attendee-to-engineer ratio goes way down. While they put speakers in bigger rooms and let more people see the talks first hand, the more people that attend, the harder it is to get real answers to problems from Apple engineers. We can all watch the videos when they come out, so the value of letting more people see the talks live is actually far less than you'd think, and the downside is that far more people would be trying to get access to the same number of engineers.

The people I've talked to at Apple really do not want to go this route. They really don't want WWDC to turn into a soulless mega conference. Maybe it will have to someday, but I'm pretty sure it's viewed as a nuclear option to be used as a last resort only.

The All Video Route

Since Apple has become so good at producing the videos quickly, many have suggested going to a session-less model. Have the new content available to stream within Moscone with lots of high-speed hard lines and then set up a lot more labs and more areas to socialize.

This has some merit, for sure. But if you take people out of the sessions, you're once again skewing that attendee-to-engineer ratio. The labs are already swamped. At any given time there are, perhaps, two dozen engineers giving presentations. Putting those two dozen back in the pool of engineers available in the labs doesn't change the ratio all that much, but taking several thousand people out of sessions does, and not in the good direction.

The Jacking the Price Route

Another suggestion I've seen, and one that I believe has some merit, is to jack the price of the conference up. We haven't seen a price increase in many years. There used to be an early bird discount up until 2009 that let you buy the ticket at a lower price, but the full price of the conference has been $1599 for as long as I can remember. I've heard that the money we pay doesn't even cover Apple's expenses any more. Even if it does, they're certainly not making money on the event if you factor in the value of the Apple employees' time and the event's impact on their productivity.

Raising the price of the conference would remove some of the demand. The more expensive they make it, the fewer people who can afford it. But Apple is very resistant to this. It's a very intentional thing that they haven't raised the price. They want to make the event as accessible as possible to less experienced and indie developers. You may think that that goal is not being served, since not everyone who wants to attend gets to attend, but think about this: Over half of WWDC attendees every year since 2008 have been first timers. 

So, What is the Answer?

Make no mistake, this is not an easy nut to crack. Apple has some very firm ideas about what the conference should be and what purposes it should serve, and some of those ideas they are not going to let go of lightly. It may be the case that they will have to eventually change the fundamental nature of WWDC, but I'm pretty sure they'll only do that when they feel they have no other options left.

I've spent a lot of time talking about what can't or shouldn't change. Now it's time for me to be constructive. Software developers are problem solvers by trade, so we should be able to come up with some way to increase capacity of the event without fundamentally altering the feel or purpose of the event, shouldn't we?

I believe we can.

I believe Apple could at least double the capacity while still keeping much of the same feel. I believe they could keep the event accessible to first timers and still meet the needs of more experienced developers. It still wouldn't be a perfect event, but I think it would be a huge step forward to meeting the ever-increasing demand.

First Timers vs. Experienced Attendees

Before I talk about how they do this, let's talk a little about the difference between people who are attending WWDC for the first time, second, or even third time, and those who are more seasoned veterans.

First and second timers: 
  • …are likely to get in line for the keynote early because they want to be in the main room. I suspect this will continue to be true even with Steve gone.
  • …will probably attend a session in every time slot until their endurance wears out.
  • …may attend labs, but are probably able to get answers to their problems from even moderately experienced engineers and even from other attendees.
  • …are more likely to attend planned events than socialize on their own at local establishments.
More experienced attendees:
  • …are more likely to be happy with an overflow room for the keynote and some are happy just watching the liveblogs from their hotel room.
  • …will attend relatively few sessions, skewing towards the more advanced and those featuring brand new technologies.
  • …will be easily discouraged by a long line for a session knowing the videos will be out shortly
  • …will attend labs and will likely have interesting edge case problems that will require the attention of a more senior engineer
  • …are more likely to do much of their socializing outside of the planned events with people they know but only get to see a few times a year
Of course, these are extreme cases and gross generalizations but, in my experience, they're generally true. Those new to the event and those who have been attending for years go to WWDC to get different things out of it. There's overlap, for sure, but some very distinct differences in the experience, and both are valuable parts of what WWDC is and what it should be. 

Tweaking WWDC

So, what about something like this:

Expand WWDC to use both Moscone West and either North or South, but not both. Not yet, at least. Increase the overall capacity to around ten, maybe twelve thousand. Increase the amount of space devoted to working, meeting, and socializing inside the Moscone buildings so that people who are not in a lab or a session are more likely to stay at the conference center rather than go work in their hotel or have a meeting a nearby restaurant.

Instead of having a single admission ticket, have a number of options tailored to the needs of different attendees. Some possibilities:
  • A very expensive all-access ticket that gets you into the main keynote room, maybe even in the VIP section, as well as full access to all live sessions
  • An experienced developer ticket that lets you watch the keynote from an overflow room, but gives you live access to the State of the Unions, What's New in… talks, and the more advanced deep dive sessions, as well as lab access to "advanced labs" staffed by senior Apple engineers
  • A first timer ticket that gives live access to the Keynote from the main room, live access to all the beginner and intermediate sessions, and to labs staffed by less experienced developers who have the ability to call in a more experienced developer if needed.
  • A "keynote only" ticket that lets you watch the keynote in realtime.
  • A "building only" pass that lets into the building, but doesn't let you into any live sessions. You can use the meeting room and work in the common areas and be part of the event
I'm sure there are ways to improve on these ticket categories, but the basic idea would be to let more people experience the event while distributing the scarce resource of engineer time to best advantage. More people would be in town which, itself, increases the value of the event, and more attendees would be able to get what they need to out of the event without sacrificing any of the sacrosanct attributes of the event. 

Apple might event want to consider having more official social and after-hour events for the benefit of the newer attendees. Being at WWDC for your first time can be daunting and sanctioned meet-and-greet opportunities would lessen that intimidation.

WWDC 2014 and Beyond

I don't pretend that there aren't problems with this model. Many people wouldn't fit nicely into one of the ticket categories, for example. Some people would want things not offered by the ticket levels they could afford. Very possibly, still some people who want to attend would still get shut out. There are, after all, 275,000 of us developers in Apple's ecosystem, so likely even doubling capacity wouldn't accommodate everybody who wanted to attend.

That being said, it does seem like a way for WWDC to scale to some extent without sacrificing the fundamental things that make WWDC what it is and what Apple wants it to be.

Thoughts? Criticisms? Improvements? Want to tell me I'm an idiot? I've decided to turn comments back on, so please feel free to chime in.

Sunday, April 21, 2013

SceneKitFun - Project and Presentation from CocoaConf San Jose

Yesterday, at CocoaConf San Jose, I gave a talk on SceneKit. This talk was based on my earlier blog post on the subject, but contained some new materials. The source code and the keynote for the presentation are available on my GitHub account.

The source code is based on the code from my earlier blog post, but contains some new examples.

One of the session attendees e-mailed me after the session with some information. In the session I said that there was no way to specify which camera was used if you had multiple cameras in the scene. This is actually incorrect. SCNViews and SCNLayers conform to a protocol called SCNSceneRenderer. That protocol has a property called pointOfView that can be used to specify on a per-view level which camera is used.

I've added a sample project to the repository called SceneKitFun/Multiple Cameras that shows this in action. There's one scene, but two different views showing the scene from different cameras. This project also shows how to use stock SCNViews with a view controller rather than creating a custom subclass of SCNView, which is probably how you'll want to structure most real-world SceneKit projects. I've also put a note in the presentation on the incorrect slide.

My sincere thanks to Thomas Goossens for pointing this out to me.