My Alexa Display Template Skill Design & Coding Deep Dive series continues with a discussion of one of the harder realities Alexa skill devs have to face: Alexa platform changes can happen at any time, and you won’t get any advance warning when they do.
Alexa Change Is Certain, But Unpredictable For 3P Devs
The Alexa ecosystem is young, and in flux. Amazon is still figuring out the best use cases for the Alexa voice service and still busily refining it to eliminate bugs and limitations, improve the user experience, and add core features consumers are demanding. Amazon keeps track of its plans for both the Alexa software and Alexa devices in internal product roadmaps but they don’t share those roadmaps. 3P developers generally learn about significant changes the same way consumers do: when those changes are released to production.
You can’t know if the skill you’re working on will be negatively impacted by upcoming changes, nor even that changes are upcoming.
The functionality of a skill you’ve currently got in development could be superseded by an Alexa software change that introduces the same thing as a native Alexa feature. Your in-development or live skill could be rendered buggy or non-functional by an Alexa software change that deprecates your skill’s Display Template, version of the Alexa SDK for node, or an SDK helper function. Your intricate, carefully engineered interaction model could be reduced to shambles by an Amazon decision to lay claim to some new keywords for its own core Alexa functionality.
All of this means that as s a 3P developer, you probably shouldn’t get too attached to an in-dev skill or too dependent on the continued, reliable functioning of a live skill. At this stage of the game, it’s unwise to attempt to support yourself financially on an Alexa-based or Alexa-dependent business as well, because you have zero control over, or information about, Amazon’s plans for Alexa.
Negative Impacts on Visual Tarot
In the case of Visual Tarot (UK readers click here), there are two changes that I wish I’d known were coming: deprecation of ListTemplate3 and introduction of the new Action Link element in Display Templates.
When Display Templates were first introduced along with the Echo Show there were three options for list screens: ListTemplate1, ListTemplate2 and ListTemplate3. All of these were referenced in the original Display Template technical documentation but when the Spot was introduced Amazon decided to deprecate ListTemplate3, presumably because it wouldn’t display well on the Spot. Amazon quietly removed references to ListTemplate3 from the docs, but didn’t make any announcement of the change.
I’d used ListTemplate3 in my Cartoon Player skill and initially planned to use it in Visual Tarot as well, but Spot owners started posting negative reviews on Cartoon Player, saying it wouldn’t run on Spot, and I started asking my Amazon contacts about it. That’s how I found out ListTemplate3 has been deprecated, and that meant I had to redesign some of my Visual Tarot list screens.
By the way, ListTemplate3 was still working just fine in Cartoon Player on Echo Show, but I hadn’t yet received my Spot so I couldn’t test it on that device. I opted to release an update that swapped ListTemplate2 in anyway, since I knew Amazon support for ListTemplate3 could be pulled at any time and I probably wouldn’t get any warning about it.
Introduction of the Action Link element in BodyTemplate screens doesn’t negatively impact Visual Tarot’s functionality, but its existence could’ve saved me weeks of time spent coding, testing and debugging to create my own ‘action link’ elements within the considerable limitations of the Display Template framework.
A lot of the Alexa programming stuff that feels like climbing Everest right now could be as easy as taking an elevator in the future—or not. But if you’re trying to get to the top of Everest today, you’ll still have to take the ropes-and-grappling-hooks route to get there.
The deep dive continues next week.
Other Posts In This Series
Things That Kill Alexa Skills
A checklist of reasons why you might want to rethink your skill, or its design.