< Back

Making Search Talk: Connecting Algolia and Alexa

Mostly, I just wanted to stop typing so much.

A couple of years back, I bought an Amazon Echo. It was on a whim, really. I had been buying all of my food on Amazon Fresh, Amazon announced a special Prime-only smart speaker, and I decided that Jeff Bezos needed more of my money. The speaker was nice, but I was dying to extend it, because, again, I was tired of typing, and instead I wanted to use my voice to interact with the world.

Don’t get me wrong: I can type with the best of them. I was the best typer in my third grade class. But I really only enjoy typing when it’s either a competition or in the service of something else, like chatting with my girlfriend or railing against the designated hitter in baseball.

When I speak with other developers it’s the same thing. Some might love refactoring code, others building new products, and still others writing clean documentation. But I haven’t heard one who would say: “I typed 5,000 characters today. What a good day!” Mostly, through shortcuts, snippets, and the like, we want to type less.

Over the years, I noticed a couple of things. The first was that the service provided by my new employer, Algolia, was a really good fit for what I often did with the skills. It was easier to work with than Amazon’s DynamoDB (the general go-to data store for skills hosted on AWS Lambda), it was fast, and it could be leveraged inside AWS Lambda (where the majority of the Alexa skills reside) as well as it could be on the web.

The second thing I noticed was that I was typing the same things over and over. For Alexa, there would always be code that looked something like this:

And with Algolia, I was always initializing the client, providing my credentials, etc. In defense of my colleagues who work on this, the amount of setup necessary is remarkably small when you consider what Algolia does. And, they’ve made it even easier with InstantSearch.

Taking inspiration from InstantSearch.js, I wondered to myself if there might be something similar that could connect Algolia with the Alexa Skills Kit.

You see, it’s become clearer than ever that voice as a user interface has arrived. Voice-enabled assistants such as Alexa, Cortana, Google Assistant, Siri, and more are making an impact and changing the way we interact with our computers.

Amazon is certainly sitting in the pole position. Through the Echo line and partner devices, Amazon is expected to control 70% of the voice-enabled speaker share in 2017. This is a market that will see 130% growth in 2017, with voice-enabled assistants growing 23.1% on their own.

All this means that millions of new customers are purchasing Alexa-powered devices and expecting Alexa skills that just work. They expect the skills to be fast and tolerant of ambiguity. Often they’re looking for information, as we can see in popular skills such as those from Kayak or Boston Children’s Hospital.

The developers creating Alexa skills want to be able to create them quickly and trust that they’ll work. This sounds like something to which Algolia is well suited.

Let’s take a look. Algolia’s got typo tolerance (how often has Alexa heard “New York” when you meant “new work?”), synonyms (which frees you from having to use the skill builder for entity resolution), and search relevancy at the forefront of what we do. We’re fast, which is important for “quick thinking” conversational UI. We also don’t require information to come to us in a specific manner. And, Algolia can be set up in the time it takes you to watch the latest Game of Thrones.

Integrating Algolia with the Alexa Skills Kit was already simple, but how can we reduce the boilerplate–how can we reduce the typing? We decided to make it even easier by creating the Algolia Alexa Skills Kit Adapter. A small JavaScript library, the adapter is intended for use on Amazon Lambda and provides both tools for integrating Alexa and Algolia, as well as a framework for structuring your Alexa skill.

The adapter is all convention over configuration–allowing you to stop thinking about the setup and start focusing on the user interface. While there might be more than 15,000 skills available for the Echo, it’s still early days and an intuitive VUI will help raise your skill above the rest. That’s what we wanted to optimize for.

We’ve already leveraged it to great effect in building skills that use Algolia. To see an example, check out a skill we built that enables searching for name meanings and origins.

Voice-first is a nascent but growing technology. There are many opportunities for companies to stake their claims early. Algolia’s here to help. Get started with our Alexa Skills Kit adapter to build your own search into your skills.