WWDC 2014 - Part 1 - The Conference

Tim Cook during the Keynote - (K. Sliech, iPhone 5S)

This is the first of a three part series about the week, from my perspective as both an iOS developer and member of the Apple/tech community. In this post I'm going to cover my experience at the conference itself and what I think about the announcements. Part 2 is a an awkward love letter to the podcasters of the Apple enthusiast community who I had the pleasure to meet over the course of the week. Part 3 will discuss how the announcements made at WWDC will affect my iOS app, Mutility.

[1] Part 1 - The Conference (you're here)

[2] Part 2 - Thank You, Podcasters. 

[3] Part 3 - What's Next for Mutility (not written yet)

A note to the reader: People frequently refer to Apple's Worldwide Developer Conference (WWDC) as 'Dub Dub'. At first I absolutely hated it and thought it was ridiculous (Dub Dub in San Fran, bro), but I quickly found myself using the term ironically. Now normally. Oh well. 

It wasn’t that long ago that my Pebble buzzed and I was suddenly in a frenzy of excitement, counting down the days to Dub Dub. Next thing I knew I was on a plane to San Francisco to attend the most epic WWDC in recent memory. WWDC is Apple's yearly conference for developers held at Moscone West in downtown San Francisco. It's five days of developer sessions on various topics, interactive labs where developers can ask Apple engineers questions directly, and nightly parties. WWDC is a big deal for developers, and the keynote is the biggest Apple software event of the year. I got there a few days early to spend time exploring San Francisco, and it was awesome.

 Check-in time baby (K. Sliech, screenshot)

Check-in time baby (K. Sliech, screenshot)

Apple provided a Passbook pass to speed up registration, like a gentleman. The swag this year consisted of a baller black WWDC jacket with a big 14 on the back (allegedly, local gangs also use this number, which was a mild oversight) plus a very generous $25 iTunes gift card to commemorate the 25th WWDC. If you're anywhere near Moscone during WWDC, you'll find yourself lost in a see of bros comfortably ensconced in Dub Dub jackets. It was actually difficult to find specific people, since the demographic of iOS developers + matching jackets = hiding in plain sight comedy. 

 WWDC badge and extremely generous $25 iTunes gift certificate (K. Sliech, iPhone 5S)

WWDC badge and extremely generous $25 iTunes gift certificate (K. Sliech, iPhone 5S)

 

The Keynote

I lined up for the keynote at 4:45AM, finding a place in line probably 1000 people from the front. In fact, some crazies had lined up the night before (man, they must have gotten killer seats). Various companies send promotional staff to bestow gifts of water and snacks upon the line waiters, and occasionally photograph them (like AppFlood did below).

Apple carefully herded us around and into the building over the next several hours and eventually into seats for the 10AM keynote. Just as I was rounding the corner to enter Moscone, I was captured by a Verge photographer and made it into their live blog

And for being at least 1000 people back in the line, I got a hell of a seat. It was in the center and a few rows back from the first video projector, so I could look up and check out that to see small things on stage.

View from my seat at the keynote. (K. Sliech, Canon T2i)

The keynote was a firehose of awesome. Tim Cook got things started, but Craig Federighi really ran the show. He's a hell of a presenter (later I'd get to tell him that in person). If you haven't watched the kenote, SHAAAAAAAME on you. Do that now, I've embedded the video below. But go pee first, because it's 2 hours of awesomeness.

So you don't want to watch this amazing keynote in it's entirety? First, shame on you again, but second, check out the keynote in only 10 minutes, put together by The Verge below.

After the keynote is lunch / feverish download time. A massive area in Moscone opens up for devs to grab a sandwich and park themselves at tables completely covered with power outlets and gigabit ethernet jacks (every-other-ish one with a thunderbolt adapter!). Downloads from this internal network are blazingly fast, perfect for sucking down the iOS 8 and Yosemite betas.

Downloading alllll of the betas (K. Sliech, iPhone 5S)


OS X Yosemite

OS X banner in Moscone West (K. Sliech, iPhone 5S)

Apple didn't even bother to hide the OS X banners (above) in Moscone before the kenote, so the name of this release, Yosemite, 'leaked' a few days in advance. Yosemite brings a nice visual overhaul to OS X including a font update to beautiful Helvetica Neue (of iOS 7 fame). You can read about all the updates here and here, and there are A LOT of them, but I'm particularly excited about 3 specific things:

  • Continuity - Walk up to your Mac while working on something on iOS and an icon will appear, giving you the option to continue composing your email / document / etc from the Mac exactly where you left off. This works the other way too.
  • Visual Overhaul - They didn't go flat, they went iOS 7-ey with a desktop twist. Lots of transparency, whitespace, and depth. The system font was updated to Helvetica Neue, of iOS 7 fame. 
  • iCloud Drive - Like dropbox, but will span all your iCloud capable devices.

Gruber has a great post detailing how the Microsoft, Google, and Apple ecosystems are dealing with all these different devices and how things like Continuity fit into Apple's plan. The bottom line that Apple is trying to make one continuous experience across their devices, while letting the different platforms have their own related but distinct OSes. Although OS X is moving in the direction of the iOS aesthetic, it is not moving to iOS since each platform has their own hardware advantages. It is and will continue to be its own thing, as it should, but continues to be better integrated with mobile devices. I think this is going to be a great release.

I have the beta, but haven't installed it yet. It's coming this fall, and it's a free upgrade. 

 

iOS 8

iOS 8 banner in Moscone West (K. Sliech, iPhone 5S)

This is where the keynote started getting real exciting. iOS 8 brings a ton of polish and niceties to the OS, some that will be useful right away and others that will take time for developers to bring to the masses. Check out Apple's overview here, and what excites me most below:

  • Integration - iCloud Drive and Continuity with other Apple devices
  • New Keyboard(s) - The new keyboard has predictive text features that are context aware. Probably more importantly, you can now install 3rd party keyboards like Swype. 
  • Massive Improvements to Messages
    • Leave or silence group conversations (hallelujah!) 
    • Location sharing that times out after a period of time you select
    • Quick audio and video messages
    • Big collection view of all images in a thread
    • Expiration dates for received pictures
    • So many more updates to messages: Read about it.
  • Actionable Notifications - Think: Reply directly to a message from the lock screen or from a notification banner.

iOS 8 is going to be a great release. There are all sorts of other things, like HealthBook and the home automation stuff, but those are going to take time to matter. I haven't put the first beta on my carry phone, but it's on my 5 for testing purposes - it's pretty buggy right now. Expect it to drop in the fall just before the next iPhone ships. 

At this point in the keynote, we were all super pumped up. That's when Tim and Craig dropped the developer stuff on us and people's heads started exploding.

 

Developer Tools

The list of developer-facing features and updates that Federighi dropped on us was astounding. People were going crazy. I was going crazy. The interwebs were going crazy. I'm not going to get into the details here, but this quote from Brent Simmons early WWDC thoughts sums up how great this event was for developers.

It was like this, though — we kept hearing about things, even relatively small things, that all by themselves would have made for a great week. It was like the greatest Christmas ever — and then Santa Claus hung out so you could take selfies with him.

He wasn't joking, here's me and Santa Claus from later in the week. (If you don't know who Santa is, he's Craig Federighi, SVP of software at Apple - e.g. the guy who's in charge of Apple's software and the dominant force in the keynote)

Craig Federighi, Me, & rock and roll. (iPhone 5S)

The bottom line regarding the new developer-facing updates is that Apple has addressed the vast majority of iOS's limitations, not only very well, but in one fell swoop. I expect to see whole new classes of apps that were never possible before appear when iOS 8 drops this fall. It's going to be great. If you're looking for a high level overview of what i'm talking about, check out Apple's page on what's new for devs.

 

Swift

Nobody was expecting a new programming language (even though John Siracusa's been asking for one since 2005) and Apple dropped a nearly fully baked and modernized replacement for Objective-C. When Craig announced Swift, the electricity in the room was palpable. It was incredible. People were freaking out. It was a cacophony of 'holy shit's and 'oh my freaking god's. It took everyone by surprise, and was by far the hottest topic of the week, and will be for the foreseeable future. This language is the future of development at Apple, from the OSes themselves to the third party apps that schmucks like me write. 

Aside: If you're wondering where this language came from and/or looking for a software hero to worship, look no further than Chris Lattner. He started working on the language, by himself for the first year, back in 2010. And you may be thinking, what makes this guy qualified to come up with a new language for Apple? Well, this is also the guy who wrote the original LLVM compiler. Not. A. Dummy.

You can read more about Swift here. I can't wait to start learning it, but will be waiting some time before I dive in. Below, the thing on the left is not real but awesome. The thing on the right is both real and awesome.

 

The Sessions

I don't have much to say about the sessions except that they were exceptionally well done and are available online to all. Throughout the week I went to a number of sessions directly applicable to what I'm working on (On-boarding, custom UI, etc) and a few others that were out of my wheelhouse (Advanced CloudKit, SceneKit) just to get a taste of something new. I completely avoided the live Swift sessions, but I'm about 3.5 hours into the videos now.  

Actually, I do have one poignant thing to say about the sessions: They strap power outlets to the chair legs! And I appreciate power outlets. I even took a picture!

Under-chair power and coffee storage! I found this incredibly exciting. (K. Sliech, iPhone 5S)


The Labs

Frameworks Lab in action (K. Sliech, iPhone 5S)

I spent a real lot of time in the labs. In fact, I spent more time in the labs than I did in actual sessions, instead catching up on the videos of them later. The labs present an opportunity to have Apple engineers look at your code and field questions, often by the person who wrote a particular part of the environment. For example, when I went to the Tools Lab to resolve a weird source control issue within Xcode, the gent who worked on that part of Xcode straightened it out for me. Besides the social and networking aspects of being at WWDC, the labs are the main technical reason to attend WWDC - you can always watch the session videos later, but you never get to talk to Apple engineers otherwise.

UI Design Lab - the most coveted appointment of all. (K. Sliech, iPhone 5S)

The most important lab to attend, by far, is the UI Design Lab. Appointments fill up very quickly, often in the first hour or so of the day. I was able to snag one on the very first day they were available and met with an Apple designer about my iPhone app, Mutility. He had all sorts of interesting insights and suggestions, but his most useful act was to point me towards an ex-Apple UI designer that's a big MTG player. Turns out he already uses my app and says it's by far the best one in the store! That certainly made me happy. Besides the ego boost, I walked away with some things I need to work on.

 

Make Friends, Make Party

 WWDC Beer Bash with Bastille credentials. (K. Sliech, iPhone 5S, Instagram)

WWDC Beer Bash with Bastille credentials. (K. Sliech, iPhone 5S, Instagram)

I was lucky to meet a lot of great, fun developers during the week.There were so many awesome (and occasionally missing) memories from this week that were all made possible by these great folks. Special shout-outs to @brianpartridge@simontaen@kimahlberg@afwaller, @DentedMeat@Dirk_Gently, @lukei4655 and the many others that slipped through the contact-exchanging cracks. I came to the conference barely knowing a few people and feel like I've left with many more friends. I'm going to torture them with iOS dev questions... Sorry in advance guys.

It didn't hurt that there were multiple parties going on all over San Francisco every night of the conference, and I went to as many as I could. I had such a good time that, eh hem, I didn't quite make it to a single 9AM session the entire week. Oh well, I get credit for the pre-5AM arrival to the keynote line, right?

The week culminated in the Apple-hosted Bash, complete with many open bars, Bastille, and thousands of devs. Big props to Bastille for pointing out the obvious just before starting their set.

"This is the most male and intelligent crowd we've ever played for. No correlation of course!" - Bastille

Bastille at the WWDC Beer Bash (K. Sliech, iPHone 5S)

 

In Conclusion

The week was incredible, and I'm very lucky that I got the opportunity to go. It was a big bonus that this WWDC had the most epic announcements in many years, and I can now say that I was there for it. There's certainly much more to talk about, especially with the technical items that were announced, but I need more time to digest them.

WWDC will burn you out. I felt like this guy by the end of the week, but it was so worth it.

Felt like this guy by the end of the week. (K. Sliech, iPhone 5S)

But wait, there's more...

[1] Part 1 - The Conference (you're here)

[2] Part 2 - Thank You, Podcasters. 

[3] Part 3 - What's Next for Mutility (not written yet)