Apple has been granted a patent (number 11,297,373) for “techniques for authorizing controller devices.” It involves a remote control for a variety of devices — including HomeKit devices.
HomeKit is a software framework by Apple that lets users configure, communicate with, and control smart-home appliances using Apple devices. It provides users with a way to automatically discover such devices and configure them.
About the patent
In the patent filing Apple notes that many of the entertainment devices (e.g., televisions, digital media players, digital video disc, Blu-ray players, etc.) used in homes utilize remote controls. Other non-entertainment devices such as blinds, lights, garage doors, thermostats, etc., also utilize remote controls.
Apple says that the amount of remote control devices required to control all of these devices can result in clutter and an overall poor user experience. Often, sitting down to watch TV or a movie requires shuffling between several remotes, switching inputs, and powering-on multiple components at the same time.
Controllers can be configured to control multiple devices. Therefore, homeowners need to retain several remote devices to control these devices, resulting in clutter and an overall poor user experience. Apple wants to overcome this problem with a universals remote control that can also control HomeKit devices.
Summary of the patent
Here’s Apple’s abstract of the patent with technical details: “Embodiments of the present disclosure present devices, methods, and computer readable medium for enabling controller device to control proprietary digital media players, network accessories, and virtual assistants, providing an overall improved user experience. The techniques disclosed herein reduce clutter because a single controller can control various different devices and accessories.
“The techniques discloses also can include identifying a change in the configuration information for the computing device. The technique for accessory control can include transmitting updated configuration information for the controller, the configuration information associating a function for the computing device with a user interface element value for the controller.”