Apple CEO Tim Cook walks past a logo for SDK at the Apple Worldwide Developers Conference in San Francisco, Monday, June 2, 2014
SAN FRANCISCO - It's a great time to be an Apple developer. That's the consensus from the dozens of iOS and Mac developers I've spoken to at WWDC 2014 in person or online.
The headlines of Monday's keynote may have focused on the exciting features that end-users can look forward to in iOS 8 and OS X Yosemite, but many of its biggest announcements were aimed squarely at its developer community.
A day later, developers are still digesting and processing the array of new features, APIs and development tools Apple unleashed. From HealthKit, HomeKit and Metal on iOS 8, to the new design and integration options in OS X Yosemite, developers and designers are excited — and, in some cases, surprised — by the influx of new toys.
HomeKit and HealthKit
Two big announcements for iOS 8 are the introduction of HomeKit and HealthKit — APIs that will better work with home automation devices and with health and fitness trackers.
With HealthKit, the real promise is that health data from a variety of sources (apps, trackers, databases) can be aggregated in one interface. Other apps can also access that data (with user permission, of course).
Most developers I spoke with were excited about the potential of HealthKit. But they also begged the question: are developers willing to give access to their data to others?
Joe Nedumgottil shared his thoughts on that issue in a post on his blog:
My Fitness Pal is one of the leading food trackers. Right now, they require other companies to sign an agreement with them to access their API, with its food database and other entries. If My Fitness Pal feeds this data into the Health app, any other app can grab the data from there without needing to sign anything with My Fitness Pal. They would be giving up a lot of control to Apple by allowing Health access to their data. Same goes for other heavyweights like Runkeeper, Fitbit, etc.
It's a good point. It's not clear if being part of HealthKit means an app has to make its database accessible by others. It's possible Apple could allow apps to have their own APIs within HealthKit too, which would designate what is unlockable inside other apps.
Even without explicit access control, most developers I spoke with seemed to think that most major fitness or health apps will want to support HealthKit — especially if their competitors do.
As for HomeKit, developers are excited abut the potential for a real set of home automation standards.As for HomeKit, developers are excited abut the potential for a real set of home automation standards. Right now, the home automation space is a disparate mess of various APIs, management apps and interfaces.
There are a number of third parties that are already attempting to standardize the home automation, including Zonoff, SmartThings and Revolv.
The differentiator with HomeKit, at least now, seems to be largely about how its libraries and control options exist officially within iOS. HomeKit seems ripe for having an accompanying device act as a smart home "hub" — hardware that can seamlessly talk to all the connected devices in the home and route commands and control access seamlessly. It also makes it very easy for users to have a seamless interface to natively control, add and remove devices from the home.
Wouldn't it be great if Apple already had a low-cost accessory that exists in many homes and can work in many rooms?
A more open iOS 8
Most of the developers I spoke with were shocked — and pleased — to see Apple open up so many parts of iOS 8 to them.
Not only is iOS 8 getting a new predictive text keyboard, but third-party keyboards can be installed and accessed system wide.
Likewise, Apple is allowing developers to build widgets that live in Notification Center. The company is also finally letting applications create extensions so that they can talk to one another — and Safari can have its own extensions too.
This opens up a whole breadth of possibilities for developers. Already, third-party keyboard makers are prepping their wares for iOS. Developers such as Agile Bits, the makers of 1Password, are especially looking forward to what they can do with extensions and TouchID access.
Ron Levy, CEO and co-founder of photo-management app Flayvr, sees this improved access as a big win for developers. "This really shows how Apple are opening up and enabling developers to offer more native-style solutions," he says. "The inclusion of widgets is also great as again it provides us with many more touch points with users - not just via the app itself."
For Flayvr specifically, the new PhotoKit API "opens up iOS to a whole new world of options" for Levy and his team.
Swift is WWDC 2014's MVP
Of all the new features and tools announced by Apple, the one getting the most buzz is undoubtedly Swift, a new programming language for Cocoa and Cocoa Touch.
No one was expecting Apple to release a new programming language at WWDC.No one was expecting Apple to release a new programming language at WWDC. So the announcement of this new language, designed to be more modern and efficient, was a big surprise — and a welcome one at that.
We'll talk more about Swift in a future article, but for now, all you need to know is that almost all iOS and Mac apps are built using Objective-C, a programming language created in the early 1980s and adopted by NeXT (Steve Jobs's post-Apple company) for its NeXTSTEP operating system (the precursor to OS X and iOS) in 1988.
There are a lot of great things about Objective-C, but there are some problems as well. Swift is designed to talk to Cocoa and Cocoa Touch — the core APIs for iOS and Mac development — while also making it possible for apps to run faster.
Even more importantly for developers, Swift is designed using a syntax similar to modern languages such as Ruby, Python and Rust, which can make learning to code and picking up a project much easier.
One iOS developer, Brad Brighton, sees Swift bringing in "a generation of developers that grew up on other languages."
That's a sentiment echoed by Moshe Berman. Within hours of Swift's announcement, Berman says he was approached by a few high school students he mentors, asking if Swift is easier to learn than Objective-C. "At a glance," he says, "I think it may lower the barrier to entry" for iOS or Mac development.
Dan Woolstencroft has bee a Microsoft developer for 12 years; he thinks Swift might provide an easier way to transition into iOS development. He's always wanted to learn Objective-C, but that it hasn't happened because of the differences between it and Microsoft-centric languages, such as C#.
"From what I've seen of Swift so far it has parallels with C# and Java," says Woolstencroft. "Which suggests a more comfortable transition from Microsoft languages. This lowers the barrier for entry for enterprises with existing Microsoft development teams." Woolstencroft adds that he may have an easier time selling Swift as a viable option to his team than he would have with Objective-C.
And it's not just American developers that are excited about Swift. Rich Lowenberg, the lead iOS engineer for Gametime offered this observation: It allows developers to program to a certain extent in Chinese, or any other language they want.
"This has major implications," Lowenberg says. "For non-English speakers, programming tends to have a steeper learning curve. Allowing everyone to code in their native language, regardless of whether or not it uses Roman characters, suggests that Apple is making concrete efforts to broaden its developer base in Asia, and could eventually lead to a premium on developers who speak both Chinese and English."
Jean Brunet, the president of Hali Game Studios, says Swift "will not only make my apps run faster, but it will also speed up the development process with its streamlined syntax."
Of course, Swift still has to prove itself. Brad Brighton is optimistic about Swift, but notes that "it remains to be seen whether it actually provides real benefit" — or is just this year's shiny new toy.