Thoughts On Apple’s WWDC 2014 Keynote.

Apple is having its 2014 World Wide Developer Conference (WWDC) if you haven’t heard. As the name implies this is an opportunity for Mac and iOS developers to get together and learn about what is new in the Apple ecosystem.

Over the past few years developers have felt (right or wrongly) that Apple was giving short-shrift to developer concerns, problems, and wishes. Not this year.

Wow!

So why should you, as a non-developer, care? Or for that matter if you’re a developer on another platform care what Apple developers do? The reason is pretty obvious: at this point in time, what Apple does (and has been doing) affects pretty much everyone who uses technology, even if they don’t use an Apple product.

So what’s different this year? Apart from the WWDC Keynote pretty much everything is still under non-disclosure. Here’s what we do know (and can talk about).

No new hardware was announced, which isn’t surprising for a developer’s conference. What usually gets announced are the new versions of Mac OS and iOS and Apple didn’t disappoint. Apart from the usual “chrome” updates on the Mac, Apple introduced a few unexpected things.

Continuity

The major feature is what Apple calls “Continuity” which is the ability to seamlessly transition from an iOS device to your Mac and back. Say you’re working on a document on your iPad. If you get close to your Mac, your Mac detects your iPad and you can pick up working on your document on the Mac. This may not sound cool or useful, but seeing it is impressive. “It just works.” It’s the type of thing that makes you go, “why didn’t I think of that”, or “this is the way it’s supposed to work.”

Last year, Apple introduced their Multipeer Connectivity API along side their iBeacon technology. Both are “near-field”, meaning you have to be close to something to use it. iBeacons got all the “buzz” and press. I came out on Twitter a while back and stated iBeacons are cool, but the real power is in MPC. Apple’s new “Continuity” works more like MPC than an iBeacon setup. I think “Continuity” is just the first card in Apple showing us what MPC can really do. iBeacons are good in stores and factories, MPC is useful everywhere else. That’s just my observation.

“Continuity” was demoed with a focus on Macs, but switch your perspective. Continuity works just as transparently with iOS devices. It can also be made to work with other platforms. It requires no specialized hardware short of wifi or Bluetooth®. Expect to see lots of CAD (Context Aware Devices).

HealthKit / Health

Next, Apple didn’t announce the rumored iWatch, or Apple TV. What they did announce was a developer environment for managing your health, known as HealthKit and an app simply called Health. The app has similarities to Passbook, but will be more successful. Apple has done it’s homework. Instead of creating its own hardware Apple has provided an integration layer to allow vendors such as Nike and others to integrate their hardware and biometric data into a single (data) view. Genius. Now all the gizmos you may have can coalesce their data into a central repository.

Apple has also worked with health organizations to allow HealthKit to call out to doctors and hospitals if it detects your biometric data indicates you have a problem. Expect to see an uptick in consumer medical “widgets”.

HomeKit

Apple also threw its ring into the Internet of Things (IoT) when they announced HomeKit, which takes the HealthKit approach of providing an integration layer to all the home automation IoT devices that are coming on line. Apple says it’s providing a software hub with a standard protocol to allow the various devices to interact. IoT isn’t all that interesting if you can talk to a device and the device can talk to you; it becomes powerful when a device can control another device.

CloudKit / CloudDrive

Apple has been struggling with their iCloud environment, both from a user and developer perspective. iCloud sync was crippling to develop and worked sporadically if you got it right as a developer. Apple has shifted focus a bit (and I believe for the better) by sidestepping the syncing issues by allow a more “Drop box” approach. Now, users can see iCloud as a virtual drive on the desktop and iOS devices. A user can move whatever files and folders they want onto the CloudDrive and have it synced across devices. A lot simpler, a lot more fool proof than integrating background synching in an app via iCloud. iCloud synching is still there as well.

The other aspect of this technology is Apple is positioning this to developers as a back-end cloud platform. Apple has abstracted the server-side code and now developers can create Mac and iOS apps that have a back end server environment, essentially with no work on the back end. Apple hasn’t done so in this WWDC, but expect Apple to allow developers to be able to leverage this to create web front ends in addition to app clients.

Various Other Announcements

There were a lot of other announcements, that are mostly of interest to developers. Mac and iOS “widgets”, Inter-app functionality exports, etc.

One Last Thing

The one announcement that stunned everyone was Apple’s announcement of a new programming language.????!!! Objective-C was the language of choice for Mac and iOS developers.

I spent the night reading the Swift manual that Apple released. It’s an interesting mix of Ruby/Javascript/Go and a few other languages. It includes object-based, reactive, and functional elements.

So why a new language? Apple claims its more modern and designed to get the “C” language cruft out of developing in order to be able to code faster, and with the ability to avoid and detect problems in code. They also claim it executes faster than Objective-C.

The demo Apple gave shows a more interactive environment (think interpreted languages or languages with a REPL). Swift however appears to use a compile-REPL rather than being interpreted. The immediate feedback when coding is great and the code looks a bit “cleaner”.

One thing that Apple didn’t address, is that Swift is a lot easier to learn than Objective-C. I believe Apple wants to dip into the pool of Ruby / Javascript / Go programmers, and more importantly, they are going to get a lot of first-time developers drawn to the ecosystem.

Secondarily, I believe Apple is working on something that every developer has wanted since the original iPhone came out. On-board development. Swift is the perfect language to have if you’re going to be programming on the iPad or iPhone itself. The syntax is easily parsed and can actually be interpreted on a device without having a full compiler. This is the man behind the curtain of Swift.

Tie Swift on a device with Continuity, and you have something every developer wants yesterday.

Conclusion

Apple has had great announcements before. This year is up there as the best or if not the best, up at the top. The main takeaway I got was “ecosystem”. Whether you’re an Apple hater or lover, you’re going to be affected.

#technology # thoughts # iOS

Sent from my iPad