So, WWDC is finally behind us. There's so much I want to talk about, but I can't. Not until the NDA comes down. So it's kind of hard to write a post conference synopsis. Still, there are a few high-level concepts worth mentioning.
Thinking back on the conference, I feel like I'm finally seeing the end of several long-term efforts. As an end user and developer, Apple is often frustrating. There are always a few obvious problems or enhancements that we keep yelling about. Apple largely ignores us--or at least, they appear to ignore us, but behind the scene things are moving. Apple doesn't want to give us the quick and dirty solution. No, they'd rather take some time and fix things the Apple way--by providing a completely new technology that goes beyond a simple band-aid.
iCloud is probably the best example (of the things I can talk about). We've all been struggling to move documents too and from our iOS devices. iCloud gives us that and more. We now have seamless integration between iOS devices, Mac and PC. Sure, Apple could have given us a simpler "upload to iOS" API years ago--but they decided to wait until all the pieces came together, and then gave us the complete iCloud.
In a similar vein, I think Apple's laying the groundwork for the future. Look at Twitter integration. It's kind of interesting. I'm a big twitter user, so that's good for me. It's obviously good for Twitter. But, I'm not sure what Apple gets out of it.
However, this may be just the toe in the door. What happens if iOS expands the type of accounts it supports? Facebook is an obvious next step, though, personally I'd love to see Amazon integration. Now we're talking about something really cool and potentially really powerful. The iOS handles access to all our online accounts, and gives access to those accounts (with our permission, of course) to any number of 3rd party application.
I suspect other online companies will look at Twitter's inclusion in the OS, and will say to themselves, "Hey, I want to get some of that too." Apple may find itself besieged by companies asking to be included. I wouldn't be surprised if iOS 5.1 comes out with a whole slew of new account types baked right in.
Additionally, while many of the consumer-focused changes to iOS 5 are cool, I think the real strength of the OS will only become obvious once developers start building iOS 5 apps. Photo streams are cool. Integrating iWork apps across all my devices is even cooler, but having all my apps integrate seamlessly across all my devices--now that's a real step forward.
Similarly, Apple seems to have been watching what we--as developers--do with their SDK. And not in a creepy-bad way either. Apple's clearly keeping tabs on how the developers are using the SDK, and making notes on those cases where we are doing really, really bad things. Then they're acting to help make those steps unnecessary.
Let's say you want to do something that the SDK doesn't support. Objective-C and Cocoa Touch are both very flexible. There's probably a way to work around the limitations. Unfortunately, many of these approaches can be quite brittle. They work on the current OS, but may break if the underlying implementation changes. In other cases, they may extract a high performance cost. You can find a lot of tips and tricks of this nature online, and a lot of developers use them.
In many cases, Apple has responded by either expanding their SDK, giving us approved methods. In other cases, they discussed alternative (safer and less costly) solutions. Regardless, this seemed to be the second big theme of the conference. In almost every session, an Apple engineer would bring up a common anti-pattern, then present a better solution. Sure, most of the time their examples were so obviously wrong that we could all laugh about them--but there were a number of times when I had to sit back and say, "Oops, I've done that...I should probably rewrite that code...."
Last, but not least, I was a bit surprised that no one at WWDC talked about the whole Lodsys situation. Honestly, I expected Apple to say something at the conference to reassure its developers. Instead, they quietly filed a "motion to intervene." Even weirder, I didn't even think about it until after the conference was over. Apparently, I was completely hypnotized by all the new, shiny things Apple waived under my nose.
In truth, I guess this is all we can really expect. Apple's lawyers undoubtedly advised against saying anything in public, and they are taking an active roll in protecting the iOS app ecosystem. Still, some reassurance would have been nice.