What Happened
On 1 July 2024, Amazon turned off List Skills and its List Management REST API which enabled shopping list apps like AnyList or ToDo List apps like Todoist to sync with Alexa lists, i.e. the Alexa Shopping list or the Alexa To Do list. This means, for example, that users can no longer edit their third-party shopping list by saying “Alexa, add milk to the shopping list” or “Alexa, remove candy from the shopping list”.
AnyList has modified its Alexa Skill so that users now can use commands like “Alexa, tell AnyList to add milk” or “Alexa, tell AnyList to remove candy” to edit their shopping list. The previous commands (without “tell AnyList”) will still work, but they will only affect Alexa’s native shopping list, not the list on AnyList. In other words, users can either switch to the new commands and continue using AnyList or stick to the old commands and use the Alexa App to handle shopping lists instead of AnyList.
My Thoughts
My family has been using AnyList with Alexa for years and I don’t see that we’re going to use the “tell AnyList” command in the future, not just because Alexa keeps hearing “Annie List” and wants to announce the item on all devices (see screenshot below, LOL), but also because it’s a nuisance to even remember the command. Even if we’d try, some items will inevitably end up on the Alexa list without anyone noticing because using the old command won’t produce an error but the usual response “I added milk to your shopping list”.
Alexa only?
The official alternative (and what Amazon obviously wants us to do) is to abandon AnyList and switch to the Alexa app, but to me, that is not really an alternative.
As for the UX of the Alexa app in general, I shall say no more than that I try to use it as little as possible. But in light of the situation, I nevertheless considered trying it for our shopping list and I was positively surprised by the fact that it does categorize items into “Produce”, “Condiments”, “Pasta & Noodles” etc, just like AnyList does. But the headaches started when I tried to change the order in which these categories are listed. You can choose “A to Z” and “Shop Layout” but it is unclear how I can change the shop layout, i.e. the order in which the categories are shown. I cannot find any information on this and it seems not possible. Alexa seems to simply assume it knows in what order the aisles in my supermarket are organized.
Even if Amazon eventually fixes this, using the Alexa app will remain a drastic downgrade from dedicated Shopping List apps like AnyList, even for someone like me who only uses a tiny fraction of the available features. Given this experience (among other things), I want to reduce my dependency on Amazon’s services, not increase it.
Less dependency on Amazon
Amazon’s business strategy has long been to “spy” on Marketplace sellers to then adopt their successful products and sell them at a lower price, often effectively putting the third-party seller out of business. This strategy of letting others bear the risks and costs related to innovation testing the market for viable products is ingenious but predatory and it looks like Amazon is also applying it to the Alexa platform when it effectively pushes shopping list providers such as AnyList out of its ecosystem in order to take over their customers/users.
Amazon knows very well that it is rather laborious for users to find alternatives to “the path of least resistance” (i.e. alternatives to continue using Alexa the same way to add items to the shopping list) so that all they needed to do to hijack AnyList users was to make it more difficult for them to use AnyList than to use Alexa Shopping List. I’d be curious to learn what percentage of AnyList users continue to use AnyList with Alexa vs the percentage that abandons AnyList and switches to the Alexa app (“Alexa only”).
My guess is that only a minority will use AnyList with Alexa. But this doesn’t necessarily mean that the majority will opt for “Alexa only”. Many will use “AnyList only” and heed the memory of the days when you could add ingredients to the shopping list with your hands immersed in dough or while grating your last bit of cheese.
Use Willow to Manage your Shopping List?
And there is another possibility, which is the one I am going to explore: alternatives to Alexa, specifically: Willow, i.e. the Willow Inference Server (WIS) and the Willow Application Server (WAS) in combination with a hardware device called ESP Box. I ordered an ESP Box over a year ago and never got down to actually trying it out, but Amazon’s decision is pushing me to finally investigate what I can do with this and how much effort it takes.
To figure stuff out, it helps to have a concrete goal in mind which will keep you focused when there are many potential rabbit holes to dive down into. In this case, the goal is to use an ESP Box to add and remove items from our AnyList shopping list, i.e. to replace Alexa/ our kitchen Echo Dot with an ESP Box for matters concerning our shopping list.
I say “for matters concerning our shopping list” because “Willow itself is not a complete and direct replacement for Amazon Echo/Google Home”. In a nutshell, Willow is specialized in receiving voice commands and passing them on to somewhere to do useful stuff. While this is arguably what Echo Devices are most used for, they are not particularly good at it. This did not stop Alexa from becoming a success, simply because there was no (readily available) alternative. But with OpenAI’s release of the Whisper speech-to-text models in September 2022, this has changed. Since then, high-quality machine transcription has become available virtually for free to anyone and Willow makes use of this.
If you find this interesting, please join me in exploring the possibilities further and sharing insights here or elsewhere on the web. Perhaps you are already using Willow for your shopping list or to send commands to some of your smart home devices? Please share your experience in a comment.
I hope that AnyList will release official documentation for their API (and possibly some JS and/or Python libraries to use it) to help reduce their users’ (and ultimately their own) dependency on Amazon. For the time being, there is a reverse-engineered JavaScript wrapper for the AnyList API available here. Some more resources to get you started are her (Home Assistant) and here (OpenHAB). And, of course, Kristian Kielhofner’s Willow website.