I'm back! :) Retomo el blog después de un tiempo, que ya iba teniendo ganas.
En estos meses he estado liado con colaboraciones para skills de Alexa. Algunas se han publicado ya y otras espero que vean la luz en lo que queda de año. Podéis consultar las skills que he creado o en las que he colaborado en esta página.
Tengo más ideas para futuras skills pero necesitaba parar un poco y retomar el crear y compartir contenido. Es algo que me gusta mucho y lo echo en falta después de un tiempo. Además, estos meses ha habido novedades y eventos relacionados con Alexa y he estado atento para recopilar lo más interesante.
El evento más importante y del cual os voy a hablar en este post es: AlexaLive 2021. Es el evento de referencia del mundo Alexa, ya seas creador de skills, fabricante de hardware que quiere integrar los servicios de voz de Alexa o, simplemente, estás interesado en el mundo de los asistentes "ambientales" (concepto que veremos en este artículo).
Podéis ver todo los vídeos del evento en la lista que he creado en Youtube. Por mi parte he elegido los que más me interesaban, sobre todo relacionados con la creación de skills, y los voy a comentar a continuación.
Keynote
La sesión de apertura, donde se enumeran la mayoría de las cosas a anunciar en el resto del evento. Aquí simplemente quería destacar un concepto que, aunque no es nuevo, creo que es de las primeras veces que lo veo "oficialmente" nombrado por Amazon: "ambient assistant/computing".
La idea de "ambient assistant/computing" es llegar a tener una integración del entorno y de un asistente de forma que sea muy proactivo, personal y con capacidad de predecir acciones o necesidades de cada usuario. De esta forma no hablamos solo de smart speakers sino de la integración de un asistente y capacidad de computación a multitud de devices.
Si hablamos de Alexa, el foco de Amazon está puesto en conseguir un asistente ubicuo, totalmente multimodal y cada vez más inteligente. Con esos objetivos se han anunciado varias cosas que veremos en este artículo.
Además, Amazon apuesta por una interoperabilidad total de forma que dentro de un mismo device puedan darnos servicio N asistentes. Es la conocida como: Voice Interoperability Initiative (VII). Destaco la guía de diseño de "Multi-agentes". Podéis ver el video con demos que pusieron en el evento.
How to Design for AI: The Principles of Voice Design
Siempre es una buena oportunidad para alejarse un poco del código y centrarse en la parte de "diseño para la voz". Ya desde el principio Amazon tenía una guía con unas directrices. Ha sido para mi clave a la hora de enfocar ciertas decisiones cuando hago skills.
Ahora la guía se ha revisado y actualizado totalmente. Además, sé de primera mano que Amazon estaba bastante enfocado en conseguir una gran experiencia para los creadores de skills. Tuve la oportunidad de hablar hace unos meses con Jon Nemargut (uno de los speakers de la charla) y comentarle el proceso que sigo a la hora de diseñar para la voz. Parte del feedback recogido con otras tantas charlas han creado la nueva guía.
Build Personalized Experiences with Alexa
Como comentaba antes en la parte de la keynote, uno de los objetivos de Amazon es la personalización de contenidos y los servicios que puede ofrecer Alexa a un usuario. Para eso es crucial el tema de los permisos, al igual que en una app móvil, para acceder a información personal o vincular cuentas, por ejemplo.
Alexa ya ofrecía la posibilidad de enlazar cuentas con "Account linking" pero siempre pasando por la app móvil de Amazon Alexa. Igualmente, existía la posibilidad de aceptar permisos, también desde la app, si una skill los requería para realizar ciertas acciones. Ambas cosas tienen en común la fricción de no poder hacerlo directamente interactuando con Alexa con voz, además de hacer esto compatible con tener varios perfiles dentro de una misma cuenta.
En esta charla se cuentan algunos pasos que está dando Amazon de cara a mejorar la experiencia, tanto de cara a crear la skill como para usarla. Un ejemplo es la capacidad de realizar el flujo de account linking o aceptar el consentimiento de algunos permisos mediante la voz. Esto ya se puede hacer con recordatorios y temporizadores, aunque yo lo he probado en español y tiene ciertas pegas.
También han ampliado la parte del simulador en la Alexa Developer Console para soportar todo este tema de permisos.
The Future of Voice Gaming
Lo de crear juegos con Alexa me parece bastante potente. Yo aún no he asomado mi cabeza por ahí y me decido a quedarme asombrado con lo que crean otras personas.
De esta charla quiero destacar dos cosas interesantes que vendrán:
- Sharing API > Una API sobre la que apoyarse para hacer juegos multijugador "reales", es decir, cada uno en su casa con su dispositivo Alexa. Parece bastante potente y que puede simplificar mucho la vida a la hora de crear la experiencia.
- Adaptative Mic Timeout > Esto ha salido de "tapadillo". Es posiblemente una de las funcionalidades más demandadas a día de hoy. El timeout actual del micro, cuando Alexa está esperando por una interacción del usuario, se puede quedar corto para algunos escenarios. Con esta funcionalidad parece que se permitirá que ese tiempo sea ajustable por la skill.
Build Higher Quality Skills with New Authoring, Testing, and Feedback Tools
Una de las charlas que más ganas tenía de ver y venía bastante cargada de cosas. En estos casos la sensación que se me queda es agridulce. Dulce porque salen cosas, pero agría porque no es de acceso público o aún no está para español. En cualquier caso hay que estar atento:
- New Authoring tools > Se vienen varias herramientas, también en parte con relación con Alexa Conversations, y que pintan muy bien. AI Utterance Recommendation Engine, que nos ofrecerá sugerencias de Utterances para nuestro modelo de interacción; Alexa Entities, que nos abrirá la puerta a una base de conocimiento que poder ofrecer en nuestra skill; y negation multi-value slots, que será capaz de entender bien interacciones con varios slots donde usamos también la negación.
- Feedback tools > Un punto crítico para cualquier skill es recoger bien el input del usuario y, además, reconocer muchas variaciones para una misma petición. Amazon ha creado una herramienta, Auto-defect Reduction Service (aka ARES), para ayudar al desarrollador en esta tarea (parte automática basada en interacciones con éxito y parte con una opción manual para los desarrolladores).
- Centralized Testing Tool > Nueva herramienta para crear tests basados en variaciones de los utterances e integrado con ASR/NLU evaluation tools.
- Custom Pronunciation > Una herramienta para poder añadir cómo se pronuncian ciertas palabras de tu modelo de interacción. Por ejemplo, si tienes nombres de videojuegos, lugares, películas, etc. Esto es muy importante para reducir la frustración de poner añadir contenido dinámico y que luego se puede reconocer bien. Lo ideal sería que esto se pudiera hacer con Dynamic Entities pero no dicen nada sobre eso.
- Skill A/B Testing > Una de las más esperadas por mi parte. Vamos a tener la capacidad de hacer A/B testing, tanto a nivel modelo de interacción como a nivel endpoint y así experimentar con distintas versiones.
- Skills Insights > Recomendaciones que el equipo de Amazon Alexa dará a los desarrolladores sobre cómo mejorar sus skills. Estarán visibles en la Alexa Developer Console y también las enviarán por correo (yo ya recibí alguno y están muy bien).
- Alexa-Hosted Skill Improvements (Removal of AWS Free Tier limits*) > Esta no la veía venir :) Aunque no todo va a ser gratis usando Alexa-Hosted, sí que se van a ofrecer unos límites muy interesantes y así motivar su uso vs a hostearlo por nuestra cuenta (aunque sea en AWS).
Simplifying Natural Voice Experiences with Less Code
Uno de los avances que se supone más importante en la creación de skills para Alexa es la funcionalidad de "Alexa Conversations". Esto ya fue presentado en el AlexaLive 2020. Aún no está disponible en español aunque espero que falte poco ya que este año lo han abierto a otros idiomas distintos al inglés.
En esta charla se hace un breve recordatorio de Alexa Conversations y se descubren nuevas features como:
- Prepacked Components > La idea es similar a reutilizar componentes web o de cualquier otra tecnología cliente. Amazon creará componentes, a nivel de modelo de interacción, para que puedan ser incluidos en nuestro diseño de skill con Alexa Conversations. En el vídeo se ven algunos ejemplos ya existentes.
- Alexa Conversations Description Language (ACDL) > Un lenguaje para poder expresar de forma programática los escenarios y ejemplos que forman parte de la conversación de la skill. Integración con VSCode y CLI.
- Influencing Skill Behaviour > Algo muy interesante, ya que cubre algunos de los retos más comunes a la hora de desarrollar skills. Por ejemplo, indicar el orden de recogida de los slots en una conversación, una mayor gestión del contexto y manejar condiciones y variaciones para una situación.
Good to Great: Create Engaging Skills with Layered Audio, Animation, Motion, and More
Una de las charlas más completas y con bastantes cosas interesantes, al menos desde el punto de vista de skills que yo tengo o en las que estoy trabajando.
Está sobre todo orientada a generar skills atractivas en cuanto al contenido multimedia y las posibilidades de interacción. También hay unas novedades que pintan muy bien para mejorar el engagement de los usuarios:
- APL new features > La versión 1.7 de APL ya está aquí y en el vídeo se muestran algunas de las novedades.
- APL-A GA & new features > Si aún no has probado APL-A (documentos que te permiten crear experiencias sonoras bastantes chulas) te animo a que juegues un poco. La nueva versión viene con alguna feature bastante demandada.
- APL.ninja > El sitio de referencia si quieres construir skills multimodales con APL. Merecido reconocimiento a Alexander Martin (además de ser nuevo Alexa Champion en Europa) por todo su trabajo creando y cuidando la comunidad.
- Rich Skill Detail Pages > Esta no me la esperaba tampoco. Parece que vamos a tener la posibilidad de mejorar las páginas de detalle de las skills en la store (poniendo vídeos y cosas así). Creo que es un gran paso orientado a hacerla más profesional y atractiva, así como ayudar a la discoverability.
- APL Widgets > Otro de los grandes esperados. Aunque faltan detalles para saber cómo va a funcionar exactamente, tiene toda la pinta que será una gran forma de aumentar el engagement con los usuarios que usan dispositivos con pantalla. Con los widgets se podrá ofrecer mostrar información e interactuar fuera de una sesión abierta con la skill. Lo dicho, hay todavía dudas sobre ciertos temas pero apunta fuerte.
Improve Your Productivity with New Alexa Tools
Tengo que confesar que aquí voy con un "pelín de retraso" :D Soy usuario de las herramientas de JetBrains, como WebStorm, desde hace tiempo y me cuesta bastante pasarme a VSCode y sentirme productivo.
Parece que el equipo de Amazon Alexa está apostando bastante fuerte con las posibilidades del editor de Microsoft. La evolución para convertirlo en una plataforma de desarrollo para Alexa es cada vez más completa. Yo simplemente he probado a hacer algunas cosas pero admito que estaría bien ponerme en serio y exprimir al máximo lo que ofrece. En esta charla te puedes hacer una idea de lo nuevo que han sacado y la potencia que tiene.
Igualmente, me hago una pregunta, ¿se podrían crear plugins para WebStorm relacionados con Alexa? La respuesta probablemente sea "sí" pero no creo que ahora mismo esté en mente de nadie. Al final mi posición es que hay que usar las herramientas con las que uno es capaz de realizar bien su trabajo y esté cómodo.
Grow Your Audience and Make Money with Your Skills
Esta charla trata dos cuestiones muy recurrentes en cualquier tipo de plataforma: cómo llego a más usuarios y cómo monetizo. En el caso de Alexa ambos temas están todavía "en pañales" y creo que falta mejorar pero han anunciado unas cuantas cosas muy interesantes que apuntan al buen camino:
- Skill discoverability (Featured skill cards, NFI) > El equipo de Amazon Alexa parece bastante centrado en facilitar la vida al usuario para encontrar skills y a los creadores a destacarlas de alguna forma. Me ha gustado mucho la propuesta de las "featured skill cards", para dispositivos con pantalla, que muestren skills recomendadas por alguna razón. Y espero con muchas ganas poder usar NFI (Name-free interactions) en español de cara a no tener que invocar una skill con la fórmula habitual de "abre/pon".
- Recap Quick Links + Custom Tasks > Breve repaso de los quick links. Si todavía no los usas para distribuir/promocionar la skill ya estás tardando :) Me parecen muy útiles y potentes. Además puedes crear "deeplinks" a acciones de la skill con las custom tasks.
- Custom Tasks on routines > Siguiente paso al punto anterior, poder añadir directamente esas custom tasks a las rutinas. Esto da un plus de facilidad para el uso y ofrecerlas así hace más sencillo a cualquier persona añadirla.
- Making money (ISP to new countries, Paid skills, Alexa Shopping actions + Amazon Associates) > El punto de la monetización. Aparte de anunciar abrir ISP a más países (en España ya estaba), ha habido dos anuncios interesantes. El primero, las "paid skills", es decir, "skills de pago" donde tienes que pasar por caja antes de usarlas. Desde mi punto de vista, no sé si a día de hoy la gente está dispuesta a pagar por skills pero, como siempre, dependerá de la calidad de contenido y la experiencia. A mí la opción ISP me gusta más por el momento. Y, algo que sí me parece muy atractivo, la posibilidad de vender productos de la tienda Amazon (con el programa de afiliados) desde dentro de una skill. Atentos a esto que pinta muy bien.
Enhancing At-Home and On-The-Go Experiences
En la keynote se destaca una de las características que Amazon quiere de Alexa: ubicuidad. Esto busca poder generar experiencias con Alexa dentro y fuera del hogar, integrando el asistente en muchos dispositivos y pudiendo interactuar entre todos.
En esta charla verás varios ejemplos de escenarios donde se hacen realidad esas "on-the-go experiences" (y algún vídeo más hay en la cuenta youtube oficial). Merece la pena verlas de cara a lo que puede ser el futuro no tan lejano.
Además, simplemente señalar una funcionalidad que también viene fuerte: la posibilidad de enviar contenido desde Alexa al teléfono del usuario. Aunque entiendo algunos ejemplos que se muestran, yo todavía soy un poco reacio a tener que saltar de plataforma para completar acciones. Es verdad que es bastante habitual usar el teléfono como garantía de "autorizar" operaciones. Será cuestión de acostumbrarse :)