New Year’s Resolutions For Apple
In just a few weeks, we’ll be reading lots of advice about making New Year’s Resolutions for the coming year. I’ve got an interesting angle - I’m going to list my wish list now for Apple’s HomeKit so when the product managers and engineers at Apple reflect on the past year and think about what they can do better or differently, they’ll have my list for reference.
Is The Glass Half-Empty, or Half-Full?
Ha! Of course they won’t be paying attention to me but nonetheless, I think it is a worthwhile exercise to publish my ‘wish list’ of improvements I’d like to see for Apple HomeKit. As the classic saying goes, a glass can be considered half-empty or half-full. There’s certainly been more than enough criticism of Apple HomeKit, especially from the professional systems integrators and smart home technologists, so rather than jumping on the bandwagon with more complaints, I’ve put together my desires for improvements.
My Top 3 Wishlist Requests for Apple HomeKit
This list contains the problems and challenges I face in actually using (or trying to use) HomeKit for myself and my clients. Ranked in priority of actual need - This is not ranked in level of difficulty or complexity - that’s an internal challenge for Apple’s Engineers.
Backup/Restore Of Configuration
Logs of Activity
Backup/Restore Of Configuration
Apple HomeKit is tightly integrated into the rest of Apple’s ecosystem. That has many advantages (unified security, automatic family sharing, iCloud remote access) but one big disadvantage: Because HomeKit uses an internal distributed database that is managed invisibly by Apple “under the hood”, there is no simple method for backing up HomeKit configurations and restoring them to a known good state.
Very often setting up and configuring a home automation system is a series of trial and error steps. You get things working, make a backup, and then you add another device or do something that screws it up. Like a magician waving his magic wand, you hit the ‘restore’ and load back in the working configuration and try again.
With Apple HomeKit, you can’t do that. Any changes you make are “live” immediately and there isn’t even an “undo” command to reverse the last thing you’ve done. With other systems, there is either a built-in backup and restore feature or they store all the data in a set of files that can archived or backed up and restored using traditional operating system commands.
There is another challenge with not having backup and restore functions. As a smart home technology specialist, I work with multiple clients and each one has different devices and different configurations. With other systems, I can quickly restore a specific client’s configuration into my own device (computer, smartphone or tablet), adjust their configuration or diagnose the problem, and then backup the configuration and transfer it to them.
With Apple HomeKit, there is no easy way to switch configurations rapidly or pre-configure client systems before installing them at their home. This makes the design, setup, and support of smart homes using Apple HomeKit much more labor intensive and difficult to support or troubleshoot. (It also means that if customer’s have a preference, I’m going to recommend other solutions first and only use Apple HomeKit as a last resort.)
Logs of Activity
Apple has a philosophy of making products that are simple and easy to use. “It Simply Works” it not just a marketing slogan, it is an important goal they embrace with all their products - both hardware and software. The problem with Apple HomeKit is that this philosophy of expecting perfection doesn’t measure up in the real world. There are always things that will go wrong and need to be adjusted or fixed. Especially with a mix of smart home devices from many different companies.
Even if everything is working fine, adding more devices or changing what you want your smart home to do will require making configuration or operational changes. Now I’m not criticizing Apple for striving for perfection. The problem is that when things don’t work, Apple hasn’t provided even the most basic tools most other systems provide - a historical summary of what the system is doing. In computer terms, a system log or activity log. This isn’t rocket science, it’s a simple text file that records the system activity and is invaluable in troubleshooting both common and bizarre problems.
Let me give a basic example - controlling a light. You might say “Siri, turn on the couch lamp” and then expect the appropriate lamp to turn on. When it doesn’t, how do you figure out what when wrong? There are a lot of things to consider. Did Siri hear you correctly? Did she understand the name of the device? Did HomeKit issue the right command to the lamp module to turn on? Did the lamp module receive the command? Did the lamp module turn on but the confirmation message back to HomeKit get missed? As you can see, the simple action of turning on a light has a lot going on “under the hood”.
A log file helps narrow down the problem. If you have a log file and the entry says “Attempting to turn on the dining room lamp” you would immediately know that Siri or HomeKit did not get the correct lamp name because you wanted to turn on the couch lamp. If the log file says “No response received from couch lamp” you would know right device is being controlled and HomeKit sent the command, but something else went wrong. Perhaps the command was never received by the lamp, maybe the confirmation message from the lamp module was never sent, or maybe the confirmation message was not received properly. Still a lot of things to track down, but at least the log makes it easier to know what to check.
Now Apple does use log files internally, but they are not made available to “mere mortals” and the Apple system logs are so verbose and laden with technical jargon and chit-chat back and forth that it is overwhelming and impossible to analyze unless you are an Apple employee/engineer. Many other products from other companies have log files and it is not hard to make them available. It is more an attitude or political decision on Apple’s part that they think they are not needed because having them would mean admitting some things don’t always work properly.
Platform wars are nothing new. Most of us are familiar with the PC versus Mac competition of the early personal computer years, the mainframe versus minicomputer distributed computing competition, Apple iOS versus Google Android smartphone battles, and currently the native App versus Web site/web service user applications conflict. Don’t worry, I’m not going to pile on and give my opinion here. What I want to emphasize is the difference between personal computing and smart home devices.
With personal computing (smartphones, desktop computers, tablets, etc.) it is ok to choose an ecosystem and stay within it as much as possible. If all your computers run Microsoft Windows 10 it is going to be a lot to easier to network them, transfer files, and use the same apps then trying to throw a few Apple MacBooks with MacOS computers into the mix. Similarly, if both your smartphone and tablet are in the same eco-system (Apple iOS or Google Android - take your pick), then moving back and forth between your tablet and your smartphone is going to be a lot easier.
This is fine because all these devices are really personal - only one person uses them and we don’t expect the device or software to have features allowing multiple people to share the device. That would be nice, especially when your kids pick up your phone and you don’t want them messing with your email, but most of us are ok with the limitation that these devices are personal and intended to be used by only one person.
With smart homes and automation systems, the situation is entirely different. Homes are not single user residences. Assuming only one person inhabits your house is foolish and not realistic. It is also much more likely that your home has a mix of platforms and ecosystems. You might have a fancy iPhone on iOS, while your partner prefers the latest Samsung Galaxy phone with Android. The adults and teenagers may use Apple iPads, while the children have the cheapest generic Android tablets you could find because you’re going to replace them several times when they are dropped or thrown on the floor and the screen breaks.
A home automation system has to work for everyone in the home. Using Apple’s Siri or Google’s Home Assistant for voice control sounds good, but not everyone has the same kind of device so they can’t talk into it and have it respond. (As a side note, that’s one of the reasons Amazon’s Alexa has become so popular - it is sort of a peace-maker choice that both Apple and Android die-hard fans can compromise and agree to use. Like a hi-tech ‘Switzerland’).
Even if by dictatorial decree or the generosity of your wallet in buying everyone in your household devices only from the same ecosystem (Apple or Google), you can’t completely enforce a monoculture in your own home. We all have service providers such as baby sitters, dog walkers, cleaning services, etc. where we can’t dictate the kind of device they use. And don’t forget visitors and guests that might be staying in your home when you are not even there. (I won’t even start to talk about short-term rentals like AirBnb.)
Apple has been very driven to creating a walled garden for Apple products. Although there are exceptions (iCloud support on the web and Windows OS, a version of Apple Music available for Android), by and large, using Apple HomeKit means anyone not already onboard the Apple ecosystem is out of luck and not supported. I’m not asking (or expecting) Apple to extend HomeKit and recognize the multi-platform reality in our homes and fully embrace Android or Microsoft Windows, however…
It would go a long way if Apple would at least fully support MacOS and the web. Most Apple homes still have a mix of iPhones, iPads, and Apple laptops or desktop computers. With no HomeKit support on MacOS, there is no ability to control the smart home from your desk or lap. This is a glaring omission - Apple has added Siri voice support to MacOS, but without HomeKit support, Siri cannot control anything when invoked from your desk.
I would also like to see Apple support HomeKit from the web by adding it to the existing icloud.com web portal. There are many scenarios were being able to use a web browser, on any computer, when you are not at home to view and control your smart home is extremely useful. Home security cameras, video doorbells, and many other devices would be much more useful if a computer and web browser could also be used for a quick look and not just your iPhone/iPad.
What do you think of my wish list? Do you agree or disagree? Are there any other limitations or missing features in HomeKit you would add to the list?