WWDC 2014

This year, in lieu of a golden ticket to San Francisco, I had the opportunity to organise a meetup in Adelaide to watch the Keynote live at 2:30am. Not expecting more than a handful of people to turn up at 2am on a weekday morning, I was surprised to have 12 other Apple enthusiasts in town rock up. So with some comfortable chairs set up, enough sugar and Red Bull to keep us awake for at least 24 hours straight we watched the live stream over the Apple TV.

Watching the Keynote at Hub Adelaide at an hour only for the somewhat diehard

Watching the Keynote at Hub Adelaide at an hour only for the somewhat diehard

With little preamble of sales and "customer sat" charts it was clear that they had a lot to get through. Two hours almost wasn't enough to present all of the new features and tools revealed in this Keynote.

OS X continues to show that its maturing at a steady pace and, in my opinion, with just the right amount of progress to be new but not jarring — avoiding Windows 8 like shock. This year has brought some key features that have connected OS X and iOS deeper than what has been thought of.

What was the most interesting feature in my mind was apart of a set of "Continuity" features. Handoff utilises proximity to begin to contextualise the physical relationships between a persons devices. This allows one to begin drafting an email on a portable device and by proximity awareness continue editing the draft on OS X through a convenience shortcut. This is in no doubt because of frameworks and technologies like Multipeer Connectivity, AirDrop and Bluetooth Smart — have yet to dig into it.

As the presentation of Handoff continued I couldn't help but think that it sounded a little bit familiar. In late 2012 I put together a post about my thoughts on a simple annoyance that happened daily. The idea that via Bluetooth Smart, or other means, the devices I use can understand their context and relationship between themselves and me. The annoyance was centred around Push Notification alerts arriving on all devices (iPhone, iPad, MacBook) and all wanting my attention.

What Apple has done with Handoff was something even more ambitious than just silencing multiple notification alerts. Coming from an understanding that once one know the proximity relationship between devices they can work together to better serve their users needs and means of getting something done. But this could only be the beginning for proximity based enhancements between these two platforms.

Another feature that sparked my interest was the arrival of a Touch ID interface. As expected, not the means to directly work with the biometric device but rather to request its usage to verify the user. Internally known as the Local Authorisation framework; it provides a very modest feature set which primarily only allows the request of a prompt to touch authenticate to proceed with an action.

This will mean that applications using sensitive information, including mobile banking apps, can move to a Touch ID authorisation method rather than a pin code if the biometric device is available. This is something that I have been looking forward to seeing how it would be implemented, guessing it could be integrated to the Keychain. This implementation is simpler and more flexible for the application to interface with. Plus, it doesn't mean they had to drag the Keychain API from its C API purgatory into a modern interface.

Another new interesting core feature for iOS 8 is App Extensions. This allows iOS to embed third-party content and interactivity across core areas of iOS like Notification Centre and even the keyboard. What has been long said as a far-off but inevitable feature for iOS has now materialised. What we see here is just the beginning. It will be interesting to see where and how the developer community takes this new ability.

HealthKit, HomeKit and CloudKit hit near the end of the Keynote and by their brief preview looks like they have massive potential. HomeKit can potentially solve the problems with currently fragmented home automation appliances. HealthKit can really help improve peoples lives — not the 'improves peoples lives by providing asynchronous, cloud based, aggregated compression algorithms for enterprise and consumers' malarkey but something really, actually beneficial. CloudKit sounded like an awesome solution to get developers off and running with an application by taking care of the backend. Yet to be seen how and where this can be used and how things like migration off of CloudKit or restrictions will play out.

With all of the other new features and API's available to developers it is clear that this is a company that is focussing on the future, a realistic future, and beginning to optimise and improve the relationship between portable devices and traditional computing. All of the frameworks and features that have been rattling around in iOS and Mac OS are beginning to bear fruit. An interesting way to help theorise about what Apple will do next is look at the vast array of useful technologies, frameworks they have at their fingertips today waiting for another need to fulfil.

I'd like to thank the people that attended the meetup on Tuesday. I never thought that more than a handful, at best, would even be remotely interested or willing to head in to the city at 2am. And, sincerely, to Red Bull for getting in touch out of the blue to offer some refreshments to get us through the night. Thank you.

An accidental article talking about Bluetooth & the iWatch

Listening to the latest episode of the Accidental Tech Podcast today the topic of Apple's speculated "iWatch™" featured when talking about a recent Apple hire. One thing that was mentioned is that it is not clear how this would "work" with an iOS device stating that 'Bluetooth probably has something to do with it'. Bluetooth certainly has something to do with it and theres some interesting hints to go along with that.

Over the past 6 months I have been playing and experimenting with Apple's Core Bluetooth framework. It utilises the new Low Energy Bluetooth medium to be able to talk to external peripherals. This is already used in products by FitBit, Nike, BlueHR and many others which are primarily focussed around health & fitness monitoring.

However, Low Energy Bluetooth can do so much more than that and over the past couple of iOS releases has been hinting at the possibilities that Apple may be exploring in the future.

So here is what I have been thinking about over the past few months with all of the iWatch™ speculation. First, just an overview of what I'm talking about then into the finer details and hints over the past few years.



What is Low Energy Bluetooth capable of?

Here is Bluetooth's key features for its low energy technology:

  • Ultra-low peak, average and idle mode power consumption
  • Ability to run for years on standard, coin-cell batteries
  • Low cost
  • Multi-vendor interoperability
  • Enhanced range

Its a rather simple concept. Low Energy Bluetooth is designed to be basic in what it can deliver but in turn gain so much in energy efficiency. Primarily designed to send small, structured data and not stream large blobs.

As an example, a device as big as a 50¢ coin could be placed on a shelf and periodically advertise the current ambient room temperature for over a year, on one CR2032 battery. Requiring no "pairing", just scan for temperature sensors and the current temperature can be read automatically by another device.

With that said; it is capable of more than a couple of bytes of data. It is feasible and within its capability to transfer data that represents a contact card or a very small file - requiring some chunking to get it over in manageable pieces.

A lot of the technical detail has been glossed over but that hopefully should give a rough idea of how it is different to Classic Bluetooth and other technologies.


Hints over time

October 2011

The beginning of this story starts with the release of the iPhone 4S which shipped as the first mass-produced consumer Bluetooth Smart (4.0) device. At the time there was no Core Bluetooth framework. Moreover, this was not a hint as to Apple's ideas on making a wrist device however it did outline Apple's direction in adopting Bluetooth and its low energy capabilities.

Then in iOS 5 the Core Bluetooth API was revealed allowing developers access to talk to external peripherals in a simple and managed manner without worrying about energy consumption or getting MFi approval. However, the framework was quite basic, with no documentation and had its faults. It did not do much more than allow an application to talk to another device and didn't expose any system notifications.

April 2012

An interesting side story is that during Pebble's Kickstarter campaign there was no way that they could have gotten the notification information they needed for the watch with current API's. At that time they were looking like they would have to join the MFi programme which requires extra technology, Apple's blessing and get access to some very private APIs. Maybe they had inside info that what they needed, MAP support, was not far in the pipeline or just timed it perfectly.

September 2012

iOS 6 added much needed documentation and the MAP support that Pebble needed. This kick started the accessibility of Bluetooth on iOS and peripherals began to pop up. Early adopting fitness and health fanatics started exploring early peripherals focussed on tracking their fitness and sharing it with all of us on Twitter.

June 2013

We arrive at the recent release of the iOS 7 beta which more than ever cements Apple's choice for Bluetooth over technologies like NFC. But it revealed the much needed services for a wrist bound product:

  • Alert Notification Service
  • Apple Notification Service Centre
  • Current Time Service

These new services are available on all iOS 7 devices, with Bluetooth 4.0 (not the iPhone 4), by default and are managed by the OS.



The new iOS 7 services in detail

Going into individual detail about these services points out what each one achieves and how it can help build a wrist bound device.


An absolutely obvious requirement for a wrist device is the Current Time Service which allows a "dumb" or Internet-challenged device the ability to sync their clocks with a connected service without themselves being directly connected to the Internet or timekeeping service. No need to manually set the time or even adjust it for DST changes or travel either, your primary timekeeping and connected device will do that for you.


Apple chose to create their own notification service as they found the standardised Alert Notification Service lacking in capability and extensibility with iOS' wide spectrum of alert types and information. Although ANS has values "reserved for future use" it is too basic and generic to be able to handle Push Notifications for specific applications and display rich data.

If the idea of a wrist mounted device is to reduce the need to look at a larger format device in a pocket then having accommodating notifications with rich data displayed is key.

The Message Access Profile (MAP) available on Classic Bluetooth doesn't have the low energy benefits that are necessary for a device with limited volume for batteries.



What does it all mean? 

A smart wrist device needs a couple of things to live up to our basic expectations: timekeeping and notifications.

Both of these basic features are there in iOS 7 ready to be utilised. But its not just Apple that can use these services, any future wrist device made by any company can access these services. Not only is this a starting block for Apple but its a call to anyone that wants to make something to get started.

Even if we don't get the magical, revolutionary and stunning iWatch™ that has been speculated it won't be long before someone else makes it for us.

That's what I love about Low Energy Bluetooth, the GATT profile and its availability in iOS. It no longer requires the co-operation with Apple to be able to talk to third party peripherals and its all done with a technology that is open for any other device to use as well. 

Connect the world.  

Stripping away the paint, sanding out the imperfections

A beautiful piece of wooden furniture, depending on its importance and functionality, can find itself being handed from one family to another.  Leaving behind a past and an identity to form new ones.

The new owners will have their own style, taste and place for the object but in most cases its current identity wont fit in. In many forms of this story the piece of furniture will go through an overhaul, a complete image makeover. The paint is stripped back revealing its multi-layered past, the underlying imperfections are sanded out and the process of giving the object a new identity begins.

What has happened to iOS, with the reveal of version 7, could well follow that story as an analogy. It has been given a new identity but with its wooden structure, its core, remaining the same. It might not fit in where it used to, with its previous family, but it no longer lives there. It has moved on and its identity reflects that of its new family and its place.

All the layers of green felt, Corinthian leather and linen were stripped back. The bumpy imperfections, referring to a somewhat knotted family history, were sanded out. Then its new family, under the guide of Jony Ive, gave it a thin new undercoat and not anything more.

This is the beginnings of a new story which will be as revolutionary as the original iPhone OS.  Like the original iPhone OS; it will grow and mature over time to become as perfect as what the original matured into. But all this takes time with care and cant be done overnight, a beautiful patina takes time. 

Whilst I personally don't like some of the aesthetics and design of iOS 7 its easy to see its potential. It doesn't align with mainstream trends or taste but its base principals of form and purpose are pure. For some it will be hard to ignore urges to criticise its new identity and thats ok. Whats important is to see its purpose and reasoning of which it has been based upon.

I cant wait to see where this goes.