Dustin Coates in Code

What's New in Alexa Skills Kit in July 2020, from Alexa Live

Today is Alexa Live, Amazon’s annual virtual developer conference where they reveal heaps of new products and features. Let’s take a look together at some of what Amazon is announcing today. See the full list on the Alexa Skills release log.

Skill Resumption

  • In preview in the US
  • Users can come back to a skill without an invocation name
  • Users can come back even if they have gone to another skill since
  • Either users or Alexa can resume the conversation
  • Users must give permission for skill resumption

Skill resumption solves a challenge that many skill builders have had, where there is a long-running process in the background and the developer wants the user to be able to come back to ask for an update without repeating the invocation name. And yet skill resumption does more than let a user come back to the last skill used.

Users can also go to other skills in-between and resume an interaction later with a previous skill. In one of Amazon’s examples, a user might be working out while listening to music. She’s using multiple skills, and this will reduce the need to say “Alexa ask so-and-so skill to…” each time.

Even more, the user doesn’t have to be the one who resumes the skill. The skill itself can do so. If Uber needs to find a rider for the user, it can barge back in a few minutes later once it found a match. The skill does this through the “Resume Session API” and is called “foregrounding.”

A potential downside is that users must proactively provide permission for foregrounding. I can understand why Amazon has done this, but it will surely depress usage.

Quick Links for Alexa

  • In beta in the US
  • Skill owners can provide a URL to a user to launch an Alexa skill
  • The user can choose to start the skill on a nearby device
  • Users can also choose to get a notification whenever they are home to try a skill

Beautiful. The bullet points says it all: give users a way to launch a skill from an ad, social media, whatever. I love that you can choose which device you want to receive the skill or you can receive a notification when you’re home and near your device.

Alexa Conversations

  • In beta in the US
  • Create conversational skills with less code

Alexa Conversations has been in beta (or maybe preview) for seemingly a year now, and there’s much to say, so I won’t go deep here. Check out the blog post I linked to at the beginning of the paragraph and the documentation. Alexa Conversations is a new way of building skills, so you’ll want to take time to really understand it.

ASK SDK Controls Framework

  • In beta everywhere
  • A new SDK framework that manages tricky user interactions
  • On top of the existing ASK SDK for Node.js

The Controls Framework was one that I got to use as part of the pre-launch testing, and I have high praise for it. I mentioned that Alexa Conversations is a new way to build skills, and the Controls Framework is, too, in a way. The Controls Framework helps take care of tricky situations that skill builders will encounter.

For example, one very difficult situation is when a skill tries to direct a user down a certain path and the user decides to go in a different direction. Generally, a developer curses and builds a ton of logic to handle the new branch. The Controls Framework handles it instead with minimal code.

Check out the documentation I linked to in the first paragraph of this section, but certainly the best way to think about Controls Framework is that it acts as a controller to route what are… well, not views, but not all that different either. The Controls Framework also has built-in controls for handling common situations like requesting a quantity.

Alexa for Apps

  • In preview everywhere
  • Users can invoke applications from Alexa

Alexa for Apps connects skills and mobile apps connect so that a user can start an interaction with an application inside a skill. It is similar to functionality that Google Assistant has had for a while, although I’m unclear how much adoption the Assistant functionality has (I’ve never seen it in action).

Amazon gives a few examples, such as starting a search on Twitter or loading up videos on TikTok.

At first, this functionality seems boring. Why would I go to the Alexa app on my phone, open it, ask for another app? Except… Alexa for Apps isn’t about that interaction flow. It is instead when I have my Echo Buds (or, personally, my Jabra Elite) on and I invoke Alexa. That is much more interesting. And more interesting to Amazon, too, because it short-circuits Google or Apple.

Customer Behavior Metrics

  • In beta in US
  • See how often users interrupt your skill response
  • See how often users terminate a skill prematurely
  • See how oftne users request something that you can’t handle

There isn’t much to say about Customer Behavior Metrics that the bullet points don’t already. Welcome additions, though.

Multi Value Slots

  • In beta in English

You can now specify that a user might specify multiple values for the same slot, such as “I want red, blue, and green marbles.” You have to specify that a slot can accept multiple values, but that’s about all. This will help reduce the unnecessarily tedious “I want {color_1}, {color_2}, {color_3}” utterances that only ever saw invocation.

Alexa Skills Kit (ASK) Toolkit for Visual Studio Code

Okay, this looks amazing. I might, might have to switch back to Code from WebStorm. You can preview APL inside of Code and do local debugging. Although, do note that you can integrate local debugging with other IDEs

New APL Features

I’ll be honest: I don’t use APL too often. However, the new improvements look really good. What I like the most is JSX for APL. New features such as text boxes and new gestures can open up new interactions, however.

(Speaking of, there is also the Alexa Web API for Games, but I don’t build games, so I don’t expect to spend much time with it.)