viernes, 6 de julio de 2018

Aprender a diseñar chatbots con Amir Shevat

'Designing bots' es un amplio tratado sobre el diseño de interfaces conversacionales, bots, fundamentalmente bots de texto que actúan sobre plataformas de 'texting' como Facebook Messenger y Slack aunque menciona otros posibilidades. El diseño se refiere, fundamentalmente, a la conversación propiamente dicha, a cómo fluye y cómo se gestionan las diferentes situaciones, aunque incluye otros elementos de la interfaz como son el uso de controles o más intangibles, como es la elección de la 'personalidad' del bot. A cambio, y aunque se dan algunas pinceladas de arquitectura y plataformas de desarrollo, no se profundiza exceso en este aspecto.

El libro se estructura en 20 capítulos:
  • 'Chapter 1: What are bots?': proporciona una definición de lo que es un bot y nos habla también de su evolución histórica y fases de adopción.

  • 'Chapter 2: Bot types': Hace distinciones entre bots personales frente a bots de equipo, bots generalistas (super-bots) frente a bots de dominio específico, bots para consumo frente a bots de negocio y bots de texto versus bots de voz.

  • 'Chapter 3: Major platforms': repasa algunas de las plataformas más comunes y, en concreto, menciona Facebook Messenger, Alexa, Kik y algunas plataformas legadas como los SMS o el correo y proporciona algunas ideas para la selección de la plataforma que más nos puede convenir.

  • 'Chapter 4: Major use cases': comenta algunos de los escenarios de uso de bots como el servicio al cliente, notificaciones, productividad, etc

  • 'Chapter 5: Bot anatomy': despieza los elementos de que se compone un bot aunque, de nuevo, el punto de vista es el de la conversación, no la arquitectura técnica. Así, identifica como elementos de esa anatomía el propósito, la personalidad, los flujos, las interacciones enriquecidas, las ayudas, los datos y la inteligencia artificial.

  • 'Chapter 6: Branding, personality and human involvement': nos habla de estos aspectos intangibles pero relevantes como son la personalidad del bot, y los ilustra con abundancia de ejemplos.

  • 'Chapter 7: Artificial intelligence': aborda temas como el entendimiento del lenguaje natural, la gestión de la conversación, el reconocimiento de imágenes, predicción, análisis de sentimiento y, en fin, aquellas partes de la funcionalidad de un bot que se pueden apoyar en técnicas de inteligencia artificial.

  • 'Chapter 8: The conversation': se centra ya en lo que son las conversaciones y nos habla como elemento importante del 'onboarding', de cómo hacer el script de una conversación, de las ayudas, del tratamiento de errores y, en fin, de todas los aspectos del diseño de una conversación. Es quizá el capítulo más largo e importante del libro.

  • 'Chapter 9: Rich interactions': toca las interacciones enriquecidas mediante ficheros, botones, imágenes, audio, vídeo, menús, comandos, etc

  • 'Chapter 10: Context and Memory': Nos habla de la importancia y dificultad de recordar en un bot el contexto y las conversaciones anteriores.

  • 'Chapter 11: Bot discovery and installation': revisa un poco una tarea más técnica, la instalación de bots previo descubrimiento de aquellos disponibles que nos pueden interesar. Nos habla de directorios de bots, de menciones, referencias, etc

  • 'Chapter 12: Engagement methods': Explica ideas de cómo mantener al usuario 'enganchado' al bot y así explora la primera impresión y puntos subsiguientes de mantenimiento de la 'relación'.

  • 'Chapter 13: Monetization': Revisa las formas de monetizar un bot con mecanismos como la suscripción, los anuncios, la analítica o la venta de productos y servicios.

  • 'Chapter 14: Design process overview': Abre el salto de toda la teoría anterior a su aplicación práctica mediante ejemplos sobre Facebook Messenger y Slack.

  • 'Chapter 15: Use case definition and exploration': Comienza con la definición de los casos prácticos a abordar.

  • 'Chapter 16: Conversation scripting': Continua con los ejemplos, ahora haciedno el script de las conversaciones.

  • 'Chapter 17: Designing and testing': Hace el diseño detallado de los bots de los ejemplos y habla de cómo se pueden hacer pruebas de bots.

  • 'Chapter 18: Bot building overview': El único capítulo realmente técnico donde habla, cierto que someramente, de la arquitectura de los bots y de algunas tecnologías y herramientas para su construcción.

  • 'Chapter 19: Analytics and continuous improvements': Presenta las interfaces convesacionales como un esfuerzo en permanente evolución y la forma de registrar datos mediante logs y su análisis posterior para guiar esa evolución.

  • 'Chapter 20: To infinity and beyond The future of bots': Capítulo de cierre donde explora tendencias a futuro en el mundo de los bots y las interfaces conversacionales.
'Designing bots' es un buen libro de diseño de bots pero siempre teniendo en cuenta que se centra en el diseño de las conversaciones y no en los aspectos tecnológicos. Con esa idea clara, es un gran recurso. Un recurso, eso sí, que deberá ser complementado con otras fuentes por lo que a tecnología y desarrollo se refiere.

Amir Shevat

(Fuente: Traducción y ligera elaboración propia de su ficha de autor en O'Reilly.)

Amir Shevat
Vice Presidente de Developer Experience en Twitch. Speaker y escritor.

Actualmente Vice Presidente de Developer Experience en Twitch gestionando los productos para desarrolladores, servicios y adopción y dirigiendo la ingeniería, producto, diseño, gestión de programas y relaciones con desarrolladores.

Antes fue responsable de relaciones con desarrolladores en Slack. Y anteriormente fue el líder de relaciones globales con startups en Google Play y dirigió los programas escalables en relaciones con desarrolladores y Google Campus TLV.

Amir ha creado también varias startups. Es un desarrollador de corazón y autor de 'Designing Bots'.

Puedes saber más del autor siguiéndole en Twitter donde se identifica como @ashevat.

Ficha técnica: