A Developer's Take on WWDC and the Apple Watch OS Update

At Apple's WWDC 2015 conference today, there were some big announcements, both expected and unexpected, that are great news for app developers.

Master your iPhone in one minute a day:

Sign up to iPhone Life's Tip of the Day Newsletter and we'll send you a tip each day to save time and get the most out of your iPhone or iPad.

Open Source Swift 2.0

Apple wants its Swift programming language to be "everywhere and used by everyone." To help make this happen, Apple's Craig Federighi announced that Swift 2.0 will be open source for iOS, OS X, as well as Linux. This gives developers access to Swift's source code and the ability to contribute enhancements and improvements to the language. This is big news coming from Apple who tends to keep a tight reign on its development tools.

Apple has continued to move its new Swift programming language forward since Swift's initial release at last year's WWDC conference. Some of the other improvements listed for Swift are shown in Figure 1.

Swift 2.0
Figure 1 - Swift 2.0's new features

The biggest changes for Swift include better performance, a new error handling API (the try, throw, catch model familiar in other modern programming languages), and a new Availability feature that allows developers to write code that only runs on specific OS versions.

The Swift team created a blog post today where you can learn more: https://developer.apple.com/swift/blog/.

Native Apple Watch Apps with watchOS 2.0

Apple Watch was released just six weeks ago, and Apple has already provided a beta version of watchOS 2.0 that allows developers to write apps that run natively on Apple Watch. The beta is available to developers today!

With the initial release of watchOS 1.0, the functionality of third-party apps was extremely limited. All code for third-party apps ran on the iPhone, which meant the iPhone must be within range for the app to function. With watch0S 2.0, developers can now write code that runs natively on Apple Watch. From a practical perspective, this means you can create a app that allows users to perform many more functions directly on Apple Watch, rather than having to hand off control from your Apple Watch app to its parent iPhone app. Although Apple made Handoff work well, it often wasn't a best-case scenario from a user-experience perspective.

Here are some of the key features that are now accessible from third party apps:

  • Using the Digital Crown as an input device
  • Capturing sound from the microphone
  • Playing audio to the Apple Watch speaker or to a Bluetooth headset
  • Playing video
  • Access to HealthKit including streaming heart rate data
  • Access to HomeKit devices from Apple Watch
  • Access to the taptic engine. Developers can choose from a range of "feelings" and audio to provide haptic feedback to users.
  • Access to the accelerometer

This presents a huge opportunity to app developers who had their hands tied when creating 1.0 versions of Apple Watch apps. It's now much easier to create apps that feel like first-class citizens. One of the most requested features was access to the Digital Crown, which provides a very natural way for users to make a selection in your app. 

App developers now have the ability to create their own "complications" that allows them to expand the presence of their apps to the Apple Watch faces. Complications can be any piece of information from a third-party app the user might find relevant, such as flight times, sports scores, home control systems, and so on. Templates are being provided by Apple so you can create complications that look great on a variety of watch faces.

Another important change for both Apple Watch wearers and developers is that watchOS 2.0 allows Apple Watch to connect directly to known Wi-Fi networks when the paired iPhone is not in range to share its connection. This is a big deal. I have often walked away from my iPhone while wearing my Apple Watch rendering most of my watch apps inoperable.

The New Search API and Deep Linking

Apple announced another great way for developers to extend their apps through the new Search API. In iOS 9, users can search for content within apps using iOS's native search. App developers can index and provide links to information contained within their apps that can be included in the iOS search results. During the keynote, Craig Federighi demonstrated searching for the phrase "potatoes", which pulled up recipe results from the Yummly app. Selecting the result used a deep link to navigate into the Yummly app where you can interact with the content.

Deep Linking is an important technology that's received a lot of attention recently with big tech companies such as Google and startups like Branch Metrics, URX, and Quixey who have been working on deep linking in the mobile space. This new iOS 9 feature goes a long way in helping Apple improve its search capabilities and provide app developers with new opportunities to integrate their apps into the iOS user experience.

Live Streaming WWDC 2015

For the first time in the history of WWDC, Apple is live-streaming not only the keynote, but also over 30 sessions. As Tim Cook mentioned in the keynote, there are many more developers who wish they could be at WWDC, but there simply isn't space at the event. This is definitely the next best thing. Check out this link for more information.

Conclusion

It was a great day of big announcements for app developers at WWDC 2015. I'm looking forward to getting my hands on the betas and taking advantage of these great new features. As Apple allows us to talk in detail about these new features I'll be including them in my regular column "Unleash Your Inner App Developer".

Master your iPhone in one minute a day: Sign up here to get our FREE Tip of the Day delivered right to your inbox.

Kevin McNeish is author of the new book “Learn to Code in Swift” as well as the “iOS App Development for Non-Programmers” book series (www.iOSAppsForNonProgrammers.com), winner of the Publishing Innovation Award. Kevin is also an award-winning app developer, software architect, and conference speaker in the U.S. and abroad. He has spent much of his career making difficult concepts easy to understand. Follow Kevin on Twitter: @kjmcneish.