GE Appliances entered the smart-home space in 2008, focusing on utilities management and the smart electric grid. By 2012, it had changed its focus to become more consumer-oriented solutions. GE Appliances’ Connected Appliances (CA) group started building connectivity into its ovens and laundry appliances with smartphone apps to enable remote control. Soon, the group added Amazon’s Dash Replenishment Service (DRS), enabling connected washers to reorder their own laundry supplies.
When the Alexa Skills Kit debuted in 2015, GE Appliances took the customer experience to the next level with Geneva, its skill for Alexa. Today, Geneva is one of the more robust skills in the Alexa Skills Store, enabling voice control of GE Appliances’ entire line of connected appliances.
“We've been thinking about voice for quite some time,” says John Ouseph, GE Appliances’ technology manager for Connected Appliances. “There just wasn't a really clear path to market until Alexa came out.”
From Many Device-Specific Skills, a Super-Skill Emerges
Ouseph says he found the Alexa Skills Kit (ASK) to be an approachable system. The team constructed a quick proof of concept of an Alexa skill with some very simple commands, utilizing CA’s existing platform APIs to control an oven and a refrigerator. The team shared a video of the POC, and the idea was an instant hit. The Geneva project was approved.
Jared Hatfield, a developer on the Geneva team, says the GE Appliances developers initially planned to build a separate Alexa skill for each type of appliance. But they soon realized this didn’t make for the best customer experience.
Besides enabling separate skills for each appliance, users would have to remember the invocation names for each. Plus, despite their functional differences, the same intents—like “Start” or “TurnOff”—often mapped to multiple appliances:
Alexa, tell GE-Oven to turn off.
Alexa, tell GE-Washer to turn off.
Alexa, tell GE-AirConditioner to turn off fan.
Alexa, tell GE-Refrigerator to turn off hot water.
Invoking a single skill would be much easier for customers:
Alexa, tell Geneva to turn off my oven | washer | air conditioner.
“This way, our super-skill, Geneva, becomes the appliance assistant to our whole line of connected appliances,” says Ouseph.
Building for ‘Billions’ of Use Cases
How do you design the voice user interaction (VUI) for a skill that controls such a wide array of appliances? In the case of GE Appliances, the team brings people into a test facility called “Studio U,” a mock kitchen full of appliances and recording equipment. For each appliance, the company asks the panelists: “If you wanted to speak to your appliance, what would you say?” The responses revealed utterances that were similar across very different appliances. They exposed wide variations in how people from different regions talk about (and to) their appliances.
Hatfield says he and his team wanted to replicate as much of the mobile app’s functionality in the Alexa skill as possible. But after analyzing usage data, they decided to prioritize the two most-used features: starting the oven to bake and starting the hot water on the refrigerator.
But turning on the oven by voice isn’t as simple as it sounds. There’s more to it than simply saying, “Alexa, tell Geneva to preheat the oven.” Alexa will want answers to follow-up questions, like:
- To what temperature?
- Fahrenheit or Celsius?
- Upper or lower cavity (for double ovens)?
- Convection or not?
Take all the ways people can ask for the “Start” intent, multiply by these variables, then multiply again by all the different orders in which customers can provide this information. Then account for the prompts to ask the user for missing values, and you get countless variations.
“It was soon obvious what I thought would be thousands turned out to be millions, then billions of combinations of different things users could say,” says Hatfield.
What’s more, an intent like “Start” can apply to many different appliances, each with its own variables.
“It turns out there's some unavoidable overlap, and you start running into limitations on the number of intents, slots, and how many utterances you can have,” says Hatfield.
To manage the overly-complex voice model, the team built an application into the Geneva code base that would programmatically generate the model. The developers annotate the code with the utterances they want handled by each intent. The app uses these annotation as input as well as the intents, slots, and metadata—all captured in the code—then generates the voice model as output.
As for the skill implementation itself, the Geneva team says the Alexa integration was straightforward. The APIs that interface with the appliances were already in place and well-tested for the mobile app, so the Geneva team didn’t need to request any changes from the product-line engineers.
Extreme Complexity Calls for Extreme Automated Testing
When it came to testing, the size and complexity of the Geneva voice model meant three things:
- The number of test cases would be huge
- Regression testing should be frequent and thorough
- Testing should be automated
Just as crafting and maintaining the voice model by hand was impractical, it was clear the Geneva team couldn’t manually test all possible combinations either.
As one of the post-launch enhancements, the team built an entire regression testing suite for the voice model. The process involves recording real voice utterances in MP3 files, uploading those to S3, then running the regression tool. The tool, in turn, retrieves each MP3, sends it to a live skill, then tracks the intents and slot values as interpreted by Alexa.
The testing, which runs as an automated batch every night, doesn’t cover every possible utterance, but it does stress-test the most-used cases as well as every “golden utterance”—those that show up in online or in the press.
“This gives us a lot more confidence as we're making enhancements and adding new features that the changes haven’t broken our super-complex voice model,” says Wes Bornor, a Geneva skill developer.
GE Appliances’ developers also automated the generation of unit tests which make sure the skill executes the right APIs to send signals to the appliances. As with the voice model, they started by creating the test files by hand but found the sheer volume of test cases unmanageable. As a result, they built automatic generation of the unit test scripts into the code base.
Leveraging Data to Make Continuous Improvements
In addition to user feedback in the Alexa Skills Store and its own support center, the Geneva team also captures indirect feedback from users. Hatfield says the team logs the intents and slot values from every single response using Amazon Web Services Elasticsearch and Redshift.
The developers pay special attention to the unknown slot values to identify unsuccessful parts. They found, for example, that when users asked the refrigerator to heat water for coffee, they often said “for my coffee” instead of just “for coffee.”
“Recognizing one more word can make a big difference,” says Hatfield. “Looking at the actual slot values and being able to make the corresponding changes really has improved the user experience.”
‘Voice Capabilities Have Changed the Game for Us’
In addition to Geneva, the GE Appliances team is experimenting with an Alexa skill for its retail sales showrooms and for model home builders. The prototype skill interacts with prospective buyers, introduces them to Alexa and Geneva, and explains how they’d be able to interact with GE Connected Appliances.
“When prospects see it, they suddenly think, ‘Hey, maybe I do need a connected appliance,”’ says Liz Verschure, product manager for Connected Appliances.
Seeing the prototype skill in action helps customers understand the power of voice interactions, says Verschure.
“If you think about it, it doesn’t make sense to use a smartphone app to control your oven when you’re standing right next to it,” she says. “Voice capabilities have changed the game for us from a user interface perspective.”
To learn more about GE Appliances, tune into the latest episode of the Alexa Dev Chat Pocast.
Build a Skill, Get an Echo Dot
The Alexa Skills Kit (ASK) enables developers to build capabilities, called skills, for Alexa. ASK is a collection of self-service APIs, documentation, tools, and code samples that make it fast and easy for anyone to add skills to Alexa.
Developers have built more than 13,000 skills with ASK. Explore the stories behind some of these innovations, then start building your own skill. Once you publish your skill, apply to receive a free Echo Dot. This promotion is available in the US only. Check out our promotions in the UK, Germany, and India.