Design

iOS8 HomeKit

Topics
iOS, mobile

(with Mark Schlusnus)

​

Imagine a morning in late September 2015. At 7:30 am the lights and your favourite radio station fade in to gently wake you up. When you get out of bed, the coffee machine in the kitchen starts to brew. The light and radio follow you to the preheated bathroom and while you’re going through your morning routine, your mobile might ask you about your mood. As you walk into the kitchen for some coffee and cereal you might check your appointments, emails, weather, traffic on your daily commute and the latest news. All in one app! When you’re leaving for work, of course your door locks automagically and your residence switches to standby mode…

We will explain to you why it might still take a year until this scenario really hits the mainstream, but the next big step is coming in September:

Apple introduced HomeKit as part of the new features they’ll introducing with iOS8 later this year. HomeKit is a framework for connecting your iOS device to other devices and appliances in your home which traditionally haven’t been controlled remotely. 

​

The basic infrastructure that HomeKit allows is to discover and group devices and appliances, and to allow your apps to access the services that the discovered devices offer.

The data model groups devices to homes, zones and rooms, and all the devices and their capabilities respectfully to accessories and services. A single accessory (device) can then expose multiple services it offers, such as turning lights on, off or something in between. The services are usually related to changing the state of accessories, and the states are called characteristics. Custom services and characteristics can be freely created, but Siri only understands the services and characteristics defined by Apple. The Apple-defined characteristics currently only include things related to device power states, temperatures & humidity, door states, devices being obstructed, colors and lights.

For development, there’s the HomeKit Accessory Simulator for emulating accessories. This is not currently shipped with the new Xcode 6, but can be found in the “Hardware IO Tools for Xcode” bundle from iOS developer downloads. With the HomeKit Accessory Simulator you can freely create and manage new accessories and their properties. These created ‘fake’ accessories then appear in your apps, and you can develop and test new functionalities without owning actual HomeKit-compatible hardware.

​

Currently, one of the biggest limitations is that the HomeKit API can only be accessed by applications that work in the foreground. This means that your app can’t really react to state changes in your home unless you keep it on in the foreground constantly, which is quite impractical. However applications can create timed Triggers, which are actions or sets of actions that are run at predetermined times. So it is yet again left for designers and developers to come up with neat ideas on how to work around the technical limitations, and what new things this could enable in home automation past the obvious use cases, like having lights go out and doors close at night.

​

By itself Apple's new HomeKit for iOS doesn't really bring anything new to the table. It is just a protocol and system for grouping appliances and devices, and then issuing simple commands to them. The issue it tries to solve, however, is the heavily shattered landscape of standards in home automation, where nobody seems to be able to find any common ground as far as standards go. It remains to be seen if Apple's take on this standardization can bring any harmony to the scene, or as they put it, “a consistent experience for home automation”.

When you have a look at the bigger picture, you notice that all the IT giants want to become interconnectors, enablers… platform providers. Google’s operating systems for Wear, TV and Auto are just another example. Zooming even further out, we see the internet of things not only reaching critical mass in the consumer space, but also enabling great improvements in the infrastructure, making cities smart, streamlining processes and helping to save resources. While discussing openly all the concerns about the accumulation of power, about privacy and security, all the user experience challenges to solve and fragmentation to overcome, we as Futurice love everything that supercharges our design and development possibilities. There are a lot of opportunities for your digital services approaching, and Futurice will help you to make them fly.