Logitech’s Harmony product line makes it easy to control home entertainment systems and smart home devices. With Harmony, instead of controlling devices one by one, devices are combined and controlled as a group called an "Activity." For example, pressing a "Watch TV" Activity button powers on the TV, sound bar, cable box, and any other desired devices, plus switches them all to the right settings. Adding voice control to further simplify these one-touch experiences was a natural step for Logitech.
“Giving customers the ability to control everything in their living room with their voice—including TVs, gaming consoles, sound systems, and even smart lights—lets them take their entertainment to a whole new level,” says Chris Wood, product manager for voice solutions at Logitech.
Logitech built a smart home skill for Alexa to work with its Harmony remotes. Customers say simple commands, such as “Alexa, turn on the TV,” or “Alexa, play a DVD,” and Alexa sends the request to the Harmony skill. The skill communicates with the Harmony Hub, which uses infrared, Bluetooth, or IP to control whatever devices are needed to deliver the experience.
For example, if a customer has a home theater system with multiple components, the command “Alexa, play a DVD” would result in Harmony turning on the TV, the DVD player, and the stereo, setting each to the right input, and finally sending a “play” command to the DVD player.
Setup is simple. Customers use Logitech’s Harmony app to describe the steps and device settings for each Activity. Once that’s done, customers simply enable the Harmony skill and link it with Alexa using the Alexa app. Then they can ask Alexa to start Activities, tune to channels, play/pause, increase the volume, and more.
The initial prototype was a one-person project that took Matthew Dickinson, senior software architect at Logitech, just two hours to build. Once the prototype was ready, various teams from across the company got involved to help prepare the skill for launch. The process of moving from prototype to production-level skill took less than two weeks.
“I was excited about the opportunity to create a Harmony Alexa skill, and the fact that we had a functioning proof of concept within two hours surprised everyone,” says Dickinson. “Developing the skill with the Alexa Skills Kit (ASK) was a smooth process, and we were able to turn around the initial version quickly in part because AWS Lambda is so easy to use. With our skill running exclusively on AWS, getting it up and running was quick and straightforward.”
He also says since being introduced to AWS Lambda for the Alexa skill, the Logitech team has started using AWS Lambda in many more places, and will be using the service for more backend workloads.
Harmony uses AWS Lambda to host the skill and make the connection between Amazon and Harmony's APIs. It also uses AWS X-Ray and Amazon CloudWatch to analyze the skill and identify customer trends. Additionally, Harmony uses AWS Elastic Beanstalk for rapid deployments and Amazon Dynamo DB for database service.
The testing phase proved key to improving the skill and understanding what customers wanted, says the Logitech team. For example, based on customer feedback, the team decided to create simple “aliases” that map to a customer’s Harmony Activities.
“First, people were simply using the skill to turn Harmony Activities on and off, but that quickly evolved into other requests, like wanting to say ‘turn on sports’ in addition to ‘turn on ESPN.’ We've been able to quickly update the skill to add in these new capabilities,” says Wood.
Logitech takes advantage of ongoing improvements in the Alexa Smart Home Skill API. Initially, Logitech built two skills: one using the Smart Home Skill API that allowed customers to turn Activities and devices on and off, and a second custom skill for changing channels, volume, and similar functions. Customers needed to enable both skills, and use a slightly different phrase—“Alexa, ask Harmony to…”—when invoking custom functions.
With the recent release of entertainment controls in Alexa's Smart Home Skill API, the Harmony team is now able to tap into Amazon’s standardized language model for the full entertainment experience. Customers no longer need to enable two skills or say, “...ask Harmony to…”
“Updating our skill to work with the Smart Home Skill API allowed us to make the entertainment experience more intuitive,” says Wood.
Wood says so far, customer feedback has been overwhelmingly positive—and the team is just getting started with voice.
“Customers can look forward to more great things coming from the skill. We will continue to use voice to make the home entertainment experience as convenient as possible,” says Wood.
For others thinking about creating a skill for Alexa, Dickinson recommends just diving right in.
“Working on a skill that significantly improves our users’ experience and also has a positive impact on the Harmony business has been very rewarding,” says Dickinson. “Amazon has excellent documentation to help you build a skill. Start, build, and iterate quickly. You’ll learn a lot along the way.
Learn how to build a standout skill your customers will love. Attend our upcoming webinar to learn the qualities of the top-performing skills in the Alexa Skills Store. Register now for the US session or the UK/Germany session. Then use the new lessons learned to publish a new skill in September and earn Alexa developer perks.