Алекса, когда моя дочь выходит замуж?

Больше месяца назад я задал вопрос своей девушке. Почти сразу же ее засыпали новыми вопросами:

— Когда будет свадьба?

— Где будет свадьба?

«Где будет мероприятие?»

Она хотела каким-то образом избежать ответов на новые вопросы.

Накануне Дня Благодарения мы ужинали в доме ее родителей. Во время еды я вспомнил, насколько ее родители были большими поклонниками их Amazon Echo. Любимым семейным ужином было задать Алексе случайный вопрос или посмотреть, сможет ли она прочитать стихотворение.

И тут меня осенило: а что, если я смогу заставить Алексу отвечать на вопросы моего жениха?

Проектирование продукта — зачем его создавать?

  • Чтобы помочь родителям моего жениха найти ответы на любые вопросы, которые у них могут возникнуть
  • Чтобы рассмешить моих новых родственников
  • Чтобы убить время на выходных в День Благодарения

Как добраться до MVP с помощью «Hello World!»

Моя цель состояла в том, чтобы получить минимально жизнеспособный продукт, работающий над эхом моей будущей зятя до обеда в День Благодарения. Это означало создание навыка Alexa (эквивалент приложения). Я проснулся рано в День благодарения и провел небольшое исследование.

Мне нужно было убедиться, что я могу делать основные вещи: создать навык, сделать его доступным на устройстве Amazon и заставить его реагировать. Я не буду слишком подробно вдаваться в процесс, но дам краткое резюме и предоставлю ресурсы. Я остановился на использовании Flask-Ask (описанного Amazon здесь с документацией здесь), чтобы запустить базовый сервер для обработки запросов от Alexa. Чтобы позволить Alexa общаться с моим компьютером, я использовал ngrok (с некоторыми указаниями из этого блога здесь). Наконец, я зарегистрировался в учетной записи Amazon Developer, создал новый навык и заполнил простые высказывания и намерения (подробнее здесь). Примерно через час возни я заставил Алексу отвечать на приветствие привет.

Дизайн и сборка

Ободренный, я приступил к разработке продукта. Сначала я прочитал Лучшие практики Alexa. Многие умы уже хорошо продумали дизайн взаимодействия, поэтому я хотел быстро у них поучиться.

Имея часть этих знаний, я набросал несколько вопросов, которые мне уже задавали друзья и семья, и подготовил ответы. Прежде всего, когда, где и будут ли у нас дети!

Было еще много возможных вопросов, но моей целью был MVP, поэтому я начал с них.

Мера

Мой навык находился в разработке, поэтому только одобренные разработчики могли получить к нему доступ со своих устройств Amazon. Я настроил учетную запись Amazon моей будущей свекрови в качестве разработчика, а затем попробовал ее.

«Алекса, спроси у свадебного суррогата, когда Джесс и Габби поженятся».

Все посмеялись, все получили ответы на свои вопросы, и мы весело провели время!

Учиться

Я получил отличные отзывы от будущих родственников.

Во-первых, они чувствовали себя странно, когда я попросил Алексу использовать местоимение «мы» при описании планирования свадьбы. Они не думали об Алексе как о нас. Вместо этого я изменил несколько экземпляров на «они», что заставило всех чувствовать себя лучше.

Во-вторых, мне нужен был способ заставить Alexa учиться и собирать вопросы, на которые у меня не было ответа. Следующим шагом будет добавление способа каталогизации новых вопросов для будущих ответов.

В-третьих, и в более техническом плане, мне нужно было более изящно справляться с окончанием взаимодействий с моими навыками в Alexa. Если какое-то время никто не разговаривал с Алексой, она жаловалась на ошибку при общении с навыком. Похоже, я просто забыл использовать существующие намерения Amazon для прекращения взаимодействия. Постараюсь добавить это дальше.

«Алекса, остановись»

Хорошо. Но прежде чем я….

Если вы хотите посмотреть на раннюю версию моего приложения, вы можете проверить репозиторий GH здесь.