December 19, 2018Lisa Mohanty
Introduced in the US, UK, and Germany earlier this year, the Alexa Gadgets Toolkit (Beta) enables you to build your own Alexa Gadgets—fun and delightful accessories that connect to compatible Echo devices, and react to customer interactions with Alexa. The Alexa Gadgets Toolkit offers self-service APIs, including Gadget Interfaces which facilitate the sending of information from an Echo device to an Alexa Gadget. These Gadget Interfaces include wake word detection, speech, notifications, alerts (timers, alarms, and notifications), and time info (now available).
To illustrate how you can build your own Alexa Gadget, we are sharing how the Alexa Gadgets Toolkit was used to build Echo Wall Clock. Amazon built Echo Wall Clock for Echo device owners who enjoy using timers, alarms and reminders as a part of their daily routines.
Echo Wall Clock is a 10-inch battery powered clock that serves as an Echo companion for customers to see timers at a glance, helping them stay organized and on-time at home. The clock hands sync to the time on the Echo device to which it is paired, and automatically adjust to daylight savings time. With its 60 LED display, customers can say, “Alexa, set a 12-minute timer,” and their Echo Wall Clock will display the time remaining, as well as a countdown for the last 60 seconds.
To power these features, Echo Wall Clock uses the following Gadget Interfaces: time info, alerts, and notifications – all of which send information in form of directives from the paired Echo device. Here’s an illustration of what happens when a customer interacts with their Echo device, and how Echo Wall Clock responds:
When a customer interacts with certain features of their Echo device, they will see their Echo Wall Clock react. Let’s go a little deeper into how Echo Wall Clock responds to directives that are sent from an Echo device:
When a customer pairs Echo Wall Clock to their Echo device, a StateListener Interface containing the current time of the Echo device is shared with Echo Wall Clock over Bluetooth. Echo Wall Clock uses this time info to trigger the clock’s hands to move to the same time as the Echo device. Echo Wall Clock periodically uses the StateListener Interface to remain in sync with the Echo device – from the customer’s first-time user experience and onward, including automatic updates for daylight savings.
When a customer sets a timer on their Echo device by saying “Alexa, set a 12-minute pasta timer,” the Alexa Gadgets Toolkit is used to enable the following experiences on Echo Wall Clock:
The clock uses the Alerts Interface’s SetAlert directive to illuminate the 60 LEDs to indicate how much time is left, with a countdown animation for the last 60 seconds.
When a customer cancels an existing timer, the same Alerts Interface with a DeleteAlert directive is received by the clock - triggering the removal of the timer illumination.
When a timer expires, Echo Wall Clock uses the StateListener Interface (StateUpdate directive of name:timer and value:active) to trigger the prescribed animation using the 60 LEDs.
Alarms and Reminders
When a customer sets a reminder on their Echo device by saying “Alexa, remind me to take out the laundry at 10:00am,” the Alerts Interface’s SetAlert directive is sent to Echo Wall Clock to trigger the display of a confirmation animation using the 60 LEDs. Customers have the same experience when setting an alarm. In both cases, all LEDs will pulse when an alarm or reminder expires.
When a customer receives a notification on their Echo device, a Notification Interface SetIndicator directive is sent to Echo Wall Clock to trigger its status LED to pulse yellow for a limited time before automatically turning off. The status LED is located just below the center of the clock, and used to communicate the state of the device, including pairing and notifications. We chose to use the same yellow hue that represents notifications received on Echo devices.
You too can create your own product similar to Echo Wall Clock using Alexa Gadgets Toolkit, or build something completely different using one or more of the available Gadget Interfaces. For example:
When you combine these ideas with additional Gadget Interfaces, such as wake word detection and speech data, the possibilities for designing delightful gadgets that customers will enjoy are endless.
We can’t wait to see what you build!