WWDC 2016

Apple made a lot of announcements last month in its annual World Wide Developer Conference, and introduced the latest versions of its operating systems and developer tools. Here is a breakdown of the most important announcements that will affect software development companies moving forward.

1. SiriKit

In my opinion, this is the most sought-after functionality developers and clients alike have requested over the years. Well, its finally here. Apple is providing a public API so third parties can develop iOS extensions that trigger in response to Siri. The only drawback is that it is limited to the following categories:

In addition to these new features, its worth mentioning that Siri already supports automotive control features with CarPlay, and HomeKit has allowed allowed Home Automation with Siri since iOS 8. This new API is going to help usher in a wave of innovation and new categories of mobile apps we haven’t seen before. It will also greatly improve the UX of existing apps like Uber and WhatsApp.

2. Swift 3

Although this should be #1 on this list, I believe Swift will bring more changes to software industry in the long term, but short term, Swift 3.0 is a huge improvement from 2.3. One of the biggest breaking changes is Apple adding “Swift Overlays” to its frameworks (some of which were originally written in Objective-C in the 90s) to make Swift a first-class citizen for iOS development. Another breaking change that will affect every single iOS app (with any Swift code), is the move by Apple to forgo classes in favor of structs and value types in its Foundation framework. This is more than a simple API change, it’s in fact, a huge paradigm change for current Apple Developers and programmers coming from other languages like Java, C#, and JavaScript. C developers should feel at home though. Unlike last year, Apple is letting developers chose between Swift 3.0 and Swift 2.3 for publishing apps to the App Store, so developers can take their time migrating to the new version of Swift.

3. Home App

When HomeKit was announced in iOS 8, it took a while for companies to make their existing IoT products HomeKit-compatible. Fast forward 2 years, and now HomeKit is a first-class citizen of iOS, even shipping a beautiful Home.app on your home screen. HomeKit’s goal is the unification of IoT and Home Automation products by adopting an Apple-defined protocol so they can easily talk to each other. This allows you to control the lights in your house via Siri, and setup home automation rules (Apple calls them “Scenes”) similar to what IFTTT does with apps. While Apple has accomplished this goal protocol-wise (by providing both HTTP and Bluetooth variations of its HomeKit Accessory Protocol to encompass all manner of devices), besides the Siri integration, Apple provided no user interface for HomeKit, and on the app side, that experience was fragmented. With the new Home app, centralized home automation is easier than ever, and you won’t need to download the specific third-party apps for each HomeKit accessory you purchase. This should boost HomeKit’s popularity and demand with hardware developers.

4. WatchOS GPU-accelerated Games

WatchOS is in a special category of iOS development due to the lack of native APIs like OpenGL and UIKit. While most attribute the App Store’s success to the proliferation of mobile games, that innovation and boom would have not been possible had the iPhone only allowed Web apps like Steve Jobs originally planned. Due to the issue of battery life, the Apple Watch provides a very limited API for native apps, in fact, its more limited then making an average website. One way Apple wants to lure developers to its WatchOS platform is by allowing them to make OpenGL accelerated 2D and 3D games with its SpriteKit and SceneKit frameworks. Since this is what many developers have asked for since day one, it will promote a boom of WatchOS games, like we see on the iOS and tvOS platforms. One drawback is the fact that those platforms can use OpenGL and natively port their code from Android, to iOS. WatchOS game developers will have to rewrite their rendering code for Apple’s platform.

5. Message and Map Extensions

With the introduction of iOS extensions in iOS 8, Apple has allowed third party apps to embed a part of their app in Apple’s stock apps (e.g. Contacts, Photos) and other third party apps. Now in iOS 10, developer’s can write extensions for the Message and Map stock apps. This will allow users to use apps like Uber and Yelp in the stock Maps.app without having to switch between contexts. The Message extensions allow all manner of custom content in the stock iOS messaging app, again, allowing for a new category of mobile apps.