WWDC14: The Ultimate Love Letter To Developers

This year’s weeklong Apple annual World-Wide Developer Conference (WWDC 2014 or WWDC14 or just dub-dub) has concluded. There are well over 100 videos, each an hour long, covering all the new updates to iOS and OS X now available at the developer portal. The first day, for the first time in its 25 year history, was live streamed in its entirety. The first day consists of the Keynote (open to all not just developers) and the remaining four days consists of developer-only content (the State of the Union and Apple Developer Awards or ADA round out the day one events). The remaining four days of content is composed of two types of events: the technical developer sessions where the videos come out of and labs where you sign-up to interact directly one-on-one with Apple Engineers. With the videos of the sessions available so rapidly the argument is that the labs and the community are the only reason to attend now. With Alternate conferences taking advantage of this sentiment and being available during WWDC in San Francisco there are hundreds of developers who now go to SF without tickets to have it all but the labs.

The Keynote
The Keynote is the kick-off to the conference and is what the media and general public watches and comments on. This is usually a 2-hour event where Apple presents its latest software updates and new hardware.  The predictions regarding WWDC surround what this keynote will introduce and which Apple manager will be presenting it. Such predictions this year ranged from a new category of device such as the iWatch, a new iTV, Retina iMacs, larger iPhones, and the rumor mill had tons more of predictions with levels of certainty based on people familiar with the situation. What did the world end up seeing?

With surgical precision the keynote was kicked-off with a 5 minute (exactly 5 minutes to the second) video not about hardware or software but about developers. Knowing that the world is watching Apple chose to make this moment about the amazing developers that work to make Apple products magical. If Apple could write a love letter to developers this is what it would look like. This was the developer going mainstream and as an iOS developer it was a message that we have seldom heard coming from Apple. This was a new Apple on display – a kindler, gentler Apple in love with developers in general and new iOS developers specifically.

The usual Apple Keynote structure, that is used like a formula, is to open with numbers on retail. This year, since this is all about and for developers that script went out the window. Sure we received numbers – but numbers that were important from a developer perspective. Nothing about the latest Apple Store openings or about how much traffic each store had. Save that for the earnings call. This keynote was the herald of what was to follow structured as a three act play that would discuss the Operating Systems of both the desktop and mobile devices plus the updates to the developer tools. Without new devices this was arguably the largest WWDC product announcement for developers in the history of WWDC. Tim Cook himself claimed this was the Mother of All Releases and this sentiment was repeated in multiple sessions as being the largest update to the iOS SDK since the SDK.

The WWDC Top Ten

The WWDC Top Ten

The Top Ten Technologies
In this article I’ll list the top ten things I thought were crucial for iOS developers to learn and become familiar with before the launch of iOS 8. In descending order starting from #10:

10. SpriteKit with SceneKit
For casual game development which is the most popular app type in the AppStore as well as the most lucrative the upgrade to SpriteKit promises to make the iOS 7 feature even better with the OS X SceneKit thrown in for good measure. SpriteKit is Apple’s 2D graphics API that now sports per pixel collisions, field forces, inverse kinematics, shaders, and is high performance oriented. SceneKit is like SpriteKit but for 3D with particle systems, physics, field forces, and shaders.

9. Metal
Continuing the push in Gaming Metal is Apple’s new low overhead, highly optimized, easy way to gain full control to the graphics pipeline of the GPU. This may be too low-level for the casual game developer but having Apple provide this means that game engines have a deeper integration with the hardware and a new low-level way to access the graphics hardware translates to better game engines for developers.

8. CloudKit
This new Kit allows you to write client-server apps without needing to write the server. Apple now takes care of providing a NoSQL database that supports records, relationships, queries, and large data blobs. Also, Apple is providing what looks like a great developer portal for you to manage your service in the cloud. And if users use iCloud they do not need to create new user accounts for your app which is a great win and leverages the ecosystem. Plus its free to use up to one Petabyte of assets which is a mind boggling one million gigabytes or about one thousand terabytes of assets.

7. Extensibility
This technology is an iOS first and takes the secure sandboxed app and provides a way for app developers to provide system services (the extension) to the OS in order to ultimately enable communication between apps – something not possible before. These extensions are embedded in an App and become alive out-of-process on-demand in order to share data and provide remote views to other applications through iOS.

6. Notification Center Widgets
A type of extension the Notification Center Widget is a helpful utility that sits in the Notification Center and helps provide simple interactions with your App. It will be interesting to see how far this can be taken and whether a whole App can live as a Widget.

5. Keyboard Extensions
Another first here is that developers can provide their own keyboards. This can allow for more languages and new input methods.

4. iTunes Connect Updates now with Testflight
There are new features in iTunes Connect which tie directly to what users see in the AppStore such as App Previews, which are a welcome addition, providing users up to a 30 second video of an App walkthrough instead of just having only five screenshots. App bundles is a new way to combine up to ten of your apps into a single suite of apps in order for the user to discover your other apps. iTunes Connect also provides better analytics and integrated Testflight Beta testing that increases the previous 100 device limit to 1000 users. The only issue with Testflight now is that you need Apple to provide App approval in order to Beta test. This may slow down Betas.

3. iTouch API
Developers can now provide local authentication using the biometric Touch ID sensor in their App.  This would indicate that iPads with Touch ID sensors should be on the way in the Fall and one wonders how long until we see a Mac laptop with a Touch ID.

2. Interactive Notifications
Developers can now provide the user with custom actions in the notification banner and even work in the lock screen. This has the potential to change the way we interact with Apps and our iOS devices in general.

1. Swift
This is the first modern programming language from Apple in 20 years and it is the answer to the question of what would Objective-C be like if you could get rid of the C baggage.  Started four years ago the director of tools development has been working on this secret project and adding amazing modern language features such as closures, generics, multiple return values, optional arguments, type inferencing, the elimination of both headers and the need for semicolons. The best part is you can mix and match your project with both Objective-C and Swift and target either iOS 7 or 8 so its not all or nothing and you can pour in Swift at your own pace.

The response to this introduction has been nothing but viral with dozens of meet ups springing up organically everywhere. This Apple sanctioned new way to make Apps promises to make App development more inviting to new developers, easier by reducing the learning curve, and has the potential to shake up the App economy. Learning Swift should be on every developers to-do list and knowing Objective-C as a first language will ease the transition.

0. Xcode 6
Let’s not forget that for every item they announced Xcode needs to tie together and support dozens and dozens of these new features to enable the new announced technology. For example Xcode 6 fully support Swift integration and provides the Interactive Playgrounds. Xcode 6 also has updated its built-in Sprite Editor for SpriteKit and SceneKit. The same is true for Extensions as Xcode 6 provides support for Extensions in the area of new templates, scheme settings, debugging, and updated simulators. Xcode 6 also provides support in the Storyboards for the new Size Classes that enables the Adaptive UI and the previewing of device / orientation / and locale in Xcode.  Adaptive UI is the strongest hint yet for new device sizes in the Fall. If that wasn’t enough Xcode 6 also has updated Asynchronous and Performance Testing tools as well as a brand new design and layout for Instruments and updated Xcode Bots. There is even a new feature called View Debugging which is a live interactive way to dive into the details of your running app’s view hierarchy and see a 3D perspective of it. Learning what’s new in Xcode 6 as a developer is essential to being an effective developer.

What’s Next:
There was much, much more announced than what is on this list such as HealthKit, HomeKit, WebKit updates, Adaptive View Controllers, Continuity and Handoff. But I think the list above represent the bare minimum of what an iOS developer needs to be familiar with in order to be prepared for the launch of iOS 8 and the inevitable new devices that are destined to ship with iOS 8 in the Fall. And in the weeks ahead we will deep-dive into each of these topics in my iOS Quick Read columns. We will come to understand why if Apple could have written us developers a love letter it would have been exactly what we received this year at WWDC.

If you feel there was an announced technology that was missed and should have made the cut and needs to be included on this list then let us know in the comments below.

In the next article we’ll explore Swift.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s