Source: https://code.tutsplus.com/es/tutorials/conversation-design-user-experiences-for-sirikit-and-ios--cms-30687
Timestamp: 2020-08-07 21:20:11+00:00

Document:
Experiencias de Usuario de Diseño de Conversación de SiriKit y iOS
by Doron Katz 13 Mar 2018
iOS SDKSwiftiOS 11Machine LearningSiriKitMobile AppMobile DevelopmentNatural Language Processing
Muchos artículos, nuestro sitio incluido, se han centrado en ayudar a los lectores a crear increíbles aplicaciones de iOS mediante el diseño de una gran móvil experiencia de usuario (UX).
Sin embargo, con la aparición de la Apple Watch unos hace años, junto con el kit para coche y más recientemente el HomePod este año, estamos empezando a ver muchas más aplicaciones y dispositivos de IoT que utilizan comandos de voz en lugar de interfaces visuales. La prevalencia de IoT dispositivos tales como el HomePod y otro de voz asistentes, así como la explosión en el Asistente de voz habilitadas aplicaciones de terceros, ha dado lugar a toda una nueva categoría de metodologías de diseño de experiencia de usuario, centrándose en experiencias de usuario de voz ( VUX), o el diseño conversacional UX.
Esto ha llevado a Apple centrándose en el desarrollo de SiriKit hace unos años y proporcionando a desarrolladores de terceros la posibilidad de ampliar sus aplicaciones para permitir a los usuarios conversar con sus aplicaciones más naturalmente. Como SiriKit se abre más a los desarrolladores de terceros, estamos empezando a ver las apps más a formar parte de SiriKit, prominente apps de mensajería WhatsApp y Skype, así como aplicaciones de pago como Venmo y Apple paga.
De SiriKit pretende difuminar los límites entre los dominios y aplicaciones a través de una experiencia de conversación coherente para el usuario que permite a las apps seguirán intuitiva, funcional y atractiva a través de calidades predefinidas. Este tutorial le ayudará a aplicar las mejores prácticas para crear experiencias de usuario intuitivo diseño conversacional sin claves visuales.
Este tutorial te enseñará a diseñar audiblemente participación de SiriKit habilitado aplicaciones a través de mejores prácticas en VUX. Usted aprenderá sobre:
diseño de interacciones de voz
aplicación de mejores prácticas de diseño conversacional UX
prueba aplicaciones SiriKit-habilitado
Conocimiento Asumido
Supondré que ha trabajado anteriormente con SiriKit y tener alguna experiencia de codificación con Swift y Xcode.
Creación de aplicaciones atractivas requiere un diseño bien pensado para la experiencia de usuario, diseño UX para abreviar. Un principio común subyacente a todas las plataformas móviles es que el diseño está basado en una interfaz de usuario visual. Sin embargo, el diseño de plataformas donde los usuarios dedican a través de la voz, no tienen la ventaja de señales visuales para ayudar a los usuarios de la guía. Esto trae un conjunto completamente nuevo de desafíos de diseño.
La ausencia de una interfaz gráfica de usuario obliga a los usuarios a entender cómo comunicarse con sus dispositivos por voz, determinar lo que son capaces de decir como que navegan entre distintos Estados para alcanzar sus metas. La Fundación de Diseño de Interacción describe la situación en la experiencia del usuario de conservación:
"En las interfaces de usuario de voz, se pueden crear posibilidades visuales. Los usuarios no tendrán ninguna indicación clara de la interfaz qué o cuáles son sus opciones."
Como diseñador, usted necesitará entender cómo las personas de comunicarse con las tecnologías naturalmente — los fundamentos de la interacción de la voz. Según recientes estudios de Stanford, los usuarios generalmente perciben e interactuan con interfaces de voz en la misma manera que conversan con otras personas, independientemente de que sean conscientes de que están hablando a un dispositivo.
La dificultad de poder prever las distintas formas en que se habla ha llevado a avances en el aprendizaje de máquina en los últimos años, con plataformas que permite (PNL) para entender a los seres humanos de una manera más natural, por el procesamiento del lenguaje natural reconocimiento de intenciones y dominios asociativos de comandos. Una plataforma prominente es Siri de Apple y su marco para terceros desarrolladores, SiriKit.
Resumen de SiriKit
Mientras que la mayoría entendería Siri como centrándose principalmente en la ayuda no visual voz, su integración en el ecosistema de Apple permite a los usuarios activar interacciones de voz a través de su sistema operativo, ya sea iOS, watchOS, CarPlay o el HomePod.
Las tres primeras plataformas orientar limitada visual además de respuesta audible, mientras que el HomePod sólo proporciona retroalimentación audible. Uso iOS o CarPlay mientras conduce, la plataforma proporcionará incluso menos información visual y la regeneración audio más, por lo que la cantidad de información un usuario recibe es dinámico. Como diseñador de la aplicación, tendrá que atender a ambos tipos de interacciones.
Esto significa que SiriKit calibra cuánto ofrece visualmente o verbalmente basada en el estado del dispositivo y usuario, y como se ajusta a las mejores prácticas, SiriKit con gracia encargará de todo esto para usted.
Intenciones y Dirección de Dominio
El marco encarga de las solicitudes de usuario a través de dos procesos primarios: intenciones y dirección de dominio.
Intenciones son administrados a través del marco de los intentos de manejo de voz, la extensión de la aplicación de intenciones, que toma las solicitudes de usuario y los convierte en acciones específicas de la aplicación, como reservar un paseo en coche-compartir o enviar dinero a alguien.
La extensión de la aplicación UI de intenciones, por el contrario, le permite ofrecer confirmación contenido visual mínima una vez que un usuario ha hecho una petición y su aplicación desea confirmar antes de completar la solicitud.
SiriKit clasifica intenciones (solicitud de usuario) en tipos específicos, llamados dominios. A partir de iOS 11, desarrolladores de terceros son capaces de aprovechar los dominios y las interacciones siguientes:
Inicialmente puede parecer que la elección es bastante limitada, pero la justificación de Apple es que esto ayuda a administrar las expectativas y confianza del usuario cuidadosamente mientras poco a poco permitiendo a los usuarios aprender y construir su conocimiento de cómo interactuar con Siri. Esto también permite que Apple y la comunidad a escala en el tiempo mientras que desdibujando los límites entre aplicaciones que se sientan detrás de la interfaz de voz-asistencia.
los desarrolladores de iOS aprovechando SiriKit también se benefician de los conocimientos contextuales proporciona la plataforma. Esto incluye agrupar sentencias por contexto conversacional, según las intenciones y los dominios que la máquina entrega de aprendizaje. Es decir, Siri tratará de averiguar si el siguiente comando es parte del mismo contexto conversacional o uno nuevo. Si dices "Por favor, Reserve un viaje de Uber", Siri sabría que usted se está preponiendo reservar un paseo en coche-compartir, en el dominio del carshare. Sin embargo, la aplicación tendría más información, por ejemplo qué tipo de viaje. Si su siguiente comando era "Uber Pool", sabría que el segundo comando es en el mismo contexto.
Aprovechamiento de SiriKit le permite beneficiarse de la plataforma de Apple orquestar mucho el trabajo, lo que le permite centrarse en lo importante, que está desarrollando valor. Dicho esto, debe ser un buen 'ciudadano de Siri'. A continuación, a continuación aprenderás diversas mejores prácticas que puede seguir para crear una experiencia de usuario favorable con interacción no visual de la comunicación y voz.
Para más información sobre el desarrollo con SiriKit, consulte Crear Extensiones de SiriKit en iOS 10.
Crear Extensiones SiriKit en iOS 10
Echemos un vistazo a algunas prácticas que se pueden aplicar inmediatamente a la extensión de SiriKit para garantizar que su aplicación proporciona una interfaz de voz de conversación agradable, lógica e intuitiva para los usuarios.
Informar a los Usuarios de Sus Opciones
El primer principio guía es informar sucintamente a los usuarios de las opciones que se tienen durante un estado particular de la interacción.
Considerando que la experiencia gráfica de usuario sin esfuerzo puede proporcionar un contexto visual a sus usuarios, como a través de cuadros de diálogo modales, por ejemplo, ese mismo lujo no existe con aplicaciones de voz. Los usuarios tienen diferentes expectativas sobre qué procesamiento del lenguaje natural puede manejar. Algunos serán muy conservadoras y no podrían obtener el poder de Siri, y otros podrían comenzar haciendo algo complejo que no tiene sentido a Siri.
Necesita diseñar su experiencia de usuario con el fin de proporcionar a los usuarios con información sobre lo que son capaces de hacer en un momento determinado, en forma de opciones.
Qué opciones de sus declaraciones de la aplicación deben ser contextualmente relevante. En la siguiente pantalla, la persona de contacto tiene múltiples números de teléfono, y si el usuario no indica explícitamente que se utilizar, el usuario debe pedirá.
SiriKit usos en contacto con resolución, que tiene acceso a través del SDK, para orientar la aplicación para determinar que número de teléfono de contacto (o incluso qué nombre contacto si más de una entrada de contactos tiene el mismo nombre) el usuario final previsto. Según la documentación de Apple:
Durante la resolución, SiriKit le solicitará verificar cada parámetro individualmente llamando a los métodos de resolución de su objeto de controlador. En cada método, puede validar los datos proporcionados y crea un objeto de resultado de la resolución indicando el éxito o el fracaso en la resolución de los parámetros. SiriKit utiliza el objeto resultado de resolución para determinar cómo proceder. Por ejemplo, si el resultado de la resolución pide al usuario para eliminar la ambigüedad entre dos o más opciones, SiriKit solicita al usuario que seleccione una de estas opciones.
Para más información sobre resolución de intenciones del usuario, consulte la documentación de Apple sobre Resolución y Manejo de Calidades.
Ser Rápido y Preciso
Es importante que en la experiencia del usuario conversacional de su aplicación, responde a los comandos rápidamente, como los usuarios esperan una respuesta rápida. Esto significa que usted debe diseñar su flujo de trabajo de interacción para proporcionar el más rápido conjunto de acciones para lograr la terminación de la función sin pantallas o mensajes innecesarios.
Apple le anima a llevar al usuario directamente a contenidos sin pantallas intermedias o mensajes. Si un usuario necesita ser autenticado, llevar directamente al usuario a la pantalla de autenticación y asegúrate de mantener el contexto para que el usuario pueda continuar de una manera lógica para completar sus acciones. Guía de Interfaz Humana de Apple aconsejan que usted necesitará:
Responder con rapidez y minimizar la interacción. Personas usan Siri para comodidad y esperan una respuesta rápida. Presentar opciones eficientes y enfocadas que reducen la posibilidad de preguntar adicional.
Limitar la Cantidad de Información
El Amazon eco diseño las guías recomiendan que no enumere más de tres opciones diferentes en una sola interacción, sino más bien ofrecer a los usuarios las opciones más populares en primer lugar. Entonces, si usted necesita más de tres opciones, ofrecen una opción al final para ir por el resto de ellos.
Priorizar y ordenar las opciones según la cual los usuarios más probable es que utilice y permiten a los usuarios llamar explícitamente algunas de las opciones menos populares sin leer hacia fuera. Puede ajustar dinámicamente las opciones destacadas según preferencias históricas de sus usuarios así.
Lo más importante, no demostrar perjuicio o engaño! Es decir, no tergiversar información o pesen las instrucciones para dar prioridad a las opciones más caras, por ejemplo, listado de las opciones de viaje más caras de compartir vehículo primero con el más barato compartir opciones última. Esto es una forma segura para que sus clientes pierdan la confianza y la confianza en su aplicación.
Proporcionar Pan Rallado Conversacional
Es difícil para los usuarios a trabajar donde son sin claves visuales, y aunque SiriKit puede mantener un seguimiento del contexto actual, los usuarios tienden a interactuar con SiriKit mientras que haciendo otra cosa, como conducir o correr.
Por lo tanto, siempre es necesario dar una respuesta informativa a un comando, no confirmarlo sólo recordar al usuario del contexto. Por ejemplo, cuando el usuario pide reservar un viaje en coche compartido, puede proporcionar contexto alrededor su respuesta diciendo algo como: "Has reservado un viaje para hoy a las 17:00, con AcmeCar" en lugar de responder simplemente con "reserva confirmada".
En otras palabras, proporcionar información contextual suficiente en su respuesta al usuario a entender lo que ha sido confirmado, sin tener que echar un vistazo a su teléfono como confirmación de las intenciones del usuario.
Proporcionar una Experiencia Que No Requiere Tocar o Mirar
Como ecosistema de Apple de dispositivos habilitados para Siri se expande más allá de iOS y watchOS en dispositivos que carecen de una interfaz visual, es importante que sus respuestas e interacciones no requieren que los usuarios a echar un vistazo a la pantalla o toque sus dispositivos para confirmar algo. Las respuestas verbales deben ser contextual y bastante conciso (incluyendo ofrece un subconjunto limitado de opciones), dando a los usuarios la cantidad justa de información para que puedan continuar a ciegas interactuar con su dispositivo.
El poder de Siri proviene de los usuarios poder tener sus iPhones en sus bolsillos y usar auriculares para interactuar con sus asistentes de voz, para gritar un recordatorio a su HomePods de a través de la habitación, o para escuchar mensajes mientras conduce su kit para coche habilitado vehículos. Interactuar con sus aplicaciones habilitado SiriKit debe requerir sólo foco secundario y atención primaria no tocar y confirmación visual.
La excepción, sin embargo, es cuando la intención requiere una capa adicional de seguridad y autenticación antes del cumplimiento de la solicitud.
Requerir Autenticación Para Ciertas Calidades
Es importante que identificar intenciones que requieren autenticación específica y autorización antes de ser utilizado. Si un usuario pide "Cuál es el tiempo", no necesita autenticación. Sin embargo, si un usuario pide a "Jane paga $20 con Venmo", obviamente necesita que el usuario autenticarse primero.
SiriKit gestiona intención restricción donde los usuarios tendrían que autenticar FaceID, TouchID o un código de acceso cuando el dispositivo está bloqueado, por que requieren que especifique en info.plist su aplicación explícitamente qué intenciones están restringidas mientras bloqueado:
Anticipar y Controlar los Errores
Así como mediante voz que manejar desambiguación, como comentamos anteriormente, usted necesitará asegurar que anticipar y manejar escenarios de error como muchos como usted puede.
Por ejemplo, cuando un usuario intenta enviar dinero a otro participante y ese participante no tiene una dirección de correo electrónico que se requiere o tiene varios números, necesita manejar eso. SiriKit proporciona la clase de INIntentResolutionResult que le permite ajustar una resolución para el tipo de datos apropiado que intenta resolver:
Apple recomienda que pruebe y extrapolar información histórica de comportamientos de usuario donde sea posible, para reducir el número de interacción pasos del flujo de trabajo. Echa un vistazo a la documentación de INIntentError, que proporciona un conjunto de posibles errores que puede manejar, como interactionOperationNotSupported o requestTimedOut.
Añadir Vocabularios Personalizados
SiriKit apoya agregando vocabularios personalizados mediante el archivo plist AppIntentVocabulary.plist para ayudar a mejorar la experiencia del usuario conversacional de su aplicación. Puede usar esto para los usuarios de inducción así como incluyendo los términos específicos que su aplicación pueda reconocer.
Proporcionar los usuarios con los comandos de ejemplo ayuda a inducción guiando a los usuarios las capacidades de su aplicación. Si le preguntas a Siri "¿Qué puede hacer?" le indicará no sólo con las funciones incorporadas que son posibles, pero también con aplicaciones de terceros. Para promover funcionalidades de su aplicación a los usuarios a nivel mundial, incluyen ejemplos de intención en el archivo AppIntentVocabulary.plist:
Usted también puede ayudar a Siri entender y reconocer términos que son específicos solamente a su aplicación mediante el suministro con un conjunto de palabras de vocabulario. Estas son palabras que se aplican a cualquier usuario de tu aplicación (tal como si usted tiene un término específico para mensajería que utiliza su aplicación), pero si usted necesita proporcionar términos específicos de cada usuario, tomar ventaja de INVocabulary. En el plist, puede agrega una clave de ParameterVocabularies para los términos globales personalizados y asocia cada término con un objeto específico de intención de la propiedad correspondiente (que tenga múltiples intentos para cada término).
Consulte la documentación de Apple en Registrar Vocabulario Personalizado Con SiriKit a aprender a crear términos específicos de cada usuario.
Prueba Tus Aplicaciones SiriKit-Habilitado
Por último, a partir del 9 de Xcode, convenientemente puede probar Siri simuladores mediante la activación de Siri a través de la nueva XCUISiriService subclase de XCUIDevice. Aprovechar esto para poner a prueba todo su intención fases, vocabularios personalizados y sinónimos de aplicación incluso y para asegurar que su usuario diseñado experiencias de trabajo según lo previsto.
A los efectos de este tutorial, clonar el repositorio del proyecto tutorial, abre el proyecto en Xcode y ejecutarlo para asegurarse de que funciona en su entorno. Con el simulador de funcionamiento, activar Siri yendo a Configuración. Convocar a Siri en el simulador como se haría en el dispositivo físico y decir algo como "Enviar un mensaje a Jane".
A continuación, en Xcode, abra el archivo titulado MessagingIntentsUITests.swift y observará el método de caso prueba:
Puede agregar tantos intentos que desee probar. Por último, seguir adelante y ejecutar este caso de prueba y se puede observar el simulador activar Siri y hablan el comando deseado. Recuerde, esto no es un sustituto para la prueba humana real y tratar con diferentes acentos y ruido de fondo, pero es útil, sin embargo, como parte de su flujo de trabajo automatizado.
Diseño de experiencias de usuario para la interacción de la voz es un mundo completamente nuevo de diseño visual de la UX. Mejores prácticas y técnicas todavía se están descubriendo por los diseñadores y desarrolladores que son pioneros en este nuevo campo.
Este post ha dado un resumen de las mejores prácticas actuales para el diseño de conversación UX en iOS con SiriKit. Vio algunos de los principios clave en el diseño de una interfaz de voz, así como algunas de las maneras que usted puede interactuar con SiriKit como una dev. Espero que esto te ha inspirado a experimentar con interfaces de voz en su próxima aplicación.
Mientras estás aquí, si deseas algunos de nuestros otros posts sobre desarrollo de aplicaciones iOS de última generación.
Iniciar Con Procesamiento del Lenguaje Natural en iOS 11
Códifique Su Primera Aplicación de Realidad Aumentada Con ARKit
Códifica una Aplicación de Medición con ARKit: Interacción y Medición
Aprender de Máquina
Comenzar Con el Reconocimiento de Imagen en Core ML
O consultar algunos de nuestros cursos de videos integrales en desarrollo de aplicaciones iOS:
Reconocimiento de Imágenes iOS Con Core ML
Iniciando Con Realidad Aumentada para iOS

References: resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 Resolución 
 resolución