ES2735874T3 - Coordinación de elementos de interfaz de usuario a través de espacios de pantalla - Google Patents

Coordinación de elementos de interfaz de usuario a través de espacios de pantalla Download PDF

Info

Publication number
ES2735874T3
ES2735874T3 ES14836566T ES14836566T ES2735874T3 ES 2735874 T3 ES2735874 T3 ES 2735874T3 ES 14836566 T ES14836566 T ES 14836566T ES 14836566 T ES14836566 T ES 14836566T ES 2735874 T3 ES2735874 T3 ES 2735874T3
Authority
ES
Spain
Prior art keywords
screen
destination
source
user interface
transition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES14836566T
Other languages
English (en)
Inventor
Brandon C Furtwangler
Aaron J Nonis
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Home Box Office Inc
Original Assignee
Home Box Office Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Home Box Office Inc filed Critical Home Box Office Inc
Application granted granted Critical
Publication of ES2735874T3 publication Critical patent/ES2735874T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Un procedimiento, que comprende; comunicar, a través de un servicio de navegación (108), entre una lógica de control de origen asociada con una pantalla de origen (104) que se está mostrando actualmente en un dispositivo de visualización y una lógica de control de destino asociada con una pantalla de destino (106) a mostrar en el dispositivo de visualización, que resulta en una identificación de un conjunto de intersección de nombres de elementos de interfaz de usuario entre un primer conjunto de nombres de elementos de interfaz de usuario que se están presentando actualmente en la pantalla de origen y un segundo conjunto de nombres de elementos de interfaz de usuario necesarios para su presentación en la pantalla de destino; y en respuesta a recibir respectivas indicaciones de la lógica de control de origen en relación a que un script de transición de origen está listo y de la lógica de control de destino en relación a que un script de transición de destino está listo, coordinar, por parte del servicio de navegación (108), una ejecución concurrente del script de transición de origen por parte de la lógica de control de origen y del script de transición de destino por parte de la lógica de control de destino para hacer una transición desde la visualización de la pantalla de origen (104) hasta la visualización de la pantalla de destino (106) en el dispositivo de visualización; en el que la ejecución del script de transición de origen comprende eliminar, por parte de la lógica de control de origen, de la presentación en la pantalla de origen (104), elementos de interfaz de usuario del primer conjunto de nombres de elementos de interfaz de usuario que no están en el conjunto de intersección de nombres de elementos de interfaz de usuario; y en el que la ejecución del script de transición de destino comprende instanciar, por parte de la lógica de control de destino, elementos de interfaz de usuario del segundo conjunto de nombres de elementos de interfaz de usuario que no están en el conjunto de intersección de nombres de elementos de interfaz de usuario, y adquirir posesión de elementos de interfaz de usuario del conjunto de intersección de nombres de elementos de interfaz de usuario.

Description

DESCRIPCIÓN
Coordinación de elementos de interfaz de usuario a través de espacios de pantalla
ANTECEDENTES
Las interfaces gráficas de usuario (GUI, o simplemente Interfaz de Usuario) tradicionalmente se han dividido en una taxonomía que incluye ventanas/pantallas/páginas/controles etcétera que se componen conjuntamente, en el que hay una correspondencia uno a uno entre un elemento de Interfaz de Usuario y el código / lógica que lo controla. En un patrón de interfaz de usuario típico, tal como el Model-View-Controller (MVC), Model-View-View-Model (MVVM), etcétera, una sola vista abarca sus elementos de Interfaz de Usuario dentro de una jerarquía de la vista. La vista posee y gestiona la vida útil de sus elementos de Interfaz de Usuario.
En dichos patrones, cuando una vista actual cambia a una nueva vista, se produce un cambio abrupto en la vista, ya que la vista actual finaliza la vida útil de sus elementos de interfaz de usuario y la nueva vista inicia sus elementos de interfaz de usuario. Sería deseable que los diseños de las aplicaciones proporcionen transiciones suaves y/o bordes suaves entre dichas vistas o similares, pero que lo hagan sin la necesidad de una programación compleja ni que las vistas sean programadas con los detalles de otras vistas.
RESUMEN
Este Resumen se proporciona para introducir una selección de conceptos representativos en una forma simplificada que se describen a continuación en la Descripción Detallada. Este Resumen no pretende identificar características clave o características esenciales de la materia reivindicada, ni pretende ser utilizado de ninguna manera que limite el alcance de la materia reivindicada.
En resumen, uno o más de los diversos aspectos del objeto descrito en este documento están orientados al intercambio de información relacionada a nivel de elemento entre una pluralidad de pantallas, incluida la transición desde una pantalla de origen (por ejemplo, una pantalla existente/saliente) hasta una pantalla de destino (por ejemplo, pantalla nueva/entrante). La transición incluye el uso de la información relacionada a nivel de elemento en una pantalla de destino para compartir uno o más elementos existentes de una pantalla de origen.
En uno o más aspectos, un servicio de navegación está configurado para acoplar información relacionada a nivel de elemento de uno o más elementos de una pantalla de origen con una pantalla de destino que adquiere posesión de uno o más elementos utilizados por la pantalla de origen. El servicio de navegación coordina una transición desde la pantalla de origen hasta la pantalla de destino.
Uno o más aspectos están orientados a la transición desde una pantalla de origen hasta una pantalla de destino, que incluye coordinar el cambio de propiedad de al menos un elemento compartido de la pantalla de origen con la pantalla de destino. La pantalla de destino no necesita conocer de antemano el elemento o los elementos de la pantalla de origen (y/o viceversa). Se crea al menos otro elemento asociado con la pantalla de destino para producir la pantalla de destino de al menos un elemento compartido y al menos un elemento creado.
Otras ventajas pueden resultar evidentes a partir de la siguiente descripción detallada en consideración junto con los dibujos.
El documento US 2011/258534 A1 describe un sistema de diseño visual que soporta transiciones de interfaz complejas entre plantillas y estados de interfaz definidas de forma declarativa. El sistema crea una correspondencia entre una plantilla antigua y la nueva plantilla, conserva elementos visuales que están presentes en ambas plantillas, y cambia las propiedades y la posición de los elementos visuales en un árbol de representación según sea necesario. El sistema crea o destruye elementos visuales que están solo en una plantilla según sea necesario. Usando el sistema de diseño visual, un diseñador puede especificar los estados de una interfaz de usuario dentro de una representación declarativa de la plantilla que producirá las pantallas especificadas. El sistema permite explorar cambios de estado para su especificación como plantillas para el diseñador.
El documento US 2010/235769 A1 describe un sistema de animación de diseño que realiza transiciones suaves para las propiedades de un diseño, independientemente de si las propiedades del diseño son discretas o se calculan automáticamente. Antes de que se ejecute una transición, el sistema de animación de diseño extrae y almacena el posicionamiento, el tamaño y la visibilidad de elementos participantes a través de la jerarquía de diseño. El sistema coloca los elementos afectados en la misma posición, tamaño y visibilidad que las solicitudes de estado salientes y anima los elementos según un estado entrante. Para cada elemento, el sistema calcula una animación suave que transforma el elemento desde la posición, el tamaño y la visibilidad salientes hasta la posición, el tamaño y la visibilidad entrantes. El sistema luego anima los elementos durante un tiempo de transición deseado.
El objeto de la presente invención es permitir una transición mejorada desde una pantalla de origen hasta una pantalla de destino.
El objeto es solucionado por la materia de las reivindicaciones independientes.
Las reivindicaciones dependientes definen formas de realización preferidas de la presente invención.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
La presente invención se ilustra a modo de ejemplo y no se limita a las figuras adjuntas en las que números de referencia similares indican elementos similares y en los que:
La figura 1A es un diagrama de bloques que muestra una configuración de ejemplo que se puede usar para hacer una transición de un elemento o unos elementos desde una pantalla de origen hasta una pantalla de destino, de acuerdo con una o más formas de realización de ejemplo.
La figura 1B es un diagrama de bloques que muestra una configuración de ejemplo alternativa que se puede usar para hacer una transición de elementos desde una pantalla de origen hasta una pantalla de destino, de acuerdo con una o más formas de realización de ejemplo.
La figura 2 es un diagrama que muestra la temporalización generalizada de cómo un servicio de navegación puede coordinar la transición desde una pantalla de origen hasta una pantalla de destino, de acuerdo con una o más formas de realización de ejemplo.
La figura 3 es una representación de cómo se pueden compartir elementos de una pantalla de origen con una pantalla de destino, de acuerdo con una o más formas de realización de ejemplo.
La figura 4 es una representación de intersección de información relacionada a nivel de elemento de la pantalla de origen con información relacionada a nivel de elemento de la pantalla de destino para facilitar el intercambio de elementos desde la pantalla de origen hasta la pantalla de destino, de acuerdo con una o más formas de realización de ejemplo.
Las figuras 5A, 5B, 6A y 6B comprenden representaciones de pantallas en el tiempo que muestran ejemplos de elementos de animación durante la transición desde una pantalla de origen hasta una pantalla de destino, de acuerdo con una o más formas de realización de ejemplo.
La figura 7 es un diagrama de flujo que muestra etapas de ejemplo que pueden realizarse para hacer una transición desde una pantalla de origen hasta una pantalla de destino, de acuerdo con una o más formas de realización de ejemplo.
Las figuras 8 - 10 son representaciones de transiciones desde pantallas de origen hasta pantallas de destino, en las que se pueden compartir elementos de nivel superior e inferior entre las pantallas, de acuerdo con una o más formas de realización de ejemplo.
La figura 11 es un diagrama de bloques que representa un entorno informático de ejemplo en el que se pueden incorporar aspectos de la materia descrita en este documento.
DESCRIPCIÓN DETALLADA
Diversos aspectos de la tecnología descrita en este documento generalmente están orientados a tener elementos de Interfaz de Usuario (sinónimo de "controles" en este documento) que existen en un espacio global y virtual. En un aspecto, cualquier pantalla puede compartir sus elementos con cualquier otra pantalla. El controlador de cada pantalla básicamente adquiere el derecho a usar cualquiera de los elementos globales de la Interfaz de Usuario para dentro de su pantalla, pero el controlador de la pantalla (normalmente) no conserva la posesión exclusiva.
En lugar de que una vista gestione la vida útil completa de sus elementos de interfaz de usuario, los controladores controlan la vida útil de los elementos de interfaz de usuario coordinando la responsabilidad de la vida útil de la interfaz de usuario a través de una API de gestión de controlador o similar. Cada pantalla / controlador crea elementos de Interfaz de Usuario y proporciona estos elementos (por ejemplo, todos o la mayoría) a una aplicación general bajo demanda, es decir, en un momento de transición a una nueva pantalla.
En una implementación, una nueva pantalla entrante denominada en este documento como pantalla de destino puede retener cualquiera de los elementos que estaban siendo utilizados por la pantalla anterior saliente. Como beneficio, se facilita una transición sin problemas y/o suave entre pantallas. Por ejemplo, una pantalla saliente puede hacer una transición de uno o más elementos no retenidos fuera de la vista, mientras que una pantalla entrante puede hacer una transición de (o mantener como está) cualquier elemento común retenido procedente de la pantalla anterior y/o agregar cualquier otro elemento necesario para producir la nueva pantalla.
En una implementación, un servicio de navegación coordina la compartición de qué elementos desea la nueva pantalla (de destino) con qué elementos ya ha creado y representado la pantalla actual (de origen). Además de usar cualquier elemento ya creado y representado, la pantalla de destino no necesita saber nada de antemano con respecto a la pantalla de origen, ya que recibe esta información bajo demanda del servicio de navegación (según la ha proporcionado la pantalla de origen), es decir, en un momento de transición.
Se debe entender que cualquiera de los ejemplos en este documento no son limitativos. Como tal, la presente invención no se limita a ninguna realización, aspectos, conceptos, estructuras, funcionalidades o ejemplos particulares descritos en este documento. Más bien, cualquiera de las formas de realización, aspectos, conceptos, estructuras, funcionalidades o ejemplos descritos en este documento no son limitativos, y la presente invención puede usarse de diversas maneras que proporcionan beneficios y ventajas en el procesamiento y la representación de contenido en general.
La figura 1A muestra un diagrama de bloques de un ejemplo de dispositivo de usuario 102 (o un sistema de dispositivos) configurado para ejecutar cualquier número de programas, por ejemplo, uno de los cuales se representa con una pantalla de interfaz de usuario actualmente activa. La pantalla saliente actualmente activa puede ser denominada en este documento como una pantalla de origen 104 porque actúa como un origen de cualesquiera elementos retenidos usados por la siguiente pantalla. Téngase en cuenta que, según se usa en este documento, una "pantalla" se refiere a cualquier unidad lógica (tal como una vista, una página, un menú, una ventana, etc.) que combina y coordina uno o más elementos de interfaz de usuario; una pantalla puede referirse a lo que se muestra, y/o a la lógica/código/controlador correspondiente a la operación de la pantalla. Una pantalla típica puede organizarse como un árbol de presentación de Interfaz de Usuario, que contiene los elementos de Interfaz de Usuario en pantalla activos en una jerarquía visual, cada elemento indexado por un nombre único, que puede ser una referencia / identificador (ID) o un nombre legible por humanos. Téngase en cuenta que una pantalla también puede contener elementos inactivos y/u ocultos, y cada elemento puede contener su propia lógica junto con la lógica del controlador de pantalla. Como es sabido, un usuario interactúa con los elementos en la pantalla de origen 104 a través de uno o más dispositivos de entrada. Estas interacciones pueden hacer que se envíe información, que se recupere información, que se realicen cambios en los elementos, etc. Uno de los cambios puede corresponder a un evento para pasar a una nueva pantalla; dicha nueva pantalla entrante puede ser denominada en este documento como pantalla de destino 106. Según se entiende, la pantalla de origen 104 es el origen de elementos de interfaz de usuario (y normalmente el estado de esos elementos) utilizados por la pantalla de destino 106 siempre que sea posible y se desee.
En una implementación descrita en este documento, se proporciona un servicio de navegación 108 para coordinar la transición desde la pantalla de origen 104 hasta la pantalla de destino 106. Se puede usar un conjunto de API o similar para la comunicación entre cada pantalla 104 o 106 y el servicio 108. Según se describe en este documento, la transición puede incluir la compartición de cualquiera o todos los elementos de la pantalla de origen 104 con la pantalla de destino 106. Téngase en cuenta que la figura 1A también muestra la transición activada por un evento externo, tal como el generado a través de un temporizador, un reconocedor de voz, una señal de red (por ejemplo, procedente de otro dispositivo), un comando de control remoto, etc., en lugar de una interacción más directa de usuario con cualquier elemento de la Interfaz de Usuario en la pantalla.
La figura 1B muestra un modelo alternativo, en el que cada pantalla contiene un componente de servicio de navegación (por ejemplo, oculto para el usuario). En un modelo de este tipo, antes de cerrar la pantalla de origen 114, los controles/elementos de navegación 118a y 118b en las pantallas 114 y 116 realizan generalmente la misma funcionalidad que un servicio de navegación independiente, sólo que de forma más directa que indirecta. Por lo tanto, según se usa en este documento, el término "servicio de navegación" se refiere a cualquier configuración de uno o más componentes o similares que permite que la pantalla de origen intercambie información con la pantalla de destino, en al menos una dirección, que incluye lo que se muestra en las figuras 1A y 1B, incluso si dicha configuración no suele considerarse un "servicio" en otros contextos. En lo sucesivo y a efectos de simplicidad, generalmente el modelo de la figura 1A se describirá, por ejemplo, con un solo servicio de navegación 108 utilizado por ambas pantallas, sin embargo, se entiende que la manera en que se intercambia información relevante entre pantallas puede variar entre formas de realización alternativas.
La figura 2 representa cómo funciona la coordinación entre pantallas y el servicio en una implementación de ejemplo. En general, el servicio de navegación 108 detecta un evento activador, ya sea por la interacción del usuario con la pantalla de origen 104 o un evento externo. Por ejemplo, cuando un usuario interactúa con la pantalla de origen 104 para cambiar a la pantalla de destino 106, la pantalla de origen activa el evento para el servicio de navegación 108.
Cuando esto ocurre, el servicio de navegación 108 se comunica con la pantalla de destino 106 (por ejemplo, su lógica de control) para permitir que la pantalla de destino 106 sepa que debe prepararse para la transición. Según se describe en el presente documento, la transición incluye adquirir posesión de cualquier elemento de la interfaz de usuario compartida que la pantalla de origen pueda tener en común con la pantalla de destino. En el ejemplo de la figura 2, el servicio de navegación 108 realiza una notificación de este tipo como parte de una comunicación con la pantalla de destino 106 que también está destinada a solicitar los nombres de los elementos que necesita usar la pantalla de destino 106. La pantalla de destino 106 responde con una lista (u otra estructura de datos adecuada) que identifica los nombres de los elementos deseados.
El servicio de navegación 108 devuelve esta lista a la pantalla de origen 104 (por ejemplo, su lógica de control), que a continuación elimina de la lista los elementos que no tiene; (en lugar de eliminarlos, la pantalla de origen puede marcar aquellos que tiene contra aquellos que no tiene). La pantalla de origen 104 responde con la lista (posiblemente) modificada, que ahora identifica cualquier elemento o elementos que tiene en común con los que desea la pantalla de destino 106. Sin embargo, téngase en cuenta que mientras la pantalla de origen 104 básicamente elimina los elementos no comunes de la lista, la pantalla de origen 104 (normalmente) no elimina de la vista de forma sincrónica sus propios elementos que no necesita; en su lugar, se puede usar un efecto de transición (por ejemplo, animación u otro) para eliminar (o no) de la vista los elementos no necesarios de la pantalla de origen, según se ilustra a continuación.
Como alternativa a que la pantalla de origen tenga que procesar la lista, el servicio de navegación puede realizar el procesamiento. Por ejemplo, la pantalla de destino puede proporcionar su lista de elementos deseados, la pantalla de origen puede proporcionar su lista de elementos disponibles y el servicio de navegación puede realizar la intersección de las listas. El servicio de navegación puede devolver una lista de los elementos a la pantalla de destino que la pantalla de destino necesita crear, y/o puede devolver una lista de los elementos a la pantalla de origen que la pantalla de origen necesita ignorar / mantener vivos. Alternativamente (o adicionalmente a dichas listas), el servicio de navegación puede devolver el resultado de la intersección (que puede ser un conjunto vacío) a la pantalla de destino, y devolver una lista de cualquier elemento o elementos que deban ser ignorados a la pantalla de origen. Como puede apreciarse fácilmente, cuando se realizan las diversas etapas de procesamiento y/o qué protocolo se usa puede variar entre formas de realización alternativas.
Según se ha representado en la figura 2, el servicio de navegación devuelve la información relacionada a nivel de transición, por lo que la pantalla de destino utiliza entonces cualquier elemento o elementos comunes, lo que incluye adquirir posesión de ese elemento o elementos. El elemento o los elementos retenidos generalmente continúan teniendo sus datos de estado actuales asociados con los mismos (aunque la pantalla de origen puede optar por borrar o modificar los datos de estado de cualquier elemento antes de responder al servicio de navegación).
Cuando las pantallas de origen y de destino han indicado al servicio de navegación 108 que la transición entre pantallas está lista, incluida la preparación de cualesquiera scripts de transición (incluida cualquier animación), el servicio de navegación 108 hace que los scripts de transición se ejecuten en paralelo, proporcionando una pantalla virtual compartida temporalmente por ambos controladores de pantalla. En general, una "transición de salida", que puede incluir efectos de animación o similares, elimina visiblemente de la pantalla virtual los elementos anteriores no necesarios de la pantalla de origen, mientras que un efecto de animación de "transición de entrada" o similar de la pantalla de destino, que incluye cualquier elemento o elementos retenidos de posesión actual y cualquier elemento o elementos creados recientemente, mueve / redimensiona / muestra gradualmente / representa de otra manera los elementos de destino. Un elemento existente procedente de la pantalla de origen puede dejarse solo tal como está en términos de posición y/o apariencia visual.
En la figura 3 se muestra un ejemplo general de una transición, que muestra el estado del árbol de presentación de la interfaz de usuario antes de que comience la navegación, y después de que se complete la transición entre la pantalla 334 y la pantalla 336. En la figura 3, los elementos comunes a y b de la pantalla de origen 334 son compartidos con la pantalla de destino 336. El elemento c no es necesario en la pantalla de destino, pero el elemento d sí que lo es, y dado que no está disponible en la pantalla de origen, es creado. Téngase en cuenta que desde el estado inicial correspondiente a la pantalla de origen 334, con respecto al estado final correspondiente a la pantalla de destino 336, se aumenta el tamaño del elemento a, mientras que se mueve hacia abajo la posición del elemento b. Se elimina el elemento c y se crea el elemento d. En este momento, se puede apreciar fácilmente que la pantalla de "destino" se convierte ahora en una nueva pantalla de origen para una pantalla de destino subsiguiente (que en realidad puede ser la pantalla de origen anterior a través de un botón "atrás" o similar). Por lo tanto, se entiende que la "propiedad" o “posesión” de un elemento puede ser solo temporal.
La figura 4 muestra el concepto de intersección / adquisición de propiedad en un diagrama de Venn 440. La pantalla de destino indica que desea usar los elementos a, b y d, de los cuales la pantalla de origen tenía los elementos a y b (la intersección), por lo que el servicio de navegación (o la pantalla de origen) tiene que hacer que la pantalla de destino adquiera posesión de los elementos a y b. Por lo tanto, la pantalla de origen transiciona sin el elemento c, la pantalla de destino asume el control de los elementos a y b, y solo el elemento d debe ser creado por la pantalla de destino.
Como puede apreciarse fácilmente, hay modelos alternativos que pueden proporcionar información similar para su intercambio. Por ejemplo, la pantalla de origen puede proporcionar inicialmente una lista de sus elementos (por ejemplo, a través del servicio de navegación) a la pantalla de destino, por lo que la pantalla de destino puede conservar los que desee y ordenar (por ejemplo, a través del servicio de navegación) a la pantalla de origen que elimine los demás, o la propia pantalla de destino puede asumir y eliminar los demás. El servicio de navegación puede recibir una lista en el momento de la transición, o se puede proporcionar la lista por adelantado, anticipándose a una transición posterior. En un escenario de ejemplo, comenzar con los elementos de la pantalla de origen permite que la pantalla de destino adquiera posesión de todos los elementos de interfaz de usuario existentes procedentes de la pantalla de origen, incluso aquellos que la pantalla de destino realmente no desea, y luego realizar la transición según lo deseado sin los elementos de interfaz de usuario que no desee, retener (con animación incluida según se desee) aquellos elementos de interfaz de usuario deseados realmente, y crear y hacer la transición en cualquier elemento nuevo de interfaz de usuario que sea necesario. Este escenario es más complejo desde la perspectiva de la pantalla de destino, pero le otorga a la pantalla de destino el control completo sobre la transición. Para reducir la complejidad, en lugar de adquirir la posesión de todos los elementos, incluidos uno o más elementos que no son realmente necesarios, una pantalla de destino puede adquirir la posesión de solo un número limitado de elementos innecesarios (por ejemplo, hasta tres elementos innecesarios), o solo los seleccionados que no sean necesarios, (por ejemplo, solo aquellos que son elementos de imagen).
Téngase en cuenta que una pantalla de origen no necesita compartir un elemento en particular (y/o su estado) con una pantalla de destino. Por ejemplo, un elemento de interfaz de usuario puede contener datos sensibles, tales como un número de tarjeta de crédito, y por motivos de seguridad, un desarrollador de la pantalla de origen puede configurar la pantalla para eliminar de la lista de elementos solicitados cualquier elemento o elementos de interfaz de usuario sensibles, como si la pantalla de origen no tuviera ese elemento. Téngase en cuenta que la eliminación visible de un elemento de datos sensibles puede ser más inmediata en lugar de suave o animada. Por ejemplo, un usuario puede interactuar para cambiar de forma protegida a otra pantalla si alguien está mirando por encima del hombro en un momento en que aparecen los datos sensibles; en ese momento, el usuario no desea que estos datos sensibles se eliminen gradualmente de la vista. Por lo tanto, los efectos de transición, si los hay, pueden ser elemento a elemento y/o en función de si aparecen datos sensibles.
Téngase en cuenta que una pantalla de destino puede no querer un elemento de la pantalla de origen y, por lo tanto, simplemente puede no solicitarlo aunque necesite otra instancia del mismo elemento. Por ejemplo, la pantalla de destino puede querer que se borre un elemento en particular de cualesquiera datos de estado cuando sea iniciada por primera vez, y puede ser más eficiente y/o visualmente atractivo simplemente crear una nueva instancia en lugar de borrar y/o cambiar la posición/tamaño de un elemento existente.
Las figuras 5A, 5B, 6A y 6B muestran cómo se puede usar la animación paralela de una pantalla virtual para hacer una transición suave de elementos, en el que las figuras corresponden a "instantáneas" de diferentes estados en diferentes momentos T0, T1, T2 y T3, respectivamente. Téngase en cuenta que los momentos no pretenden ser instantáneas divididas exactamente en el tiempo, sino que solo transmiten de forma aproximada el concepto de animación paralela.
De este modo, a partir de un estado inicial en el momento T0 (figura 5A), la figura 5B (momento T1) muestra cómo un elemento compartido a comienza a crecer en tamaño, y cómo el elemento d comienza a moverse hacia su visibilidad, mientras que los elementos b y c se mueven hacia abajo, con respecto al tamaño del elemento a y las posiciones de los elementos b y c en el momento T0 (figura 5A). Téngase en cuenta que una vez que se inicia la transición, el controlador de la pantalla de origen solo se ocupa del elemento c en este momento, ya que los elementos a y b ahora son posesión de la pantalla de destino.
La figura 6A (momento T2) muestra un estado posterior, en el que el elemento c se ha movido parcialmente fuera de la pantalla virtual y el elemento d es completamente visible en la pantalla. Téngase en cuenta que el elemento a sigue creciendo en este ejemplo. La figura 6B (momento T3) muestra el estado final.
Téngase en cuenta que pueden usarse diferentes alternativas con respecto a la interactividad de elementos durante la transición. Por ejemplo, en un escenario típico, cualquier interacción de usuario puede ignorarse mientras se producen los efectos de transición (por ejemplo, animaciones). Otros modelos pueden permitir que se activen los elementos de la pantalla de destino tan pronto como comienza la animación (por ejemplo, para que un usuario "impaciente" pueda hacer clic en un botón tan pronto como empiece a aparecer en lugar de esperar a que se complete una animación lenta). Seleccionando un elemento anterior de "abandonar transición" tal como el elemento c en el ejemplo de la figura 6A puede causar un retorno a la pantalla de origen. La interacción puede ser elemento a elemento, por ejemplo, un elemento "botón" puede ser interactivo durante la transición / animación pero no un elemento de cuadro de texto, por ejemplo.
Es factible que datos relacionados con efectos de transición tales como información relacionada con animación (u otra) sean intercambiados entre las pantallas de origen y de destino. Por ejemplo, en lugar de depender de los desarrolladores de pantallas para producir animaciones visualmente coordinadas, se pueden intercambiar sugerencias o parámetros de efectos de transición más específicos. Por ejemplo, en el ejemplo de las figuras 5A - 6B, la pantalla de destino puede sugerir primero a la pantalla de origen que anime cualesquiera elementos eliminados de la pantalla (en este caso solo el elemento d) en una dirección hacia abajo a una velocidad de X. Como puede apreciarse fácilmente, virtualmente se puede intercambiar y usar cualquier información de animación / efecto de transición adecuada, por ejemplo, una velocidad de disipación (aumentar la transparencia de) un elemento para que parezca que aparece gradualmente un nuevo elemento sobre un elemento antiguo, un momento de inicio para mover o acelerar la posición de un elemento (por ejemplo, de modo que otro elemento puede moverse hacia y "colisionar" con el otro elemento cuando alcanza su posición (que se ha proporcionado a la pantalla de destino), etcétera.
La figura 7 resume algunas de las operaciones descritas en este documento, incluidas las del servicio de navegación que controla los cambios en la vista, controla el traspaso de elementos entre dos pantallas y coordina los elementos de interfaz de usuario compartidos entre las dos pantallas. Según se ha descrito anteriormente, no es necesario un servicio de navegación real en todas las implementaciones, y se puede apreciar fácilmente que las etapas del servicio de navegación de ejemplo en la figura 7 pueden ser realizadas por otros componentes, incluso a través de la alternativa representada en la figura 1B.
La etapa 702 representa que el servicio de navegación recibe un nuevo evento de pantalla, por ejemplo, goTo (newScreen). En la etapa 704, el servicio de navegación solicita a la pantalla de destino una lista de los elementos deseados; la etapa 706 representa que el servicio de navegación recibe la lista de nombres de elementos que desea la pantalla de destino. En este ejemplo, la lista comprende un conjunto de nombres de nivel superior que comprende una colección de índices de elementos de interfaz de usuario para los elementos de interfaz de usuario deseados por una pantalla. Cada pantalla declara un conjunto de dichos nombres de nivel superior en una implementación.
En la etapa 708, la lista de nombres de primer nivel es proporcionada por el servicio de navegación a la pantalla de origen. En la etapa 710, la pantalla de origen elimina los nombres de la lista que no tiene, y produce un script de transición de salida o similar que eliminará sus elementos de nivel superior, excepto aquellos elementos asociados con los nombres de nivel superior de la pantalla de destino. El script de salida es responsable de destruir cualesquiera elementos de interfaz de usuario que no vayan a ser utilizados por la pantalla entrante, lo que normalmente implica eliminar de forma animada elementos que no ha adquirido la pantalla de destino. La etapa 712 responde al servicio de navegación con la lista, lo que también indica que la pantalla de origen está lista para la transición.
En la etapa 714, el servicio de navegación proporciona la lista a la pantalla de destino, que indica a la pantalla de destino que adquiera posesión de cualquiera de los elementos que permanecen en la lista. La etapa 716 representa unas acciones realizadas por la pantalla de destino, incluida la adquisición de posesión y creación de cualquiera de los elementos restantes de su lista inicial de nombres de nivel superior. En una implementación, la etapa 716 produce como resultado un script de transición de entrada que, por ejemplo, incluye un script de animación o similar que crea cualesquiera elementos de interfaz de usuario que aún no existen y sitúa de forma animada en su ubicación los elementos que posee la pantalla de destino.
La etapa 718 representa la respuesta de la pantalla de destino cuando su script de transición de entrada está listo. En la etapa 720, el servicio de navegación ordena a las pantallas que ejecuten ambos scripts de transición, que pueden comprender scripts de animación, en paralelo.
En una o más formas de realización alternativas, los elementos de nivel superior pueden incluir sub-elementos que pueden ser compartidos entre pantallas. En una o más implementaciones, los elementos de nivel inferior pueden ser compartidos desde la pantalla de origen hasta la pantalla de destino para su uso de diversas maneras. Por ejemplo, según se pone de ejemplo en la figura 8, un elemento de nivel inferior e puede ser compartido entre elementos de nivel superior de las pantallas. En la figura 9, cuando un elemento de nivel superior x está en la pantalla de origen puede convertirse en un sub-elemento de otro elemento g de la pantalla de destino. En la figura 10, un elemento de nivel inferior k en la pantalla de origen puede convertirse en un elemento de nivel superior en la pantalla de destino, que puede (o no) incluir un sub-elemento p, etcétera. Virtualmente puede existir cualquier jerarquía de elementos de nivel superior / inferior que sea práctica y razonable.
EJEMPLO DE DISPOSITIVO INFORMÁTICO
Las técnicas descritas en este documento pueden aplicarse a cualquier dispositivo o conjunto de dispositivos capaces de ejecutar programas y procesos, tal como el dispositivo de usuario 102 de la figura. 1A. Se puede entender, por lo tanto, que dispositivos de mano, portátiles y otros dispositivos informáticos y objetos informáticos de todo tipo, incluidos teléfonos celulares, sistemas informáticos de tableta / pizarra, consolas de juegos / entretenimiento y similares, se contemplan para su uso en relación con las diversas formas de realización. Por consiguiente, el sistema informático remoto de propósito general que se describe a continuación en la figura 11 es solo un ejemplo de un dispositivo informático.
Formas de realización pueden ser implementadas parcialmente a través de un sistema operativo, para su uso por parte de un desarrollador de servicios para un dispositivo u objeto, y/o ser incluidas dentro del software de aplicación que opera para realizar uno o más aspectos funcionales de las diversas formas de realización descritas en este documento. El software puede describirse en el contexto general de instrucciones ejecutables informáticamente, tal como módulos de programas, que se ejecutan en uno o más dispositivos informáticos, tales como estaciones de trabajo cliente, servidores u otros dispositivos. Los expertos en la materia apreciarán que los sistemas informáticos tienen una diversidad de configuraciones y protocolos que pueden usarse para comunicar datos, y por lo tanto, ninguna configuración o protocolo particular se considera limitativo.
La figura 11, por lo tanto, ilustra un ejemplo de un entorno de sistema informático adecuado 1100 en el que se pueden implementar uno o diversos aspectos de las formas de realización descritas en este documento, aunque según se ha dejado claro anteriormente, el entorno de sistema informático 1100 es solo un ejemplo de un entorno informático adecuado y no se pretende sugerir limitación alguna en cuanto al alcance de uso o funcionalidad. Además, el entorno de sistema informático 1100 no debe interpretarse como que tiene alguna dependencia relacionada con un componente o una combinación de los componentes ilustrados en el ejemplo del entorno de sistema informático 1100. Con referencia a la figura 11, un dispositivo de ejemplo para implementar una o más formas de realización incluye un sistema informático de propósito general en forma de un dispositivo informático 1110. Los componentes del dispositivo informático 1110 pueden incluir, entre otros, una unidad de procesamiento 1120, una memoria de sistema 1130 y un bus del sistema 1122 que acopla diversos componentes del sistema, incluyendo la memoria del sistema a la unidad de procesamiento 1120.
El dispositivo informático 1110 incluye normalmente una diversidad de medios legibles informáticamente y puede ser cualquier medio disponible al cual pueda acceder el dispositivo informático 1110. La memoria del sistema 1130 puede incluir medios de almacenamiento informáticos en forma de memoria volátil y/o no volátil, tales como memoria de solo lectura (ROM) y/o memoria de acceso aleatorio (RAM), y medios de disco duro, medios de almacenamiento óptico, medio flash, etc. A modo de ejemplo, y no limitativo, la memoria del sistema 1130 también puede incluir un sistema operativo, programas de aplicación, otros módulos de programa y datos de programa.
Un usuario puede proporcionar comandos e información al dispositivo informático 1110a través de dispositivos de entrada 1140. Un monitor u otro tipo de dispositivo de visualización también está conectado al bus del sistema 1122 a través de una interfaz, tal como la interfaz de salida 1150. Además de un monitor, los dispositivos informáticos también pueden incluir otros dispositivos periféricos de salida, tales como altavoces y una impresora, que pueden conectarse a través de la interfaz de salida 1150.
El dispositivo informático 1110 puede funcionar en un entorno de red o distribuido utilizando conexiones lógicas a uno o más dispositivos informáticos remotos, tal como el dispositivo informático remoto 1170. El dispositivo informático remoto 1170 puede ser un ordenador personal, un servidor, un enrutador, un PC de red, un dispositivo peer u otro nodo de red común, o cualquier otro dispositivo de transmisión o consumo de medios remotos, y puede incluir cualquiera o todos los elementos descritos anteriormente en relación con el dispositivo informático 1110. Las conexiones lógicas que se muestran en la figura 11 incluyen una red 1172, tal como una red de área local (LAN) o una red de área amplia (WAN), pero también puede incluir otras redes/buses. Dichos entornos de red son comunes en hogares, oficinas, redes de dispositivos informáticos de toda una empresa, intranets e Internet.
Según se ha mencionado anteriormente, aunque se han descrito formas de realización de ejemplo en relación con diversos dispositivos informáticos y arquitecturas de red, los conceptos subyacentes pueden aplicarse a cualquier sistema de red y cualquier dispositivo o sistema informático en el que sea deseable mejorar la eficiencia del uso de recursos.
También, hay diversas formas de implementar la misma funcionalidad o similar, por ejemplo, una API apropiada, un juego de herramientas, un código de controlador, un sistema operativo, un objeto de software independiente o descargable, etc. que permite a las aplicaciones y servicios que aprovechen las técnicas proporcionadas en este documento. Por lo tanto, las formas de realización de este documento se contemplan desde el punto de vista de una API (u otro objeto de software), así como desde un objeto de software o hardware que implementa una o más formas de realización según se describe en este documento. Por lo tanto, diversas formas de realización descritas en este documento pueden tener aspectos que están totalmente en hardware, parte en hardware y parte en software, así como totalmente en software.
La palabra "ejemplo" se utiliza en este documento para indicar que sirve como ejemplo, instancia o ilustración. Para evitar dudas, la materia descrita en este documento no está limitada por dichos ejemplos. Además, cualquier aspecto o diseño descrito en este documento como un "ejemplo" no debe interpretarse necesariamente como preferido o ventajoso con respecto a otros aspectos o diseños, ni pretende excluir estructuras y técnicas de ejemplo equivalentes conocidas por los expertos en la técnica. Además, en la medida en que los términos "incluye", "tiene", "contiene" y se utilizan otras palabras similares, para evitar dudas, se pretende que dichos términos sean inclusivos de manera similar al término "comprende" como una palabra de transición abierta sin excluir ningún elemento adicional o de otro tipo cuando se utiliza en una reivindicación.
Como se ha mencionado, las diversas técnicas descritas en este documento pueden implementarse en conexión con hardware o software o, cuando sea apropiado, con una combinación de ambos. Según se usa en este documento, los términos "componente", "módulo", "sistema" y similares están destinados a referirse a una entidad relacionada con un dispositivo informático, ya sea hardware, una combinación de hardware y software, software o software en ejecución. Por ejemplo, un componente puede ser, pero sin limitarse a, un proceso que se ejecuta en un procesador, un procesador, un objeto, un ejecutable, un hilo de ejecución, un programa y/o un ordenador. A modo de ilustración, tanto una aplicación que se ejecuta en un dispositivo informático como el sistema informático pueden ser un componente. Uno o más componentes pueden residir dentro de un proceso y/o hilo de ejecución y un componente puede ubicarse en un dispositivo informático y/o estar distribuido entre dos o más dispositivos informáticos.
Los sistemas mencionados anteriormente se han descrito con respecto a una interacción entre diversos componentes. Puede apreciarse que dichos sistemas y componentes pueden incluir aquellos componentes o subcomponentes especificados, algunos de los componentes o subcomponentes especificados, y/o componentes adicionales, y de acuerdo con diversas permutaciones y combinaciones de los anteriores. Los subcomponentes también se pueden implementar como componentes acoplados comunicativamente a otros componentes en lugar de estar incluidos dentro de componentes principales (padres jerárquicos). Además, se puede observar que uno o más componentes pueden combinarse en un único componente que proporciona una funcionalidad agregada o dividirse en diversos subcomponentes separados, y que se puede proporcionar una o más capas intermedias, tal como una capa de gestión, para su acoplamiento de forma comunicativa a dichos subcomponentes con el fin de proporcionar una funcionalidad integrada. Cualquier componente descrito en este documento también puede interactuar con uno o más componentes no descritos específicamente en este documento pero generalmente conocidos por los expertos en la materia.
En vista de los sistemas de ejemplo descritos en este documento, las metodologías que pueden implementarse de acuerdo con la materia descrita también se pueden apreciar con referencia a los diagramas de flujo de las diversas figuras. Si bien para simplificar la explicación, las metodologías se muestran y describen como una serie de bloques, debe entenderse y apreciarse que las diversas formas de realización no están limitadas por el orden de los bloques, ya que algunos bloques pueden ocurrir en diferentes órdenes y/o de forma concurrente con otros bloques a partir de lo que se representa y describe en este documento. Cuando se ilustra un flujo no secuencial o ramificado a través de un diagrama de flujo, se puede apreciar que se pueden implementar diversas otras ramas, rutas de flujo y órdenes de los bloques que logran el mismo resultado o similar. Además, algunos bloques ilustrados son opcionales en la implementación de las metodologías que se describen a continuación.
CONCLUSIÓN
Aunque la invención es susceptible de diversas modificaciones y construcciones alternativas, se muestran ciertas formas de realización de las mismas ilustradas en los dibujos y descritas anteriormente en detalle.
Además de las diversas formas de realización descritas en este documento, debe entenderse que pueden usarse otras formas de realización similares o pueden realizarse modificaciones y agregaciones a la forma o formas de realización descritas para realizar la misma función o una función equivalente de la forma o formas de realización correspondientes sin desviarse de las mismas. Aún más, múltiples chips de procesamiento o múltiples dispositivos pueden compartir la realización de una o más funciones descritas en el presente documento, y de manera similar, el almacenamiento puede efectuarse a través de una pluralidad de dispositivos. Por consiguiente, la invención no debe limitarse a ninguna realización individual, sino que debe interpretarse según el alcance de acuerdo con las reivindicaciones adjuntas.

Claims (6)

REIVINDICACIONES
1. Un procedimiento, que comprende;
comunicar, a través de un servicio de navegación (108), entre una lógica de control de origen asociada con una pantalla de origen (104) que se está mostrando actualmente en un dispositivo de visualización y una lógica de control de destino asociada con una pantalla de destino (106) a mostrar en el dispositivo de visualización, que resulta en una identificación de un conjunto de intersección de nombres de elementos de interfaz de usuario entre un primer conjunto de nombres de elementos de interfaz de usuario que se están presentando actualmente en la pantalla de origen y un segundo conjunto de nombres de elementos de interfaz de usuario necesarios para su presentación en la pantalla de destino; y
en respuesta a recibir respectivas indicaciones de la lógica de control de origen en relación a que un script de transición de origen está listo y de la lógica de control de destino en relación a que un script de transición de destino está listo, coordinar, por parte del servicio de navegación (108), una ejecución concurrente del script de transición de origen por parte de la lógica de control de origen y del script de transición de destino por parte de la lógica de control de destino para hacer una transición desde la visualización de la pantalla de origen (104) hasta la visualización de la pantalla de destino (106) en el dispositivo de visualización;
en el que la ejecución del script de transición de origen comprende eliminar, por parte de la lógica de control de origen, de la presentación en la pantalla de origen (104), elementos de interfaz de usuario del primer conjunto de nombres de elementos de interfaz de usuario que no están en el conjunto de intersección de nombres de elementos de interfaz de usuario; y
en el que la ejecución del script de transición de destino comprende instanciar, por parte de la lógica de control de destino, elementos de interfaz de usuario del segundo conjunto de nombres de elementos de interfaz de usuario que no están en el conjunto de intersección de nombres de elementos de interfaz de usuario, y adquirir posesión de elementos de interfaz de usuario del conjunto de intersección de nombres de elementos de interfaz de usuario.
2. El procedimiento de la reivindicación 1, en el que la comunicación comprende:
solicitar (704), por parte del servicio de navegación (108), a la pantalla de destino (106) información relacionada a nivel de elemento que identifica la segunda lista de nombres de elementos de interfaz de usuario requeridos por la pantalla de destino (106);
recibir (706), por parte del servicio de navegación (108), la información solicitada relacionada a nivel de elemento de la pantalla de destino (106) y proporcionar (708) la información relacionada a nivel de elemento a la pantalla de origen (104);
producir (710), por parte de la pantalla de origen (104), el script de transición de origen;
recibir, por parte del servicio de navegación (108), información relacionada a nivel de elemento de la pantalla de origen (104) que indica el primer conjunto de nombres de elementos de interfaz de usuario presentados actualmente en la pantalla de origen (104) que corresponden a elementos de interfaz de usuario de los elementos de interfaz de usuario requeridos por la pantalla de destino (106), y proporcionar (714) la información relacionada a nivel de elemento a la pantalla de destino (106);
producir (716), por parte de la pantalla de destino (106), el script de transición de destino.
3. El procedimiento de la reivindicación 1, en el que el script de transición de origen incluye una animación u otro efecto visual de transición, o ambos, que transiciona haciendo desaparecer al menos uno de los elementos a eliminar.
4. El procedimiento de la reivindicación 1, en el que el script de transición de destino incluye una animación u otro efecto visual de transición, o ambos, que transiciona haciendo aparecer al menos uno de los elementos a crear.
5. Un sistema que comprende una memoria y un procesador que está acoplado operativamente a la memoria y que está configurado para ejecutar un código almacenado en la memoria, estando configurado el procesador, en respuesta a la ejecución del código, para realizar un procedimiento según una de las reivindicaciones 1 a 4.
6. Uno o más medios de almacenamiento legibles informáticamente que tienen instrucciones ejecutables informáticamente, que cuando son ejecutadas realizan un procedimiento según una de las reivindicaciones 1 a 4.
ES14836566T 2013-08-12 2014-08-11 Coordinación de elementos de interfaz de usuario a través de espacios de pantalla Active ES2735874T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/965,081 US9864490B2 (en) 2013-08-12 2013-08-12 Coordinating user interface elements across screen spaces
PCT/US2014/050598 WO2015023608A1 (en) 2013-08-12 2014-08-11 Coordinating user interface elements across screen spaces

Publications (1)

Publication Number Publication Date
ES2735874T3 true ES2735874T3 (es) 2019-12-20

Family

ID=52449736

Family Applications (2)

Application Number Title Priority Date Filing Date
ES19163964T Active ES2959646T3 (es) 2013-08-12 2014-08-11 Coordinación de elementos de interfaz de usuario a través de espacios de pantalla
ES14836566T Active ES2735874T3 (es) 2013-08-12 2014-08-11 Coordinación de elementos de interfaz de usuario a través de espacios de pantalla

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES19163964T Active ES2959646T3 (es) 2013-08-12 2014-08-11 Coordinación de elementos de interfaz de usuario a través de espacios de pantalla

Country Status (10)

Country Link
US (2) US9864490B2 (es)
EP (2) EP3537279B1 (es)
CN (1) CN105874418A (es)
BR (1) BR112016003037A2 (es)
CA (1) CA2922971C (es)
ES (2) ES2959646T3 (es)
MX (1) MX362336B (es)
PL (1) PL3033664T3 (es)
SG (1) SG11201601515WA (es)
WO (1) WO2015023608A1 (es)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8902248B1 (en) 2011-07-14 2014-12-02 Vmware, Inc. Method and system for measuring display performance of a remote application
WO2014178748A1 (en) * 2013-04-30 2014-11-06 Microsoft Corporation Generating screen data
US9674265B2 (en) * 2013-11-04 2017-06-06 Vmware, Inc. Filtering unnecessary display updates for a networked client
US9674518B2 (en) 2013-12-20 2017-06-06 Vmware, Inc. Measuring remote video display with embedded pixels
US9699247B2 (en) 2014-06-17 2017-07-04 Vmware, Inc. User experience monitoring for application remoting
CN109791081B (zh) * 2016-09-21 2022-02-11 株式会社村田制作所 压电传感器、触摸式输入装置
KR102689698B1 (ko) * 2019-01-03 2024-07-31 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
EP4195041A4 (en) * 2020-09-09 2024-01-17 Huawei Technologies Co., Ltd. METHOD FOR CONVERSION BETWEEN INTERFACES, DEVICE AND SYSTEM

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983190A (en) * 1997-05-19 1999-11-09 Microsoft Corporation Client server animation system for managing interactive user interface characters
US7249097B2 (en) 1999-06-18 2007-07-24 Echarge Corporation Method for ordering goods, services, and content over an internetwork using a virtual payment account
JP2004102367A (ja) * 2002-09-04 2004-04-02 Hitachi Ltd 需給計画方法およびシステム
JP3987025B2 (ja) * 2002-12-12 2007-10-03 シャープ株式会社 マルチメディアデータ処理装置およびマルチメディアデータ処理プログラム
US8984423B2 (en) * 2005-06-07 2015-03-17 Rockwell Automation Technologies, Inc. Dynamic representation of component configuration method and system
US20080094513A1 (en) * 2005-08-05 2008-04-24 Samsung Electronics Co., Ltd. Apparatus for providing multiple screens and method of dynamically configuring multiple screens
WO2007092629A2 (en) 2006-02-09 2007-08-16 Nms Communications Corporation Smooth morphing between personal video calling avatars
US20080303826A1 (en) * 2007-06-11 2008-12-11 Adobe Systems Incorporated Methods and Systems for Animating Displayed Representations of Data Items
US9996368B2 (en) * 2007-12-28 2018-06-12 International Business Machines Corporation Method to enable semi-automatic regeneration of manuals by saving manual creation operations as scripts
WO2009125404A2 (en) 2008-04-07 2009-10-15 Ramot At Tel-Aviv University Ltd. System for generating an interactive or non-interactive branching movie segment by segment and methods useful in conjunction therewith
EP3249893A1 (en) * 2008-06-03 2017-11-29 Whirlpool Corporation Appliance development toolkit
US20100131858A1 (en) * 2008-11-21 2010-05-27 Verizon Business Network Services Inc. User interface
US20100235769A1 (en) 2009-03-16 2010-09-16 Microsoft Corporation Smooth layout animation of continuous and non-continuous properties
JP2011154472A (ja) * 2010-01-26 2011-08-11 Ricoh Co Ltd 情報処理装置、プラグイン連携方法、プラグイン連携プログラム、及びそのプログラムを記録した記録媒体
US20110258534A1 (en) 2010-04-16 2011-10-20 Microsoft Corporation Declarative definition of complex user interface state changes
JP5892408B2 (ja) * 2011-09-26 2016-03-23 日本電気株式会社 画面共有表示システム、画面共有表示方法、およびプログラム
US9830049B2 (en) * 2011-12-12 2017-11-28 Nokia Technologies Oy Apparatus and method for providing a visual transition between screens
US9665252B2 (en) * 2012-04-18 2017-05-30 Sony Corporation Information processing apparatus and program
WO2014178748A1 (en) * 2013-04-30 2014-11-06 Microsoft Corporation Generating screen data

Also Published As

Publication number Publication date
WO2015023608A1 (en) 2015-02-19
MX362336B (es) 2019-01-11
US10228828B2 (en) 2019-03-12
PL3033664T3 (pl) 2019-10-31
US20150046852A1 (en) 2015-02-12
EP3537279B1 (en) 2023-08-09
CA2922971A1 (en) 2015-02-19
US9864490B2 (en) 2018-01-09
EP3033664A1 (en) 2016-06-22
SG11201601515WA (en) 2016-04-28
MX2016001977A (es) 2016-10-13
US20180136807A1 (en) 2018-05-17
BR112016003037A2 (pt) 2017-09-12
CA2922971C (en) 2023-03-14
ES2959646T3 (es) 2024-02-27
CN105874418A (zh) 2016-08-17
EP3033664A4 (en) 2017-04-05
EP3537279A1 (en) 2019-09-11
EP3033664B1 (en) 2019-04-24

Similar Documents

Publication Publication Date Title
ES2735874T3 (es) Coordinación de elementos de interfaz de usuario a través de espacios de pantalla
US11651573B2 (en) Artificial realty augments and surfaces
US11227445B1 (en) Artificial reality augments and surfaces
KR102694754B1 (ko) 혼합 현실 시스템에서 가상 콘텐츠를 관리하고 디스플레이하기 위한 방법들 및 시스템
ES2778061T3 (es) Dispositivo electrónico y procedimiento para gestionar ventanas
US11425220B2 (en) Methods, systems, and computer program products for implementing cross-platform mixed-reality applications with a scripting framework
US12079638B2 (en) Management framework for mixed reality devices
ES2440917T3 (es) Modificación de la apariencia de una imagen digital usando una forma
TWI662475B (zh) 應用程式生成設備、方法和非臨時性電腦可讀媒介及應用程式驅動設備
BRPI1009734A2 (pt) Interface gráfica inteligente em um dispositivo sem fio portátil
CA2843170A1 (en) Moving visualizations between displays and contexts
US20230421489A1 (en) Discovery and routing service for a cloud infrastructure
US20200233998A1 (en) Pre-children in a user interface tree
JP2016018363A (ja) 仮想空間平面上に配置したオブジェクトを表示制御するゲーム・プログラム
CN110785740B (zh) 基于规则的用户界面生成
US11836205B2 (en) Artificial reality browser configured to trigger an immersive experience
TW202345102A (zh) 用於渲染遠距化身、環境和動態物件的可擴展視差系統