Directrices sobre 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, ayudarles a realizar una tarea y comunicar claramente cómo sucede todo.

Cortana permite que las aplicaciones que se ejecutan en segundo plano pidan al usuario confirmación o desambiguación y, a cambio, proporcionen al usuario comentarios sobre el estado del comando de voz. El proceso es ligero, rápido y no obliga al usuario a abandonar la experiencia de Cortana ni cambiar el contexto a la aplicación.

Aunque el usuario debe sentir que Cortana ayuda a que el proceso sea lo más ligero y fácil posible, probablemente quieras que Cortana también sea explícito que es la aplicación que realiza la tarea.

Usamos una aplicación de planificación y administración de viajes denominada Adventure Works integrada en la interfaz de usuario de Cortana , que se muestra aquí, para mostrar muchos de los conceptos y características que se describen. Para obtener más información, consulta el ejemplo de comandos de voz de Cortana.

Captura de pantalla del lienzo de Cortana

Escritura conversacional

Las interacciones correctas de Cortana requieren que siga algunos principios fundamentales al crear cadenas de texto a voz (TTS) y GUI.

Principio Ejemplo incorrecto Ejemplo correcto

Eficaz

Use tantas palabras como sea posible y ponga la información más importante por adelantado.

¿Qué película te gustaría buscar hoy? Tenemos una gran colección.

¿Qué película estás buscando?

Relevant (pertinentes)

Proporcione información pertinente solo para la tarea, el contenido y el contexto.

He agregado esto a tu lista de reproducción. Sólo así que sabes, tu batería está bajando.

He agregado esto a tu lista de reproducción.

Borrar

Evita la ambigüedad. Use lenguaje cotidiano en lugar de jerga técnica.

No hay resultados para la consulta "Viajes a Las Vegas".

No pude encontrar viajes a Las Vegas.

Fidedigno

Sea lo más preciso posible. Ser transparente sobre lo que sucede en segundo plano, si una tarea aún no ha terminado, no diga que tiene. Respetar la privacidad: no lea información privada en voz alta.

No pude encontrar esa película, no debe haber sido lanzada aún.

No pude encontrar esa película en nuestro catálogo.

Escribe cómo hablan las personas. No resalte la precisión gramatical sobre el sonido natural. Por ejemplo, los métodos abreviados verbales descriptivos como "querer" o "gotta" están bien para leer TTS.

Use la primera persona implícita tensa siempre que sea posible y natural. Por ejemplo, "Buscando su próximo viaje de Adventure Works" implica que alguien está haciendo el aspecto, pero no usa la palabra "I" para especificar.

Usa alguna variación para ayudar a que tu aplicación suene más natural. Proporcione versiones diferentes de las cadenas de TTS y GUI para decir de forma eficaz lo mismo. Por ejemplo, "¿Qué película quiere ver?" podría tener alternativas como "¿Qué película quiere ver?". La gente no dice lo mismo de la misma manera cada vez. Solo tiene que asegurarse de mantener sincronizadas las versiones de TTS y GUI.

Usa frases como "Ok" y "Alright" en tus respuestas con criterio. Aunque pueden proporcionar confirmación y una sensación de progreso, también pueden ser repetitivos si se usan con demasiada frecuencia y sin variación.

Nota:

Use frases de confirmación solo en TTS. Debido al espacio limitado en el lienzo de Cortana , no los repita en las cadenas de GUI correspondientes.

Use contracciones en las respuestas para interacciones más naturales y ahorro de espacio adicional en el lienzo de Cortana . Por ejemplo, "no puedo encontrar esa película" en lugar de "No pude encontrar esa película". Escriba para el oído, no para el ojo.

Use el idioma que entiende el sistema. Los usuarios tienden a repetir los términos con los que se presentan. Sabes lo que muestras.

Use alguna variación en las respuestas girando o seleccionando aleatoriamente una colección de respuestas alternativas. Por ejemplo, "¿Qué película quiere ver?" y "¿Qué película quiere ver?". Esto hace que la aplicación suene más natural y única.

Localización

Para iniciar una acción mediante un comando de voz, la aplicación debe registrar comandos de voz en el idioma que el usuario ha seleccionado en su dispositivo (Configuración > del idioma de voz de voz > del sistema>).

Debes localizar los comandos de voz a los que la aplicación responde y a todas las cadenas de TTS y GUI.

Debe evitar cadenas de GUI largas. El lienzo de Cortana proporciona tres líneas para las respuestas y truncará las cadenas más largas que eso.

Para obtener más información, consulta la sección Globalización y localización.

Recursos de imagen y escalado

Plataforma universal de Windows aplicaciones (UWP) pueden seleccionar automáticamente la imagen de logotipo de aplicación más adecuada en función de la configuración específica y las funcionalidades del dispositivo (contraste alto, píxeles efectivos, configuración regional, etc.). Lo único que debe hacer es proporcionar las imágenes y asegurarse de que usa la convención de nomenclatura y la organización de carpetas adecuadas dentro del proyecto de aplicación para las distintas versiones de recursos. Si no proporciona las versiones de recursos recomendadas, la accesibilidad, la localización y la calidad de la imagen pueden sufrir, en función de las preferencias, capacidades, tipo de dispositivo y ubicación del usuario.

Para obtener más información sobre los recursos de imagen para los factores de contraste alto y escala, consulte Directrices para los recursos de icono e icono.

Asigne un nombre a los recursos mediante calificadores. Los calificadores de recursos son modificadores de carpeta y nombre de archivo que identifican el contexto en el que se debe usar una versión determinada 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 varios. Sin embargo, como mínimo, se recomienda proporcionar recursos para 100, 200 y 400 factores de escala.

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 puede especificar un icono para cada icono de resultados para una consulta de usuario. Los tamaños de imagen válidos para los iconos de resultados son:

  • 68w x 68h
  • 68w x 92h
  • 280w x 140h

Plantillas de icono de resultados

Se proporciona un conjunto de plantillas para los iconos de resultados que se muestran en el lienzo de Cortana. Use 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 hasta tres líneas de texto y una imagen, según la plantilla especificada.

Estas son las plantillas admitidas (con ejemplos):

Nombre Ejemplo
Solo título Captura de pantalla del lienzo de Cortana que muestra solo título
Título con texto Captura de pantalla del lienzo de Cortana que muestra título con texto
Título con icono de 68 x 68 sin imagen
Título con 68 x 68 icono y texto Captura de pantalla del lienzo de Cortana que muestra título con el icono y el texto de 68 x 68
Título con icono de 68 x 92 sin imagen
Título con 68 x 92 icono y texto Captura de pantalla del lienzo de Cortana que muestra el título con el icono y el texto 68x92
Título con icono de 280x140 sin imagen
Título con 280 x 140 icono y texto Captura de pantalla del lienzo de Cortana que muestra título con el icono y el texto 280x140

Consulta VoiceCommandContentTileType para obtener más información sobre las plantillas de Cortana.

Ejemplo

En este ejemplo se muestra un flujo de tareas de un extremo a otro para una aplicación en segundo plano en Cortana. Usamos la aplicación Adventure Works para cancelar un viaje a Las Vegas. En este ejemplo se usa la plantilla "Title with 68x68 icon and text" (Título con 68 x 68 y texto).

Captura de pantalla del lienzo de Cortana para el flujo de la aplicación en segundo plano de Cortana de un extremo a otro

Estos son los pasos descritos en esta imagen:

  1. El usuario pulsa el micrófono para iniciar Cortana.
  2. El usuario dice "Cancelar mi viaje de Adventure Works a Vegas" para iniciar la aplicación Adventure Works en segundo plano. La aplicación usa la voz y el lienzo de Cortana para interactuar con el usuario.
  3. Cortana pasa a una pantalla de entrega que proporciona los comentarios de confirmación del usuario ("Obtendré Adventure Works en ese."), una barra de estado y un botón cancelar.
  4. 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 muestra todos los resultados coincidentes y pregunta, "¿Cuál quiere cancelar?"
  5. El usuario especifica el elemento "Vegas Tech Conference".
  6. Dado que no se puede deshacer la cancelación, la aplicación proporciona una pantalla de confirmación que pide al usuario que confirme su intención.
  7. El usuario dice "Sí".
  8. A continuación, la aplicación proporciona una pantalla de finalización que muestra el resultado de la operación.

Exploramos estos pasos con más detalle aquí.

Handoff

Captura de pantalla del lienzo de Cortana para finalizar el flujo de la aplicación en segundo plano de Cortana mediante el próximo viaje de AdventureWorks sin entregaAdventureWorks "Próximo viaje" sin pantalla de entrega

Captura de pantalla del lienzo de Cortana para finalizar el flujo de la aplicación en segundo plano de Cortana mediante el próximo viaje de AdventureWorks con entregaAdventureWorks "Próximo viaje" con pantalla de entrega

Las tareas que tardan menos de 500 ms en responder a la aplicación y no requieren información adicional del usuario, se pueden completar sin más participación de Cortana, aparte de mostrar la pantalla de finalización.

Si la aplicación requiere más de 500 ms para responder, Cortana proporciona una pantalla de entrega. Se muestran el icono y el nombre de la aplicación, y debe proporcionar cadenas de entrega de GUI 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 momento, Cortana presenta una pantalla de error genérica.

Directrices de GUI y TTS para pantallas de entrega

Indique claramente que la tarea está en curso.

Use el tiempo presente.

Use un verbo de acción que confirme qué tarea está iniciando y hace referencia a la entidad específica.

Use un verbo genérico que no se confirme en la acción solicitada e incompleta. Por ejemplo, "Buscando tu viaje" en lugar de "Cancelar tu viaje". En este caso, si no se devuelve ningún resultado, el usuario no escucha algo como "Cancelando tu viaje a Las Vegas... No pude encontrar un viaje a Las Vegas".

Tenga claro que la tarea aún no se ha realizado si la aplicación todavía necesita resolver la entidad solicitada. Por ejemplo, observe cómo decimos "Buscando su viaje" en lugar de "Cancelar su viaje" porque cero o más viajes pueden coincidir y aún no sabemos el resultado.

Las cadenas de GUI y TTS pueden ser las mismas, pero no es necesario. Intente mantener corta la cadena de gui para evitar el truncamiento y la duplicación de otros recursos visuales.

TTS GUI
Busca tu próximo viaje de Adventure Works. Buscando tu próximo viaje...
Busca tu viaje de Adventure Works a Falls City. Buscando viaje a Falls City...

Progreso

Captura de pantalla del lienzo de Cortana para el flujo de la aplicación en segundo plano de Cortana de un extremo a otro mediante el progreso del viaje de cancelación de AdventureWorksProgreso de "Cancelar viaje" de AdventureWorks

Cuando una tarea tarda un tiempo entre los pasos, la aplicación debe avanzar paso a paso y actualizar al usuario en lo que sucede en una pantalla de progreso. Se muestra el icono de la aplicación y debe proporcionar cadenas de progreso de GUI y TTS para indicar que la tarea está en curso.

Debe proporcionar un vínculo a la aplicación con parámetros de inicio para iniciar la aplicación en el estado adecuado. Esto permite al usuario ver o completar la tarea por sí misma. Cortana proporciona el texto del vínculo (por ejemplo, "Ir a Adventure Works").

Las pantallas de progreso se mostrarán durante 5 segundos cada una, después de lo cual deben ir seguidas de otra pantalla o la tarea agotará 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 GUI y TTS para las pantallas de progreso

Use el tiempo presente.

Use un verbo de acción que confirme que la tarea está en curso.

GUI: si se muestra la entidad, use una referencia a ella ("Cancelando este viaje..."); si no se muestra ninguna entidad, llame explícitamente a la entidad ("Canceling 'Vegas Tech Conference'").

TTS: solo debe incluir una cadena TTS en la primera pantalla de progreso. Si se requieren más pantallas de progreso, envíe una cadena vacía, , {}como cadena TTS y proporcione solo una cadena de GUI.

Condiciones TTS GUI
ENTITY READ ON PRIOR TURN /ENTITY DISPLAY ON DISPLAY (LECTURA DE ENTIDAD EN LA PANTALLA ANTERIOR/ ENTIDAD MOSTRADA EN PANTALLA) Cancelando este viaje... Cancelando este viaje...
ENTIDAD NO LEÍDA EN EL TURNO ANTERIOR/ENTIDAD QUE SE MUESTRA EN PANTALLA Cancelando tu viaje a Vegas... Cancelando este viaje...
ENTIDAD NO LEÍDA EN EL TURNO ANTERIOR/ENTIDAD NO SE MUESTRA Cancelando tu viaje a Vegas... Cancelando tu viaje a Vegas...

Confirmación

Captura de pantalla del lienzo de Cortana para finalizar el flujo de la aplicación en segundo plano de Cortana mediante la confirmación del viaje de cancelación de AdventureWorksConfirmación de "Cancelar viaje" de AdventureWorks

Algunas tareas pueden confirmarse implícitamente por la naturaleza del comando del usuario; otros son potencialmente más sensibles y requieren confirmación explícita. Estas son algunas instrucciones para cuándo usar confirmación explícita frente a implícita.

Las cadenas de GUI y TTS en la pantalla de confirmación se especifican mediante la aplicación y el icono de la aplicación, si se proporciona, se muestra en lugar del avatar de Cortana .

Después de que el cliente responda a la confirmación, la aplicación debe proporcionar la siguiente pantalla en 500 ms para evitar ir a una pantalla de progreso.

Use explícitamente cuando...

  • El contenido deja al usuario (por ejemplo, un mensaje de texto, un correo electrónico o una publicación social)
  • No se puede deshacer una acción (por ejemplo, realizar una compra o eliminar algo).
  • El resultado podría ser embarazoso (por ejemplo, llamar a la persona equivocada)
  • Se requiere reconocimiento más complejo (por ejemplo, transcripción abierta)

Usar implícitamente cuando...

  • El contenido solo se guarda para el usuario (por ejemplo, una nota a sí mismo)
  • Hay una manera fácil de volver a salir (por ejemplo, activar o desactivar una alarma)
  • La tarea debe ser rápida (por ejemplo, capturar rápidamente una idea antes de olvidar)
  • La precisión es alta (por ejemplo, un menú simple)

Directrices de GUI y TTS para las pantallas de confirmación

Use el tiempo presente.

Pregunte al usuario una pregunta inequívoca que se puede responder 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.

Proporcione una variación de la pregunta para un mensaje de repetición, en caso de que el comando de voz no se entienda la primera vez.

GUI: si se muestra la entidad, use una referencia a ella. Si no se muestra ninguna entidad, llame explícitamente a la entidad.

TTS: para mayor claridad, haga referencia siempre al elemento o entidad específico, a menos que el sistema lo lea en el turno anterior.

Condiciones TTS GUI
ENTIDAD NO LEÍDA EN EL TURNO ANTERIOR/ENTIDAD QUE SE MUESTRA EN PANTALLA ¿Desea cancelar La Conferencia Tecnológica de Vegas? ¿Cancela este viaje?
ENTIDAD NO LEÍDA EN EL TURNO ANTERIOR/ENTIDAD NO SE MUESTRA ¿Desea cancelar La Conferencia Tecnológica de Vegas? ¿Cancela la Conferencia Tecnológica de Vegas?
ENTITY READ ON PRIOR TURN /ENTITY NOT SHOWN ¿Desea cancelar este viaje? ¿Cancela este viaje?
REPROMPT CON LA ENTIDAD MOSTRADA ¿Quieres cancelar este viaje? ¿Quieres cancelar este viaje?
REPROMPT WITH ENTITY NOT SHOWN ¿Quieres cancelar este viaje? ¿Quiere cancelar la Conferencia Tecnológica de Vegas?

Anulación de ambigüedades

Captura de pantalla del lienzo de Cortana para finalizar el flujo de la aplicación en segundo plano de Cortana mediante la cancelación de la desambiguación de viajes de AdventureWorksDesambiguación de AdventureWorks "Cancelar viaje"

Algunas tareas pueden requerir que el usuario seleccione de una lista de entidades para completar la tarea.

Las cadenas de GUI y TTS en la pantalla de desambiguación se especifican mediante la aplicación y el icono de la aplicación, si se proporciona, se muestra en lugar del avatar de Cortana .

Después de que el cliente responda a la pregunta de desambiguación, la aplicación debe proporcionar la siguiente pantalla en 500 ms para evitar ir a una pantalla de progreso.

Directrices de GUI y TTS para las pantallas de desambiguación

Use el tiempo presente.

Pregunte al usuario una pregunta inequívoca que se puede responder con el título o la línea de texto de cualquier entidad mostrada.

Se pueden mostrar hasta 10 entidades.

Cada entidad debe tener un título único.

Proporcione una variación de la pregunta para un mensaje de repetición, en caso de que el comando de voz no se entienda la primera vez.

TTS: para mayor claridad, haga referencia siempre al elemento o entidad específico, a menos que se haya hablado en el turno anterior.

TTS: no lea la lista de entidades, a menos que haya tres o menos y sean cortas.

Condiciones TTS GUI
PROMPT: 3 O MENOS ELEMENTOS ¿Qué viaje de Vegas quieres cancelar? ¿Vegas Tech Conference or Party in Vegas? ¿Cuál quiere cancelar?
PROMPT: MÁS DE 3 ELEMENTOS ¿Qué viaje de Vegas quieres cancelar? ¿Cuál quiere cancelar?
REPROMPT ¿Qué viaje de Vegas quería cancelar? ¿Cuál quiere cancelar?

Completion

Captura de pantalla del lienzo de Cortana para el flujo de la aplicación en segundo plano de Cortana de un extremo a otro mediante la finalización del viaje de cancelación de AdventureWorksFinalización de "Cancelar viaje" de AdventureWorks

Al finalizar correctamente la tarea, la aplicación debe informar al usuario de que la tarea solicitada se completó correctamente.

Las cadenas de GUI y TTS en la pantalla de finalización se especifican mediante la aplicación y el icono de la aplicación, si se proporciona, se muestra en lugar del avatar de Cortana .

Debe proporcionar un vínculo a la aplicación con parámetros de inicio para iniciar la aplicación en el estado adecuado. Esto permite al usuario ver o completar la tarea por sí misma. Cortana proporciona el texto del vínculo (por ejemplo, "Ir a Adventure Works").

Directrices de GUI y TTS para pantallas de finalización

Use el tiempo pasado.

Use un verbo de acción para indicar explícitamente que la tarea se ha completado.

Si se muestra la entidad, o si se hace referencia a ella en turno anterior, solo se hace referencia a ella.

Condiciones TTS GUI
ENTIDAD MOSTRADA/LECTURA DE ENTIDAD EN TURNO ANTERIOR He cancelado este viaje. Canceló este viaje.
ENTIDAD NO MOSTRADA/ ENTIDAD NO LEÍDA EN EL TURNO ANTERIOR He cancelado tu viaje a La Conferencia Tecnológica de Las Vegas. Cancelada "Vegas Tech Conference".

Error

Captura de pantalla del lienzo de Cortana para el flujo de la aplicación en segundo plano de Cortana de un extremo a otro mediante el error de cancelación del viaje de AdventureWorksError de "Cancelar viaje" de AdventureWorks

Cuando se produce uno de los errores siguientes, Cortana muestra el mismo mensaje de error genérico.

  • El servicio de aplicaciones finaliza inesperadamente.
  • Cortana no puede comunicarse con el servicio de aplicaciones.
  • La aplicación no puede proporcionar una pantalla después de que Cortana muestre una pantalla de entrega o una pantalla de progreso durante 5 segundos.