Last week The Information reported the news that Google is working on an operating system called Brillo. The software would be targeted to embedded devices with 32-64 MB of RAM. The IoT world has immediately been shaken by the news, which has been reported by major tech media websites, such as Fortune, ComputerWorld, The Verge and ArsTechnica. Suddenly Google has an “”OS for the IoT” (this was the main motive in the headlines) which might repeat in the IoT, and in particular in the smart home, what Android has done in the smartphone area.
There is no doubt that the news is interesting and confirms the interest of Google in the smart home, started with the acquisition of Nest last year. And it’s true that Brillo is relatively small. To have an idea of the devices it is targeted to, think that Android OS runs on smartphones with at least 512 MB of RAM, and that a Raspberry Pi (which can already be considered rather “small”) has 1 GB of RAM. Therefore, 32-64 MB RAM can already be considered small in the embedded computing area. However, the IoT is made of a vast range of devices, and a big portion of it consists of devices with much more severe computing constraints and which have a tiny amount of RAM available. As an example, I’m currently prototyping a smart home device and I’m using the Nordic nRF51822 SoC which has 32 KB of RAM. For another project, I’m using the Metawear platform which has only 16 KB of RAM. These devices have a RAM of an order of magnitude smaller than the devices which Brillo is targeted to.
A more accurate analysis came from Michael Wolf, a renowned analyst in the smart home industry, a few hours later the announcement. The post reports that Brillo would mainly be thought for home routers. Surprisingly, the team working on Brillo is not under the hardware group coordinated by Nest’s Tony Fadell, but it “reports to Craig Barratt, who many will recognize as the former CEO of Atheros (which later became Qualcomm Atheros after Qualcomm acquired the Wi-Fi chipmaker)”. It seems that Google has been talking to router manufacturers such as Netgear and Asus for the development of Brillo based home routers. Brillo enabled home routers would be able to directly speak to smart home devices without the need of a hub. Hubs have recently been quite popular in the smart home industry. Basically, a hub is a box which translates low power IoT communication protocols (such as ZigBee, z-Wave, etc.) spoken by smart home devices. Through a hub, smart devices can be accessed via the WiFi network and therefore via the Internet. Hubs also allow two devices which speak different protocols to talk to each other.
Enabling home routers to directly speak with smart devices without passing via a hub would be an important advancement in the smart home. Hubs are rather complicated machines which are required to do most of the times complicated protocol translations which can lead to operational problems. They reduce the transparency because are aware of the application logic and are tightly coupled to the smart objects. I have already written a bit about this before. However, considered that there are several classes of devices which will not be able to run Brillo (especially those with severe memory and energy constraints), having a Brillo enabled smart home router would not solve the problem. The non-Brillo devices cannot speak directly to the home routers and will anyway have to be connected to the Internet via a hub. Therefore, the Brillo scoop left us a bit disappointed and with the feeling that after all the Google effort to develop an OS for the smart home didn’t make much sense.
But a few days later at GoogleIO there was the announcement that Google is also working on a communication protocol (or communication layer) for smart devices. The protocol is called Weave and would basically be a set of schema used for automatic device and functionality discovery. In practice, a device equipped with a Weave schema would be able to automatically expose its functionalities which can then be accessed by any other Weave device or Android smartphone. Weave has been announced as a cross-platform protocol, meaning that it can be spoken by devices which don’t run Brillo. It is also communication protocol agnostic, meaning that it can be developed on top of any radio/communication protocol such as Bluetooth, ZigBee, Thread, etc. In any case, these are all speculations based on the announcement because there are not technical details yet about Brillo and especially about Weave. But the big news here is the cross-platform approach. It gives more meaning to the overall Google smart home strategy. Brillo will run on home routers and on relatively high-end devices while tiny non-Brillo devices will also be part of the game by means of the Weave protocol. All these devices will seamlessly communicate with Android smartphones, possibly via voice commands.
Does this sound familiar? Google’s Brillo/Weave concept sounds rather similar to Apple’s HomeKit platform announced last year. HomeKit is a platform which allows the seamless integration between HomeKit enabled devices and iOS smartphones. Except for some technical nuances which are different in the two platforms, the two concepts are basically the same: create a smart home ecosystem which allows users to use their smartphone to seamlessly access smart home devices. Apple didn’t announce a dedicated OS running on home routers like Google, but it seems that the Apple TV might be the platform integrator which will act as hub for all the smart devices. According to the rumors, Apple is also working on an app called Home which will manage all the HomeKit enabled devices. And I wouldn’t be surprised if also Android comes up with something similar.
It is through that the smart home industry is being rather fragmented and that in order to go mainstream a more unified approach would be needed. This has been a quite popular debate recently and that’s the reason why Apple’s and Google’s smart home strategies have been celebrated by the media as a launching ramp for the mass adoption of smart home technologies. However, the integrated and unified approach used by the two giants merely tries to force users to get into either an Apple or Google ecosystem, without taking into account a couple of important aspects which are crucial in the smart home:
- Firstly, the multi-user problem should be considered. The home is obviously a multi-user environment and there are chances that home inhabitants use both Android phones and iPhones at the same time, like in my case for example. What happens in that scenario? When I buy a connected door lock should I buy the Brillo/Weave compatible one or the HomeKit compatible one? I might also buy one which supports both platforms (in case the device has sufficient resources to support both), but it means that I should also buy both a Brillo enabled home router and an Apple TV to control the device from Android and iOS at the same time.
- Secondly, smart home device developers will be forced to produce two versions of their devices, the HomeKit version and the Brillo/Weave one. This is the same model that has been rather popular in the mobile app space over the last few years. Any mobile app developer needs to necessary develop the Android and iOS compatible apps, in order to encompass the two largest shares of the mobile app market. However, the smart home industry (and IoT in general) is rather different than the mobile app one. Developing hardware devices is way more complicated and expensive than developing mobile apps. Many companies will surely not have enough resources to develop smart home devices compatible with both platforms and will surely be cut out from the market space.
I agree with the general opinion that a more integrated and unified smart home is needed. We definitely need tools which allow us to centralize the control functionalities, instead of having a bunch of smartphone apps each for a different device. But for such a sophisticated domain like the smart home I don’t think the right approach is to use the ecosystem concept typical of companies like Google and Apple. The smart home is a far more complicated space than the mobile app one. Instead of creating ad-hoc integration platforms and protocols like HomeKit and Brillo/Weave, a different unification and integration paradigm should be conceived.