Friday, April 26, 2013

"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.


Kevin Mitchell said...

It seems the most constrained resource is engineers at the labs. I think that it'd make more sense to perhaps widen the audience for sessions (and the Keynote). Keep it in San Francisco, but use more of Moscone. San Francisco and nearby areas have cultural and natural appeal that Las Vegas doesn't have, at least for me.

Maybe put in a sign-up system specifically for the lab times, preferably well before the actual conference.

I'd be totally okay with being in overflow for the Keynote. I'd be okay in really big rooms (with video monitors for the back rows) for the regular sessions.

My coworker got a ticket, eventually. All I got were server errors after giving my login information, and no call; I never even got to the cart.

I would have been pretty happy if we both could go to all the sessions, and then maybe one of us could go to the lab, or we'd get "just X amount of lab time" and had to make the best of it.

I know some readers plan to just go to San Francisco anyway. I'd probably do it if was my own small business; I'd go to AltWWDC and bring my work, and send my colleague to the labs. It's a much harder sell when an employer is paying for it.

Tom said...

I think they ought to keep the event as-is or perhaps expand attendance as you say, but the one option you didn't really contemplate was a virtual attendance -- the ability to buy a ticket to attend streaming sessions in real time, rather than having to wait for "tape delay".

Danny Goodman said...

As a fellow WWDC vet, I concur with most of your historical observations. I've attended back in time when most of this year's attendees were still drinking from sippy cups. But onto the future:

The most valuable resource available to attendees is Apple's engineering team. Twenty minutes I spent with a UI engineer a few years ago paid for the year's ticket. Increasing the attendee pool, however, will only exacerbate an already unwieldy non-system of locating and spending time with the engineer(s) who can handle a specific problem. At least the UI lab has gone to an appointment system -- something that should be implemented for all the other labs. True, the week's slots will book up in a few minutes, but at least you won't blow an hour waiting to not get your question answered.

You mentioned the regional Tech Talks, which I found userful. But have they done any in the last couple of years? Not that I've heard of.

You'll be able to find me this year with my nose squished up outside the 4th Street window of Moscone West.

Jeff LaMarche said...


Honestly, streaming live would be awesome. I don't think it's going to happen. Apple wants to retain control over what gets out. They often make minor cuts and edits to sessions for one reason or another. Certainly, they can get them out faster, and I would LOVE to see the keynote and SoTU talks live streamed. I don't mind waiting a week to find out how to use the new stuff, but I want to know what the new stuff is as soon as possible.

Unknown said...

I won't get into my ideas of how to make WWDC be more inclusive. Some of that depends on what Apple's goals really are. I do miss some of the night-time events Apple had at WWDC before SF: dinner was served at the event each night, trying to keep more people socializing than leaving, and there was a light event after that. (While we still have Stump the Experts, the talks from the Advanced Technology Group are missing). I probably made more Apple developer friends during those years than I have since at SF.

What I really wanted to comment on is how to actually sell those tickets in a better fashion. I didn't like the way they did it this year or last year (although I managed to get tickets). And I am not a fan of "give tickets to long-time developers" or "give tickets to those who have the most apps on the AppStore", as those and similar mechanisms don't ensure the flow of new blood into WWDC. We could probably fill WWDC with just developers from Google, EA Games, Zynga, Facebook, and other big companies, but that's not what anyone wants to see.

Given that tickets are not inexpensive, and that they're not transferable, I think I can safely presume that people who are trying to buy tickets, really do want to be at the conference.

Here's my proposal for next year:

- Apple should announce a date one week into the future, when tickets will be assigned to developers.
- Apple will then ask developers who are interested in tickets to log into their accounts and indicate that they would like a ticket to WWDC.
- Developers must have been developers for 3 months.
- There is a 5 day window to sign up and indicate interest in a WWDC ticket.
- Developers will have to utilize a credit card to have a refundable deposit charged to that card, equivalent to WWDC ticket price. (This ensures that there are no issues with cards and payment later)
- After the 5 day period, Apple has 2 days to do a random selection amongst all those interested, and assign tickets.
- Apple contacts developers and lets them know that they have tickets, or that they don't and the ticket deposit is being refunded back to them.

This should make the process more fair and less like a self-inflicted DOS attack.

Apple could do a little filtering on the set of interested developers - which could be good or bad. For example, Apple could reduce the number of developers from one city, assuming that with more developers spread around geographically, local meetups could help provide some local DTS. Or by asking for titles or job descriptions, ensure that there are some app designers in attendance, instead of just coders. But, I digress - I don't want to turn this into a college application process.

jake said...

This is an interesting suggestion and choosing ala mode would help with some constraints but knowing us Apple developers, we know value when we see it and tend to go for the 64GB iPad when we can. I'm not sure most people wouldn't just buy the super-duper pass. I did meet multiple people last year who were only there for the Keynote and then were taking off so that would definitely help with that issue.

That being said, it seems like this is a symptom of a larger issue where WWDC fulfills the roles of real-time discussion of topics under NDA, allowing to have engineers help with particular issues and if the issue can't be solved allows to show the engineer that it's an issue.

If the developer forums, Technical Support Incidents and Radar weren't so, let's say lacking, perhaps the push to get into Moscone wouldn't be so great. There would still be a huge push because, let's face it, WWDC is just tons of fun but it wouldn't be heartbreaking if you couldn't get in.

Jeff LaMarche said...

I'm not sure most people wouldn't just buy the super-duper pass.

Sure, but there'd be limited quantities of those. But when those passes ran out, there would still be options people could choose instead of being totally out of luck.

Again, it's not perfect, but I think it'd be better than what they have now.

Jeff LaMarche said...


You have some interesting ideas about buying them. I think trying them out would be an interesting experiment. I don't really see a downside, honestly. I'm just not sure Apple would take such an approach.

Also, some people would complain about having to put the downpayment in.

People always find something to complain about... :-/

Unknown said...

A couple of thoughts: DisneyWorld might be a better choice than Vegas for the 'Mega' route,

And maybe carving the conference into iOS and OSX tracks might help, for a level below the 'super-duper' pass.

Sebastien Boisvert said...

" 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. "

You mean you need to spend $1600, fly half-way across the world, to get a proper answer.

Doesn't that suggest something fundamentally wrong with Apple's developer relations, one which if fixed, might actually alleviate this whole 'WWDC problem'?

Kevin Mitchell said...

One problem Unknown's ideas would fix is this: Some people didn't get to buy tickets because their attempts to log in failed due to server errors.

In my case, I happen to belong to two development teams, my own, and my employer's. It's clear from ticket activation difficulties that the WWDC registration system has a hard time with those who were on multiple teams.

In another developer's case, the server picked a really inopportune time to insist on a password change.

If you could at least be logged in before the "magic hour," it might have helped.

Registering intent a week before a lottery levels the playing field a lot, and gives Apple time to deal with any kind of account glitches: server errors, password problems, stale browser cookies, inability to log in for some reason. No server is 100% overload-proof, and the WWDC registration software only gets used this one time...and two minutes is not enough time to fix an evident bug.

For a chance to go to WWDC, sure, I'd let earnest money float on my credit card for a week.

id said...

Having had my card declined a couple of times for WWDC tickets I called my CC company and had it pre-cleared for an Apple purchase.

Spencer Westwood said...

Perhaps European/Asia/Australasia conferences would ease things - logistics and engineer availability aside. Engineers doing presentations could do some remotely, some in person and the presentation itself is a repeat of the one at WWDC.

Just a thought.

Sef Tarbell said...

I like the idea of registering for a lottery. Essentially what's happening now is a lottery anyway. The people who get tickets are the ones that happen to have no problems with scheduling, credit cards, dev accounts, internet, etc and manage to get thru.

I didn't manage to get a ticket this year, and I only managed to get one with some luck last year. So, I think a combination of expanding into Moscone North/South and increasing the number of attendees by 50%, even up to 100%, would greatly improve this for all sections of people.

I have been to WWDC three times, I got something different from it each time, and I look forward to my next time - hopefully 2014. Have a good time there all who managed to win the unofficial WWDC lottery. :)

Janie Clayton-Hasz said...

Hello. I am a student who is attempting to win a student scholarship ticket. I agree with much of what you are saying.

I have only been programming iOS for about 6 months. I have absolutely no reason to talk to an Apple engineer about the API because I am still trying to learn a lot about the language. I want to go to attend the sessions and to network.

I also worry that I will have no chance of winning a student ticket. I will be competing with other students who have attended in the past, who have been programming iOS longer than I have, and ones who are professional developers, but take one or two classes a semester to maintain their student eligibility. Hell, I am contemplating not graduating for another year to have another bite at the Apple!

I like the idea of having limited tickets so that people like me can go to the sessions and socialize with other app developers.

city said...

thanks for share..

Captain Obvious said...

If Tech Talks are only 1 day long then it's hard to see how useful they'll be. Apple's move has to be to increase the size of WWDC to let more people attend. Otherwise we're going to see this same scenario play out year after year with some people getting in and most people kept out.

My own personal preference would be to have all of the session materials prepped and ready to go and available for download on the developer portal - new versions of OSX and iOS, new XCode, all session slides and code - with the sessions streamed according to a public schedule. Those of us who go to WWDC for an advance look at iOS could get that for $100 or $200 instead of $1600 and a bucketful of angst.