Directrices para el diseño de Cortana
Advertencia
Esta característica ya no se admite a partir de la actualización de mayo de 2020 de Windows 10 (versión 2004, nombre de código "20H1").
Consulte Cortana en Microsoft 365 para obtener información sobre cómo Cortana está transformando las experiencias de productividad modernas.
Estas directrices y recomendaciones describen cómo la aplicación puede usar mejor Cortana para interactuar con el usuario, ayudarle a realizar una tarea y comunicar claramente lo que está sucediendo.
Cortana permite que las aplicaciones se ejecuten en segundo plano para pedir al usuario desambiguación o confirmación y proporcionarle a cambio comentarios sobre el estado del comando de voz. El proceso es ligero, rápido y no obliga al usuario a dejar la experiencia de Cortana o cambiar el contexto a la aplicación.
Aunque el usuario debe sentir que Cortana le ayuda a que el proceso sea lo más ligero y fácil posible, es probable que quieras que Cortana también deje claro que es tu aplicación la que lleva a cabo la tarea.
Usamos una aplicación de planeación y administración de viajes denominada Adventure Works que se integra en la interfaz de usuario de Cortana, que se muestra aquí, para demostrar muchos de los conceptos y las funciones que analizamos. Para obtener más información, consulta el ejemplo de comandos de voz de Cortana.
Escritura de conversación
Las interacciones de Cortana correctas requieren que sigas algunos principios fundamentales al crear cadenas de la interfaz gráfica de usuario y de texto a voz (TTS).
Principio | Ejemplo incorrecto | Ejemplo correcto |
---|---|---|
|
Claro que puedo hacerlo, ¿qué película quieres buscar hoy? Tenemos una gran colección. |
Perfecto, ¿qué película buscas? |
|
He agregado esto a tu lista de reproducción. Solo para que lo sepas, la batería está baja. |
He agregado esto a tu lista de reproducción. |
|
No hay resultados para la consulta "Viajes a Las Vegas". |
No pude encontrar viajes a Las Vegas. |
|
No pude encontrar esa película, seguro que aún no se ha estrenado. |
No pude encontrar esa película en nuestro catálogo. |
Escribe cómo habla la gente. No des prioridad a la precisión gramatical sobre el sonar natural. Por ejemplo, las formas verbales naturales como "quiero" o "tengo que" son adecuadas para la lectura TTS.
Usa la primera persona implícita cuando sea posible y natural. Por ejemplo, "Buscando tu próximo viaje de Adventure Works" implica que alguien está realizando la búsqueda, pero no usa la palabra "Estoy" para especificarlo.
Usa alguna variación para ayudar a que tu aplicación suene más natural. Proporciona distintas versiones de tus cadenas TTS y GUI para decir lo mismo de forma eficaz. Por ejemplo, "¿Qué película quieres ver?" podría tener alternativas como "¿Qué película quieres watch?". La gente no dice lo mismo de la misma manera cada vez. Asegúrate de mantener sincronizadas tus versiones de TTS y de la interfaz gráfica de usuario.
Usa palabras como "Vale" y "De acuerdo" en tus respuestas con cautela. Aunque pueden proporcionar confirmación y una sensación de progreso, también se pueden volver repetitivas si se usan con demasiada frecuencia y sin variación.
Nota
Use frases de confirmación solo en TTS. Debido a la limitación de espacio del lienzo de Cortana, no los repitas en las cadenas de la interfaz gráfica de usuario correspondientes.
Usa contracciones en las respuestas para que las interacciones sean más naturales y se ahorre espacio adicional en el lienzo de Cortana. Por ejemplo, "No encuentro esa película" en lugar de "No he podido encontrar esa película". Escribe para el oído, no para la vista.
Usa lenguaje que el sistema comprenda. Los usuarios suelen repetir las palabras que se usan con ellos. Ten claro lo que se muestra
Usa alguna variación en las respuestas, dándoles la vuelta o seleccionándolas aleatoriamente de una colección de respuestas alternativas. Por ejemplo, "¿Qué película quieres ver?" y "¿Qué película quieres watch?". Esto hace que la aplicación parezca más natural y única.
Localización
Para iniciar una acción mediante un comando de voz, la aplicación debe registrar los comandos de voz en el idioma que el usuario seleccionó en su dispositivo (Configuración >> Voz > Idioma de voz).
Se deben localizar los comandos de voz a los que la aplicación responde y todas las cadenas de TTS y de la interfaz gráfica de usuario.
Debes evitar cadenas de GUI largas. El lienzo de Cortana proporciona tres líneas para las respuestas y truncará las cadenas que sean más largas.
Para obtener más información, consulta la sección Globalización y localización.
Recursos de imágenes y escalado
Las aplicaciones para la Plataforma universal de Windows (UWP) pueden seleccionar automáticamente la imagen más adecuada de logotipo de la aplicación en función de la configuración específica y funcionalidades del dispositivo (contraste alto, píxeles efectivos, configuración regional, etc.). Lo único que tienes que hacer es proporcionar las imágenes y asegurarte de que usas la nomenclatura y organización de carpeta apropiadas en el proyecto de aplicación para las diferentes versiones de recursos. Si no proporcionas las versiones de recurso recomendadas, pueden verse afectadas la calidad de imagen, localización y accesibilidad, según las preferencias del usuario, capacidades, tipo de dispositivo y ubicación.
Para obtener más información sobre los recursos de imagen para factores de contraste alto y escala, consulte Directrices para los recursos de icono e icono.
Debes asignar el nombre a los recursos mediante calificadores. Los calificadores de recursos son modificadores de carpetas y nombres de archivo que identifican el contexto en el que debe usarse una versión particular de un recurso.
La convención de nomenclatura estándar es "foldername/qualifiername-value[_qualifiername-value]/filename.qualifiername-value[_qualifiername-value].ext". Por ejemplo: images/logo.scale-100_contrast-white.png simplemente se hace referencia en el código mediante la carpeta raíz y el nombre de archivo: images/logo.png. Consulte Administración del idioma y la región y Cómo asignar nombres a los recursos mediante calificadores.
Se recomienda marcar el idioma predeterminado en los archivos de recursos de cadena (como "en-US\resources.resw") y el factor de escala predeterminado en imágenes (como "logo.scale-100.png"), incluso si actualmente no tiene previsto proporcionar recursos de resolución localizados o múltiples. Sin embargo, como mínimo, te recomendamos que proporciones activos para los factores de escala 100, 200 y 400.
Importante
El icono de la aplicación usado en el área de título del lienzo de Cortana es el icono Square44x44Logo especificado en el archivo "Package.appxmanifest".
También puedes especificar un icono para cada icono de resultado de una consulta del usuario. Los tamaños de imagen válidos para los iconos de resultados son:
- 68 (ancho) x 68 (alto)
- 68 (ancho) x 92 (alto)
- 280 (ancho) x 140 (alto)
Plantillas de icono de resultado
Se proporciona un conjunto de plantillas para los iconos de resultado que se muestra en el lienzo de Cortana. Usa estas plantillas para especificar el título del icono y si el icono incluye texto y una imagen de icono de resultado. Cada icono puede incluir un máximo de tres líneas de texto y una imagen, dependiendo de la plantilla especificada.
Estas son las plantillas compatibles (con ejemplos):
Nombre | Ejemplo |
---|---|
Solo el título | |
Título con texto | |
Título con icono 68 x 68 | sin imagen |
Título con icono 68 x 68 y texto | |
Título con icono 68 x 92 | sin imagen |
Título con icono 68 x 92 y texto | |
Título con icono 280 x 140 | sin imagen |
Título con icono 280 x 140 y texto |
Para obtener más información sobre las plantillas de Cortana, consulta VoiceCommandContentTileType.
Ejemplo
Este ejemplo muestra un flujo de tareas integral para una aplicación en segundo plano en Cortana. Estamos usando la aplicación Adventure Works para cancelar un viaje a Las Vegas. En este ejemplo se usa la plantilla "Título con icono 68 x 68 y texto".
A continuación se describen los pasos destacados en esta imagen:
- El usuario toca el micrófono para iniciar Cortana.
- El usuario dice "Cancelar el viaje de Adventure Works a las Vegas" para iniciar la aplicación Adventure Works en segundo plano. La aplicación usa tanto la voz como el lienzo de Cortana para interactuar con el usuario.
- Las transacciones de Cortana a una pantalla de entrega que ofrece información de confirmación al usuario ("Obtendré Adventure Works ahí".), una barra de estado y un botón Cancelar.
- En este caso, el usuario tiene varios viajes que coinciden con la consulta, por lo que la aplicación proporciona una pantalla de desambiguación que enumera todos los resultados y tareas coincidentes, "¿cuál deseas cancelar?"
- El usuario especifica el elemento "Conferencia tecnológica de Las Vegas".
- Como la cancelación no se puede deshacer, la aplicación proporciona una pantalla de confirmación que pide al usuario que confirme su propósito.
- El usuario dice "Sí".
- La aplicación proporciona una pantalla de finalización que muestra el resultado de la operación.
A continuación exploraremos estos pasos con más detalle.
Handoff
AdventureWorks "Próximo viaje" sin pantalla de entrega
AdventureWorks "Próximo viaje" con la pantalla de entrega
Se pueden realizar tareas que tardan menos de 500 ms en hacer que tu aplicación responda que no requieran información adicional del usuario sin más participación por parte de Cortana, aparte de mostrar la pantalla de finalización.
Si la aplicación requiere más de 500 ms en responder, Cortana proporciona una pantalla de entrega. Se muestran el icono y el nombre de la aplicación, y debes proporcionar cadenas de entrega de la interfaz gráfica de usuario y TTS para indicar que el comando de voz se entendió correctamente. La pantalla de entrega se mostrará durante un máximo de 5 segundos; si la aplicación no responde en este tiempo, Cortana presentará una pantalla de error genérica.
Directrices de la interfaz gráfica de usuario y TTS para pantallas de entrega
Indicar claramente que la tarea está en curso.
Usar el tiempo presente.
Usar un verbo de acción que confirme qué tarea se está iniciando y que haga referencia a la entidad específica.
Usa un verbo genérico que no confirme la acción solicitada, incompleta. Por ejemplo, "Buscar tu viaje" en lugar de "Cancelar tu viaje". En este caso, si no se devuelven resultados, el usuario no escucha algo como "Cancelando tu viaje a Las Vegas... No pude encontrar un viaje a Las Vegas".
Deja claro que la tarea todavía no ha tenido lugar si la aplicación todavía necesita resolver la entidad solicitada. Por ejemplo, ten en cuenta cómo decimos "Buscando tu viaje" en lugar de "Cancelando tu viaje", porque pueden encontrarse cero o más viajes, y todavía no sabemos el resultado.
Las cadenas de la interfaz gráfica de usuario y TTS pueden coincidir, pero no necesariamente. Intenta que la cadena de GUI sea corta para evitar que se trunquen y dupliquen otros activos visuales.
TTS | GUI |
---|---|
Buscando tu próximo viaje de Adventure Works. | Buscando tu próximo viaje... |
Buscando tu viaje de Adventure Works a Falls City. | Buscando el viaje a Falls City... |
Progreso
AdventureWorks AdventureWorks "Cancelar viaje" progreso
Cuando una tarea tarda unos instantes entre los pasos, la aplicación debe entrar e informar al usuario de lo que sucede en una pantalla de progreso. A continuación se muestra el icono de la aplicación y debes proporcionar cadenas de progreso de la interfaz gráfica de usuario y TTS para indicar que la tarea está en curso.
Debes proporcionar un vínculo a la aplicación con los parámetros de inicio para iniciar la aplicación en el estado adecuado. Esto permite al usuario ver o completar la tarea por sí mismos. Cortana proporciona el texto del vínculo (como "Ir a Adventure Works").
Las pantallas de progreso se mostrarán 5 segundos cada una, tras lo cual deben estar seguidas de otra pantalla o la tarea superará el tiempo de espera.
Estas pantallas pueden seguir una pantalla de progreso:
- Progreso
- Confirmación (explícita, descrita más adelante)
- Anulación de ambigüedades
- Completion
Directrices de interfaz gráfica de usuario y TTS para pantallas de progreso
Usar el tiempo presente.
Usar un verbo de acción que confirme que la tarea está en curso.
Interfaz gráfica de usuario: si se muestra la entidad, usa una referencia a esta ("Cancelando este viaje..."). Si no se muestra ninguna entidad, llama explícitamente a la entidad ("Cancelando 'Conferencia tecnológica de Las Vegas'").
TTS: solo debes incluir una cadena TTS en la primera pantalla de progreso. Si se requieren pantallas de progreso adicionales, envíe una cadena vacía, {}, como cadena de TTS y proporcione solo una cadena de GUI.
Condiciones | TTS | GUI |
---|---|---|
ENTIDAD LEÍDA EN EL TURNO ANTERIOR / ENTIDAD MOSTRADA EN LA PANTALLA | Cancelando este viaje... | Cancelando este viaje... |
ENTIDAD SIN LEER EN EL TURNO ANTERIOR / ENTIDAD MOSTRADA EN LA PANTALLA | Cancelar tu viaje a Las Vegas... | Cancelando este viaje... |
ENTIDAD SIN LEER EN EL TURNO ANTERIOR / ENTIDAD NO MOSTRADA | Cancelar tu viaje a Las Vegas... | Cancelar tu viaje a Las Vegas... |
Confirmación
AdventureWorks AdventureWorks "Cancelar viaje" confirmación
Algunas tareas pueden confirmarse implícitamente mediante la naturaleza de los comandos del usuario; otras son más confidenciales y requieren confirmación explícita. Estas son algunas directrices sobre cuándo usar una confirmación explícita o implícita.
Las cadenas de la interfaz gráfica de usuario y TTS de la pantalla de confirmación están especificadas por la aplicación; el icono de la aplicación, si se ha indicado, se muestra en lugar del avatar de Cortana.
Una vez que el cliente responde a la confirmación, la aplicación debe proporcionar la siguiente pantalla antes de 500 ms para evitar acceder a una pantalla de progreso.
Usar la confirmación explícita cuando...
- El contenido sale del usuario (por ejemplo, un mensaje de texto, un correo electrónico o una publicación en una red social)
- Las acciones no se pueden deshacer (por ejemplo, realizar una compra o eliminar algo)
- El resultado podría ser vergonzoso (por ejemplo, una llamada a la persona incorrecta)
- Se requiere un reconocimiento más complejo (por ejemplo, una transcripción abierta)
Usar la confirmación implícita cuando...
- El contenido se guarde solo para el usuario (por ejemplo, una nota para uno mismo)
- Hay una manera sencilla de salir (por ejemplo, activar o desactivar una alarma)
- La tarea debe ser rápida (por ejemplo, capturar rápidamente una idea antes de olvidarla)
- La precisión es alta (por ejemplo, un menú sencillo)
Directrices de la interfaz gráfica de usuario y para pantallas de confirmación
Usar el tiempo presente.
Formular al usuario una pregunta inequívoca que pueda responderse con "Sí" o "No". La pregunta debe confirmar explícitamente lo que el usuario intenta hacer y no debe haber ninguna otra opción obvia.
Proporciona una variación de la pregunta para volver a formularla en caso de que el comando de voz no se entienda la primera vez.
Interfaz gráfica de usuario: si se muestra la entidad, usa una referencia a ella. Si no se muestra ninguna entidad, llama explícitamente a esta.
TTS: para mayor claridad, haz siempre referencia al elemento o entidad específico, a menos que la haya leído el sistema en el turno anterior.
Condiciones | TTS | GUI |
---|---|---|
ENTIDAD SIN LEER EN EL TURNO ANTERIOR / ENTIDAD MOSTRADA EN LA PANTALLA | ¿Quieres cancelar la conferencia tecnológica de Las Vegas? | ¿Cancelar este viaje? |
ENTIDAD SIN LEER EN EL TURNO ANTERIOR / ENTIDAD NO MOSTRADA | ¿Quieres cancelar la conferencia tecnológica de Las Vegas? | ¿Cancelar la conferencia tecnológica de Las Vegas? |
ENTIDAD LEÍDA EN EL TURNO ANTERIOR / ENTIDAD NO MOSTRADA | ¿Quieres cancelar este viaje? | ¿Cancelar este viaje? |
VOLVER A PREGUNTAR CON ESTA ENTIDAD MOSTRADA | ¿Querías cancelar este viaje? | ¿Querías cancelar este viaje? |
VOLVER A PREGUNTAR CON ESTA ENTIDAD NO MOSTRADA | ¿Querías cancelar este viaje? | ¿Querías cancelar la conferencia tecnológica de Las Vegas? |
Anulación de ambigüedades
AdventureWorks "Cancel trip" disambiguation
Es posible que algunas tareas requieran al usuario seleccionar de una lista de entidades para completar la tarea.
Las cadenas de la interfaz gráfica de usuario y TTS de la pantalla de desambiguación están especificadas por la aplicación; el icono de la aplicación, si se ha indicado, se muestra en lugar del avatar de Cortana.
Una vez que el cliente responde a la pregunta de desambiguación, la aplicación debe proporcionar la siguiente pantalla antes de 500 ms para evitar acceder a una pantalla de progreso.
Directrices de la interfaz gráfica de usuario y TTS para pantallas de desambiguación
Usar el tiempo presente.
Pedir al usuario una pregunta inequívoca que pueda responderse con la línea de título o el texto de cualquier entidad mostrada.
Se pueden mostrar hasta 10 entidades.
Cada entidad debe tener un título único.
Proporciona una variación de la pregunta para volver a formularla en caso de que el comando de voz no se entienda la primera vez.
TTS: para mayor claridad, haz siempre referencia al elemento o entidad específico, a menos que se haya dicho en el paso anterior.
TTS: no leas la lista de entidades, a menos que haya tres o menos y sean cortas.
Condiciones | TTS | GUI |
---|---|---|
SÍMBOLO DEL SISTEMA - 3 O MENOS ELEMENTOS | ¿Qué viaje a Las Vegas quieres cancelar? ¿El de la conferencia tecnológica o el de la fiesta en Las Vegas? | ¿Cuál quieres cancelar? |
SÍMBOLO DEL SISTEMA - MÁS DE 3 ELEMENTOS | ¿Qué viaje a Las Vegas quieres cancelar? | ¿Cuál quieres cancelar? |
VOLVER A PREGUNTAR | ¿Qué viaje a Las Vegas querías cancelar? | ¿Cuál quieres cancelar? |
Completion
adventureWorks "Cancelar viaje" finalización
Tras finalizar la tarea correctamente, la aplicación debe informar al usuario que la tarea solicitada se realizó correctamente.
Las cadenas de la interfaz gráfica de usuario y TTS de la pantalla de finalización están especificadas por la aplicación; el icono de la aplicación, si se ha indicado, se muestra en lugar del avatar de Cortana.
Debes proporcionar un vínculo a la aplicación con los parámetros de inicio para iniciar la aplicación en el estado adecuado. Esto permite al usuario ver o completar la tarea por sí mismos. Cortana proporciona el texto del vínculo (como "Ir a Adventure Works").
Directrices de la interfaz gráfica de usuario y TTS para pantallas de finalización
Usar el tiempo pasado.
Usar un verbo de acción para indicar explícitamente que se ha completado la tarea.
Si se muestra la entidad o se ha hecho referencia a ella en el paso anterior, solo haz referencia a ella.
Condiciones | TTS | GUI |
---|---|---|
ENTIDAD MOSTRADA / ENTIDAD LEÍDA EN EL TURNO ANTERIOR | He cancelado este viaje. | Se ha cancelado este viaje. |
ENTIDAD NO MOSTRADA / ENTIDAD SIN LEER EN EL PASO ANTERIOR | He cancelado tu viaje a la conferencia tecnológica de Las Vegas. | Se ha cancelado la "conferencia tecnológica de Las Vegas". |
Error
AdventureWorks AdventureWorks "Cancelar viaje"
Cuando se produce uno de los siguientes errores, Cortana muestra el mismo mensaje de error genérico.
- El servicio de la aplicación termina inesperadamente.
- Cortana no se puede comunicar con el servicio de la aplicación.
- La aplicación no muestra una pantalla después de que Cortana muestre una pantalla de entrega o una pantalla de progreso durante 5 segundos.
Artículos relacionados
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de