Connected devices, or the Internet of Things (IoT) if you prefer, are rapidly maturing from geek toys into affordable essentials. As they proliferate the market, it has become apparent that consumers will own multiple connected devices in their household, likely from various manufacturers. It has also become apparent that these devices will need a standard communication protocol to operate with each other as well as with existing hardware that consumers use to control them, such as smartphones, tablets, computers.
It makes perfect sense then, for mobile OS manufacturers such as Apple (iOS), Google (Android), Samsung (TouchWiz, Tizen) to rise to this challenge. If any one such company could win this standards war, it would have a lucrative lock-in effect where consumers have an added incentive to keep buying into the same mobile platform because it works with all their connected devices.
HomeKit is Apple’s attempt at winning this war.
Introduced with iOS8, HomeKit is a framework that makes it easy for internet-connected hardware accessories (from any manufacturer) to interact with consumers using their iOS-powered devices, such as the iPhone, iPad and iPod Touch. It aims to ease the complexity of setting up new connected devices as well as make it effortless to control them using iDevices.
Using HomeKit, iOS users will be able to easily define their home setup analogous to the physical placement of the accessories in the home. With this intent, HomeKit defines the following taxonomy:
Under the HomeKit protocol, each connected device is capable of multiple Services. So a Service of a table lamp might be Color Temperature (warm to cool). Another might be Light Intensity (dim to bright). Each service could have multiple actions that it supports. In our example above, Color Temperature could be set too cool or warm and intensity could be increased or decreased. Each such device must exist within a Room (ex: a bedroom), and all Rooms must exist within a Home. Two or more Rooms can also be grouped together into “Zones” (ex: upstairs) so that the user can perform an action across multiple rooms simultaneously.
HomeKit is also powerful enough to allow the user to chain together many different actions on different services in different rooms and zones into Scenes which can be executed in one step. So a “Getting ready for bed” Scene, when executed by the user, might turn off all the lights, lower the temperature and turn on the security system.
By defining this rigid taxonomy of Actions, Services, Accessories, Rooms, Zones and Homes, Apple is able to abstract the complexity from the consumer. The user can even instruct Siri in a natural language to perform an action or a set of actions on the connected devices, and Siri will parse the sentence, identify the actions, map them to the defined taxonomy and fire away the commands using HomeKit. This translates into a great user experience for iOS users. They can set up their HomeKit-compatible devices once, and enjoy ease of control through either OS-level features like Siri or use 3rd party apps that are built to leverage the HomeKit SDK.
Any hardware manufacturer that intends to make their device HomeKit-compatible must participate in Apple’s Made for iDevices (MFi) program and go through Apple’s certification process. They must also implement MFi-certified hardware within their connected device, which will abstract the device’s communication with iOS devices using WiFi and Bluetooth. If the connected device has constraints that prevent it from hosting this MFi hardware, Apple also supports the implementation of Bridges, wherein the manufacturer will have to supply an intermediary device that would be MFi-certified and then the connected devices can communicate with the bridge using non-HomeKit protocols such as Zigbee.
Here are some of the hardware launch partners that Apple announced at WWDC 2014.
While HomeKit was announced at WWDC 2014, we’ve yet to see HomeKit-compatible devices from these manufactures. Even at CES 2015, there was a dearth of HomeKit-compatible devices. Apple-watchers speculate that part of this delay lies with Apple since they didn’t start accepting MFi-certification requests until the MFi-summit in November.
There are many advantages to Apple’s approach with HomeKit. From a user-perspective, there’s no learning curve for using iOS apps to control the connected devices. And since the user’s home setup is available at the OS level to all apps, users only have to configure each connected device once. HomeKit is also an extremely flexible framework that can accommodate a wide range of hardware, even allowing for custom Services that may not exist yet (although these custom Services and their Actions won’t be accessible through Siri). And Apple also mandates end-to-end encryption on communication between iOS devices and HomeKit-certified accessories, in an effort to ensure their user’s security and privacy.
Unfortunately, there are also quite a few limitations with HomeKit in its current state. Apple has surprisingly not released a native HomeKit app yet to enable users to configure their home and their connected devices. The task of supporting such configuration might then fall on 3rd party app developers. Another drawback is the device manufacturers being subjected to a manual MFi-approval program which increases the time and cost to market for these devices.
Disappointingly, but unsurprisingly, HomeKit is a closed protocol, fully controlled by Apple and by the looks of it designed to only work within Apple’s ecosystem. This potentially poses challenges within a home that also uses Android and Windows devices. A connected device may want to support all major platforms, but may be unable to do so under Apple’s terms. The manufacturer may then have to provide variations of the same connected device, one for every framework that is popular and has a significant market share.
Many hardware manufacturers and software providers have already formed behemoth consortiums (like AllJoyn) that have established software and hardware protocols that the members of the consortium promise to support. Other large companies such as Google and Samsung do have their own competitors to HomeKit (Works with Nest and Smart Home respectively), but have yet to make a serious push.
Apple has once again, due to its incredible vertical integration, found itself in a unique position in the connected devices market. It could’ve either played nice with one of the existing consortiums and protocols, or declare their own standard and entice hardware manufacturers and consumers to adopt it over the rest of the options. HomeKit is the latter.
For producers of connected devices, it brings with it the promise of HomeKit-compatible devices being preferred by millions of iOS users (and potentially Mac users). For consumers, it promises to melt away the complexity of dealing with the crummy software that device manufacturers often ship with their hardware.
It’s classic Apple: Defining a framework that puts user experiences first and abstracting away the software. Often times, this has meant keeping such frameworks exclusive to Apple users and limiting the freedom provided to 3rd parties like device manufacturers. Apple’s Lightning Cable technology is a great example of this philosophy. Time and again, this has proven to be the key to their success. It is now up to the manufacturers to determine if being able to tie into iOS at the OS-level is a decisive feature for a significant portion of their user base.
For more information, you can view Applico’s presentation on HomeKit bit.ly/applicohomekitdeck
For a detailed technical breakdown, watch Apple’s WWDC 2014 session on HomeKit developer.apple.com/videos/wwdc/2014/?id=213
Filed under: Product Engineering | Topics: homekit, iOS, IOS 8, ios developer, ios development