Alexa. Google Assistant. Siri. Bixby. Cortana. Robin, Lyra, Databot, Hound?
While Voice Assistant support has become a necessity for the success of any smart home device or service, it’s clear there won’t be voice assistant “standards” any time soon. Unlike the progression toward cross-platform and container technologies represented by React Native, Apache Cordova, Docker, etc, Voice Assistant services don’t have a build-once, deploy anywhere standard. The Voice Assistant providers are working hard to evolve their competitive advantages to attract new devices and services, moving further apart with each differentiating feature. If you’re building a device or service you can’t afford to ignore a major channel of your market by only dedicating effort to a single integration. You have to support them all…or at least all the ones that your customers use.
Which Smart Assistants Do My Target Customers Use?
There are four primary assistants that are considered among the most common: Alexa (Amazon), Google Assistant, Siri (Apple) and Cortana (Microsoft). Without a doubt, Amazon Alexa and Google Assistant should be acknowledged as required integrations for your smart home device or service. Both are growing and innovating, and neither will likely be supplanted by established or upstart competitors. In fact, many retailers today require both assistants before stocking new smart home devices on their shelves.
Siri is clearly a meaningful channel as well. It’s present on every iOS device deployed in the last 7 years. There are a couple of challenges when considering Siri as a must-integrate voice assistant. First, Siri-support is limited to iOS customers. While the effort is worth it for that market, voice assistant support for Amazon and Google are not limited to a single device platform, making them more target-rich. Another challenge with Siri is the closed (albeit decreasingly so) ecosystem and sometimes convoluted support for even ubiquitous services like Spotify and Google Maps. This more restrictive approach to services support may be a reason Apple still lags in sales of smart assistant-enabled devices behind Google and Amazon. This doesn’t mean you shouldn’t support Siri—it just means it might not be best to be your first choice for integration.
Lastly, Cortana. Although Cortana is used across Microsoft products, a recent interview with Microsoft CEO, Satya Nadella suggests that even Microsoft might not think it’s worth the effort.
While the other voice assistants mentioned above have their pros and some have great promise, we don’t think they’re popular enough to consider as a first-run choice.
Google and Amazon Make Sense… Where Do I Start?
Google and Amazon have different approaches to developing. For more simple skills that rely on data or services, the companies provide built-in skill types and a template-style approach for building skills that require no coding experience.
Building “Home Control” skills—or skills that integrate with smart home devices or services—always requires some code to be written.
Developing Amazon Skills
Amazon offers Skill Blueprints as an online tool that allows users to easily create their own personal Alexa skills in minutes and supports publishing those skills for anyone to use. Using Skill Blueprints, users can create lots of fun/useful skills including custom games, fill-the-blank-style stories and to-do lists.
These skills, however, won’t interact with smart home devices. Smart home devices require the use of structured interactions through the Amazon Smart Home Skill API and require a Lambda be created in order to broker that interaction, regardless of which platform your device’s cloud service is hosted. Even if you build your device cloud in Google Cloud Platform or Azure, you still need to build/maintain an AWS Lambda to support Alexa skills for your device.
Devices will also need to be designed to support State Reporting, a feature that enhances Alexa’s usefulness in the home by providing a means for proactively letting it know when other smart home device states change outside of the context of an Alexa skill control action. This proactive update requires support both in your device’s firmware and in your cloud to accommodate and can add significant cloud expense if inefficiently implemented.
Developing Google Skills
Google also offers a means for building Skills quickly through Templates in Actions on Google. Like Amazon Blueprints, Google Templates won’t get you far into building a Smart Home Action without writing code, but unlike Amazon, Google doesn’t require building a Google Cloud Function (Google’s corollary event-driven serverless compute platform to Amazon Lambdas) in order to create a Google Assistant Skill. Google also supports (requires) state reporting for Smart Home Skills.
Similarities and Differences
Both Google and Alexa provide structure to the development process for building smart home skills by supporting typified definitions for different smart home devices using Google device types or Amazon device templates. These types define an interaction model for standard ‘things’ such as lights, air conditioners, fans, cameras, etc., to make the implementation of familiar home devices more straight-forward.
Both companies also provide a means for defining a set of typical device properties and behaviors into custom device definitions. Google calls these traits while Amazon calls them capability interfaces. These constructs characterize behaviors and properties such as brightness, color, temperature, mode, etc.—standard concepts for many devices of different categories. This gives device makers the flexibility to add control and state representation for unique features to standard device definitions (such as a smart light that can also sense motion). Traits and capability interfaces differ in design and in implementation, so there’s not really a ‘mapping’ between the providers.
While there are a number of similarities between each companies’ skill implementation, they’re still different enough that there’s no cross-platform approach to developing once to support both efforts. You can, however, gain a significant foothold on the effort by starting out on a device cloud that has built-in support for both smart assistants.
Why Your Device Cloud Matters
Most of the effort required to support Voice Assistant skills is committed to two places: your device cloud and your device firmware. The structure of how you build your device firmware will determine your device’s flexibility in supporting multiple state report and control models. The efficiency and cost structure of your device cloud will determine if supporting voice assistant skills ultimately burns a hole in your cost model.
Experience also matters, and the choices made by the developers building your skills, firmware and cloud will be important factors in building skill support into your device on time and on budget. Although device companies may have some resources to explore building a device cloud, using a proven solution from an experienced consumer IoT partner will be critical for the longterm success of the product and business.
Written by Wilson Hughes, Director of Solutions at Yonomi.