CHAPTER 1: Bringing Home Automation Home4
This book shows you how to work with HomeKit as a developer of HomeKit-
compatible apps , a maker of devices, or an integrator of home automation
technologies (a contractor, architect, or designer), or as a user of HomeKit
devices who wants to delve deeper into the issues and technologies that
just get things working. The focus is on HomeKit, but from time to time you
may see how the HomeKit structure shows up in CarPlay and Apple Watch ,
particularly in the design patterns in the software that are extraordinarily
message- and event-driven rather than linear. This shouldn’t be surprising,
because Apple is just as aware as you are that someone can pay attention
to the tap on the wrist from the Apple Watch that reminds him or her that
it’s time to leave work to drive home for that dinner party. Turning into
the driveway on an autumn evening with the early evening settling in, it’s
reassuring to see the HomeKit lights turn on in the house. If it’s starting to
snow, it’s definitely nice not to have to get out of the car to open the garage
door (thanks to HomeKit). Not everything is automated in this little scenario.
The dog barks a welcome so you don’t want to dally in the car even though
you’re listening to some music you like. As you open the door, the music
follows you from car to your speakers in the house. It’s a nice welcoming
scenario, and the dog’s wagging tail may suggest that he had something to
do with it all and please give him a biscuit.
HomeKit, CarPlay, Apple Watch. . . . Yes, you can think of them as great
examples of the Internet of Things. What Apple has been thinking about
is how they all fit together in your life. We are moving away from a world
of huge monolithic apps into one in which small components of apps fit
together. So if you’re expecting to learn how to build a big “killer” HomeKit
app in this book, tamp down your expectation. What you’ll build for HomeKit
are targeted small apps that fit together within the HomeKit framework. If the
user winds up assembling those pieces into a “killer” and convenient home,
that’s just fine, but what we developers do today is build the pieces that
make it possible for users to put together their technology their way.
As noted in the Introduction, the first part of this book (Chapters
1 through 3 )
provides you with background of the technology and ideas behind it. Then,
in Chapters 4 and 5 , we’ll move on to the details of implementation and the
use of HomeKit, focusing on how you can use it yourself. Finally, in Chapters
6 through 9 , you’ll see how to write code that performs the manual tasks
you did in the previous chapters.
If you want to jump ahead, feel free to do so, but make sure to come back to
these introductory chapters. They will help you to understand what you have
to do in the later ones. Otherwise, it may seem like a collection of unrelated
ideas and processes. It’s true that in working with HomeKit (and with IoT in
general), you’re constantly switching from one device to another and one
technology to another, but as long as you keep your mind on the principles
in these first three chapters, it should stay a unified and coherent whole.