ES2325442T3 - Encaminamiento de vistas en aplicaciones de interfaz de usuario. - Google Patents

Encaminamiento de vistas en aplicaciones de interfaz de usuario. Download PDF

Info

Publication number
ES2325442T3
ES2325442T3 ES04767136T ES04767136T ES2325442T3 ES 2325442 T3 ES2325442 T3 ES 2325442T3 ES 04767136 T ES04767136 T ES 04767136T ES 04767136 T ES04767136 T ES 04767136T ES 2325442 T3 ES2325442 T3 ES 2325442T3
Authority
ES
Spain
Prior art keywords
view
views
application
list
data
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
ES04767136T
Other languages
English (en)
Inventor
Stephen Michael Hartley
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.)
Nokia Oyj
Original Assignee
Nokia Oyj
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 Nokia Oyj filed Critical Nokia Oyj
Application granted granted Critical
Publication of ES2325442T3 publication Critical patent/ES2325442T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Un procedimiento para proporcionar interacción con el usuario, implementado en un dispositivo electrónico (700, 800), que comprende al menos una primera aplicación (320) y una segunda aplicación (330), comprendiendo dicha segunda aplicación al menos una vista, comprendiendo cada una de dichas vistas una combinación de un conjunto de elementos de entrada de interfaz de usuario y un conjunto de elementos informativos de interfaz de usuario, estando cada una de dichas vistas asociada a dicha segunda aplicación; en el cual dicha vista, o vistas, se presenta(n) a un usuario, caracterizado porque se determina una lista (400, 500) de vistas que comprende dicha vista, o vistas; dicha lista (400, 500) de vistas se pasa a un encaminador (300) de vistas desde dicha primera aplicación (320); dicho encaminador (300) de vistas lanza dicha vista, o vistas, comprendida(s) en dicha lista (400, 500) de vistas en dicha segunda aplicación, resultando dicho lanzamiento en la presentación de los elementos de dicha vista, o vistas, y dicha primera aplicación (310) continúa cuando al menos parte de dicha lista de vistas ha sido procesada.

Description

Encaminamiento de vistas en aplicaciones de interfaz de usuario.
Antecedentes de la invención Campo de la invención
La invención se refiere a las interfaces de usuario en equipos informáticos. En particular, la invención se refiere al encaminamiento de vistas en interfaces gráficas de usuario utilizadas en terminales de ordenador.
Breve descripción de los desarrollos afines
La amigabilidad hacia el usuario es un factor importante en todas las aplicaciones informáticas. Especialmente, tiene particular importancia en aplicaciones orientadas a los usuarios medios y al uso frecuente. Recientemente, las interfaces gráficas de usuario y los sistemas operativos han puesto las aplicaciones informáticas a disposición de una gran audiencia. En los ordenadores de mesa y portátiles, los sistemas operativos prevalecientes son actualmente el Windows de MIcrosoft® y LINUX^{TM}. El sistema operativo SYMBIAN^{TM} proporciona una interfaz gráfica de usuario y un sistema operativo gráfico para dispositivos móviles y otros dispositivos de mano similares.
En las aplicaciones de ingreso de datos, donde un usuario tiene que rellenar datos pertenecientes a diversas entidades, hay dos maneras de organizar la información a rellenar: un enfoque orientado a los datos y un enfoque orientado al proceso. El enfoque orientado a los datos es mucho más sencillo, desde el punto de vista del diseñador de aplicaciones. Debe haber simplemente formularios de ingreso de datos proporcionados, por medio de los cuales el usuario es capaz de rellenar los datos pertenecientes a las entidades de interés. Usualmente, el enfoque orientado a los datos se simplifica proporcionando un conjunto o secuencia de formularios de ingreso de datos, que se atienen a un proceso por el cual se recogen los datos en la vida real. De manera similar, se proporcionan secuencias de formularios de consulta y de actualización, que se atienen a los procesos en los cuales los datos se utilizan y se revisan. Sin embargo, el problema con el enfoque orientado al proceso es que puede haber una amplia variedad de procesos durante los cuales los datos se recogen, utilizan y actualizan. El problema empeora por el hecho de que datos similares deben ser manipulados en una gran variedad de aplicaciones independientes. Es importante poder fundir las etapas de extracción de datos y de ingreso de datos de una gran multitud de aplicaciones en una secuencia lógica de etapas. Típicamente, una etapa se representa por una vista dada en una aplicación dada. Una vista puede definirse como una combinación de un conjunto de elementos de entrada de la interfaz de usuario y un conjunto de elementos informativos de la interfaz de usuario. Los elementos de entrada de la interfaz de usuario, típicamente, son elementos que pueden emplearse para llevar a cabo una cierta tarea, y se utilizan normalmente cuando se requiere entrada del usuario. Tales elementos, por ejemplo, son botones de radio, cuadros de verificación, campos de entrada, botones de "Aceptar" y "Cancelar", etc. Los elementos informativos de la interfaz de usuario, típicamente, contienen texto y / o imágenes, y se utilizan para informar o instruir al usuario. Por ejemplo, en una aplicación de contactos, hay una vista para ingresar una expresión de búsqueda, tal como una palabra de búsqueda, y otra vista para exhibir todos los contactos que han coincidido con la expresión de búsqueda. En la práctica, una vista puede aparecer, típicamente, como un formulario o una ventana de interfaz de usuario, que se exhibe al usuario. La vista también puede cubrir la ventana entera. A modo de ejemplo, consideremos un caso de empleo en el entorno del sistema operativo SYMBIAN^{TM}, donde un usuario ha obtenido un nuevo terminal y debe ingresar la configuración requerida para la operación del terminal. En primer lugar, el usuario debe fijar la zona horaria para el servicio de hora mundial, que ilustra la hora en distintas zonas horarias. En segundo lugar, el usuario debe configurar la hora en la misma aplicación. En tercer lugar, el usuario debe especificar los detalles de su tarjeta de empresa en la aplicación de contactos. En cuarto lugar, el usuario debe especificar la información de acceso a Internet en una aplicación de acceso a Internet. En quinto lugar, el usuario debe especificar la configuración del correo electrónico en las aplicaciones de mensajería.
Se hace ahora referencia a la Figura 1, que ilustra el proceso precitado para ingresar los valores fijados pertenecientes a la configuración de un nuevo terminal que un usuario ha adquirido. La Figura 1 ilustra la secuencia de vistas de una aplicación de configuración de terminales. El usuario inicia una aplicación de configuración, o bien se inicia automáticamente en nombre del usuario. La aplicación de configuración invoca cada vista necesaria una a una. Las vistas invocadas pueden implementarse en distintas aplicaciones. En la etapa 11, la aplicación "Hora Mundial" se inicia en la vista para la configuración del ambiente local. El usuario debe seleccionar el país en que está actualmente. Cuando se ha seleccionado el país de una lista deslizable, la aplicación "Hora Mundial" se va y devuelve la selección del usuario a la aplicación de configuración de terminales. En la etapa 12, la aplicación "Hora Mundial" se inicia de nuevo y esta vez se lanza la vista para la configuración de la hora. Después de que el usuario ha ingresado la hora actual, la aplicación "Hora Mundial" se va y devuelve la selección del usuario a la aplicación de configuración de terminales. El procesamiento continúa de manera similar para cada aplicación y cada vista a ser lanzada por la aplicación de configuración de terminales. En la etapa 13, la aplicación "Contactos" se lanza a su vez desde la vista para especificar los detalles propios de la tarjeta. En la etapa 14 se inicia la aplicación "Acceso a Internet" desde la vista para seleccionar el punto de acceso del Servicio General actual de Radio en Paquetes (GPRS). En la etapa 15 se inicia la aplicación "Mensajería" desde la vista para ingresar la información para el servidor de correo electrónico utilizado, que comprende, por ejemplo, el nombre del servidor y / o la dirección de IP. Cuando el usuario ha ingresado información para el servidor de correo electrónico y pulsado el botón "Aceptar", la aplicación "Acceso a Internet" se va y devuelve la información ingresada a la aplicación de configuración del terminal.
Se hace referencia ahora a la Figura 2, que ilustra el patrón general precitado para invocar vistas una a una desde una aplicación cliente. En la Figura 2 hay una aplicación 100, que actúa como una aplicación cliente. Hay otras tres aplicaciones, a saber, las aplicaciones 140, 150 y 170. Las vistas 141, 152 y 172 van a utilizarse desde la aplicación 100. Las vistas son lanzadas mediante procedimientos en las interfaces 143, 153 y 173. Los datos son devueltos desde las vistas mediante procedimientos de escucha en las interfaces 144, 154 y 174.
Por ejemplo, en una vista 112 puede haber un botón u otro medio de selección, que causa una digresión al rellenar los datos para la vista 112. La digresión tiene como resultado el rellenado de formularios de ingreso de datos en las vistas 141, 152 y 172, y la devolución de la información a la vista 112. Por ejemplo, el botón puede proporcionarse al usuario a fin de comprobar si se han definido anteriormente algunos elementos de información necesarios para la ejecución de un comando perteneciente a la vista 112. Por ejemplo, la aplicación 100 lanza primero la vista 141 en la aplicación 140 mediante la interfaz 143, lo que da como resultado la presentación de la ventana o formulario de interfaz de usuario asociado a la vista 141. Cuando la vista 141 se va, por ejemplo, debido a la selección de un comando de "Aceptar" por parte del usuario, la aplicación 140 devuelve los datos rellenados por el usuario, mediante un procedimiento de escucha en la interfaz 145, a la aplicación 100. Se repiten etapas esencialmente similares para la vista 152 dentro de la aplicación 150 y para la vista 172 dentro de la aplicación 170.
La publicación de referencia US 5.737.557 revela una interfaz de usuario basada en ventanas para un ordenador personal. En la interfaz de usuario, se proporciona al usuario un cierto número de secuencias de software, que comprenden un cierto número de iconos que representan programas y ficheros de datos. Las secuencias corresponden, en principio, a los grupos de programas de Windows 3.1 de Microsoft®. Asociada a los iconos hay información almacenada con respecto a la ubicación del fichero correspondiente al icono. Las secuencias permiten que las operaciones se lleven a cabo sobre todos los elementos representados en la secuencia de software. Hay problemas asociados al encadenamiento de vistas en las aplicaciones de interfaz de usuario tales como las ilustradas en la Figura 2. En primer lugar, las secuencias de lanzamiento de vistas deben codificarse directamente en la aplicación cliente, es decir, la aplicación 100 en la Figura 2. De esta manera, no hay ninguna forma fácil y flexible de definir tales cadenas de vistas, es decir, rutas de vistas entre vistas. Esto significa que el código del programa debe especificar explícitamente la secuencia del lanzamiento de vistas. Si hubiera cualquier necesidad de cambiar la secuencia de lanzamiento de vistas, debe actualizarse el código de programa para la aplicación 100. Una desventaja adicional es que si hay cualquier cambio en las aplicaciones servidoras, es decir, las aplicaciones 140, 150 y 170 en la Figura 2, la aplicación cliente también debe actualizarse. Por ejemplo, si se recomponen vistas de entradas de datos pertenecientes a alguna información, tal como las tarjetas de empresa, debido a nuevas características, toda aplicación que ha utilizado estas vistas debe actualizarse, incluso aunque estas aplicaciones no aprovechasen estas nuevas características.
En segundo lugar, no hay ninguna manera sencilla de devolver datos desde una vista a la aplicación que lanzó la vista. La aplicación servidora debe publicar e implementar una interfaz de procedimiento para cada vista que proporciona para el empleo por parte de otras aplicaciones. Las otras aplicaciones deben llamar a este procedimiento para lanzar la vista. Cuando el usuario ha ingresado los datos pertenecientes a la vista y seleccionado un comando tal como "Aceptar", se llama a un procedimiento en la aplicación servidora. Este procedimiento, a su vez, debe llamar a un procedimiento de escucha publicado e implementado por la aplicación cliente. En otras palabras, la interfaz es utilizada en el estilo normal, conocido por la programación orientada a objetos para un experto en el terreno. Este procedimiento es inflexible y estático, como se ha indicado anteriormente, porque cada cambio en la aplicación servidora perteneciente a las definiciones de la interfaz origina la necesidad de actualizar igualmente la aplicación cliente, y viceversa. Esto puede llegar a ser una tarea compleja en un sistema que proporciona una multitud de aplicaciones que deben interconectarse de numerosas formas. La interconexión de las aplicaciones, generalmente, evita el problema de reinventar la rueda, es decir, el ingreso y procesamiento de los mismos datos, por ejemplo, datos de libreta telefónica, en aplicaciones distintas a la aplicación "Contactos".
En tercer lugar, no es posible introducir y lanzar rutas de vistas totalmente nuevas en tiempo de ejecución. Lo que se necesitaría es una forma genérica de pasar datos entre un cliente y una aplicación servidora dinámicamente, lo que permite la actualización de las vistas independientemente, y la creación de nuevas rutas de vistas.
Resumen de la invención
La invención se refiere a un procedimiento según se estipula en la reivindicación 1.
La invención también se refiere a un dispositivo electrónico según se estipula en la reivindicación 12.
La invención también se refiere a un programa de ordenador según se estipula en la reivindicación 23.
En una realización de la invención, se proporciona un procedimiento para brindar interacción de usuario en un dispositivo electrónico, que comprende al menos una primera aplicación y una segunda aplicación con al menos una vista asociada a ella. En el procedimiento se determina una ruta de vistas que comprende al menos una vista; la ruta de vistas se pasa a un encaminador de vistas desde la primera aplicación; se lanza al menos una vista basándose en la ruta de vistas; y se continúa con la primera aplicación cuando al menos parte de la ruta de vistas ha sido procesada.
En una realización de la invención, se proporciona un sistema que almacena al menos una primera aplicación y una segunda aplicación que tiene al menos una vista asociada a ella. El sistema comprende: medios para determinar una ruta de vistas que comprende al menos una vista; un encaminador de vistas para procesar la ruta de vistas, que lanza al menos una vista basándose en la ruta de vistas; y medios para continuar la primera aplicación cuando al menos una parte de la ruta de vistas ha sido procesada.
En una realización de la invención se proporciona un dispositivo electrónico que almacena al menos una primera aplicación y una segunda aplicación con al menos una vista asociada a ella. El dispositivo electrónico comprende: medios para determinar una ruta de vistas que comprende al menos una vista; un encaminador de vistas para procesar la ruta de vistas, que lanza al menos una vista basándose en dicha ruta de vistas; y medios para continuar con la primera aplicación cuando al menos parte de la ruta de vistas ha sido procesada.
En una realización de la invención, se proporciona un programa de ordenador que comprende código adaptado para llevar a cabo las siguientes etapas cuando se ejecuta en un sistema de procesamiento de datos: determinar una ruta de vistas que comprende al menos una vista; pasar la ruta de vistas a un encaminador de vistas desde una primera aplicación; lanzar al menos una vista asociada a una segunda aplicación, basándose en la ruta de vistas; y continuar con la primera aplicación cuando al menos una parte de la ruta de vistas ha sido procesada.
En una realización de la invención, se continúa con la primera aplicación cuando la ruta de vistas ha sido procesada. La conclusión de la ruta de vistas puede determinarse inspeccionando una lista de rutas de vistas. En una realización de la invención, la salida de una vista lanzada puede dar como resultado continuar con la primera aplicación incluso si otras vistas, que no han sido lanzadas, aún permanecen en la ruta de vistas.
En una realización de la invención, el procedimiento comprende adicionalmente la recogida de datos de al menos una vista y el pasaje de los datos recogidos desde el encaminador de vistas a la primera aplicación, o a una aplicación posterior en la ruta de vistas. Una aplicación posterior significa aquí una aplicación y una vista que sigue, en la ruta de vistas, a la vista de la que se acaba de salir y que ha devuelto el control al encaminador de vistas.
En una realización de la invención, la ruta de vistas se define como una lista que comprende información que identifica al menos la segunda aplicación y una vista asociada a ella. Típicamente, la lista comprende más de una entrada. Cada entrada especifica una aplicación, una vista dentro de la aplicación y, optativamente, un comando asociado a la vista. La lista puede ser una lista enlazada de entradas.
En una realización de la invención, los datos recogidos se organizan en una lista diaria que comprende una entrada para cada vista en dicha ruta de vistas. En una realización de la invención, los datos recogidos se organizan en una lista de pares de tipo y valor. Los pares de tipo y valor de datos pueden definirse en formato de lenguaje de marcado, tal como el lenguaje de marcado extensible (XML).
En una realización de la invención, el encaminador de vistas proporciona una interfaz genérica con procedimientos genéricos y actúa como un adaptador para devolver información de la vista lanzada a la primera aplicación, o a una aplicación posterior en la cadena de vistas.
En una realización de la invención, el encaminador de vistas se implementa como una biblioteca. En otra realización de la invención, el encaminador de vistas se implementa como una aplicación propia.
En una realización de la invención, al menos parte de la ruta de vistas está especificada en la memoria de un dispositivo electrónico. El dispositivo electrónico ejecuta las aplicaciones primera y segunda. Dicha parte de la ruta de vistas puede estar especificada en un área o ubicación de memoria asociada a la primera aplicación. La ruta de vistas puede determinarse totalmente basándose en información almacenada en el área o ubicación de memoria. La ruta de vistas puede actualizarse o determinarse totalmente basándose en las acciones del usuario. Las acciones del usuario pueden haber sido realizadas en la primera aplicación o en alguna otra aplicación que la precede. El área de memoria asociada a la aplicación es un almacén temporal, o un conjunto de almacenes temporales, a los cuales la primera aplicación, o el encaminador de vistas, tiene acceso. El área de memoria puede estar situada en un segmento de memoria asociado a la primera aplicación, o en un segmento que pertenece a otra aplicación a la cual la primera aplicación tiene acceso.
En una realización de la invención, el ordenador tiene una interfaz gráfica de usuario. La interfaz gráfica de usuario puede basarse, por ejemplo, en el sistema operativo SYMBIAN^{TM}, en Windows de Microsoft® o en otro sistema operativo. La vista puede comprender elementos de interfaz de usuario que pueden estar asociados a la entrada de datos o a la visualización de datos. La vista puede cubrir la región de visualización entera o bien puede estar en una ventana distinta que se abre cuando se lanza la vista.
En una realización de la invención, el programa de ordenador se almacena en un medio legible por ordenador. El medio legible por ordenador puede ser una tarjeta de memoria extraíble, un disco magnético, un disco óptico o una cinta magnética.
En una realización de la invención, el dispositivo electrónico es un dispositivo móvil, por ejemplo, un ordenador portátil, una agenda electrónica, un terminal móvil o un Asistente Personal Digital (PDA). En una realización de la invención, el dispositivo electrónico es un ordenador de mesa o cualquier otro dispositivo informático.
Las ventajas de la invención se refieren a la flexibilidad mejorada en el diseño de interfaces de usuario de aplicaciones. La invención proporciona una forma genérica de pasar datos dinámicamente entre un cliente y una aplicación servidora. La invención permite la actualización de las vistas dentro de una aplicación dada independientemente, sin la necesidad de actualizar otras aplicaciones. Por ejemplo, una aplicación cliente puede actualizarse sin cambiar las aplicaciones servidoras desde las cuales la aplicación cliente lanza las vistas. Un cambio en una aplicación no introduce automáticamente la necesidad de actualizar otras aplicaciones. Además, con la invención es posible definir dinámicamente nuevas rutas de vistas incluso durante el tiempo de ejecución de una aplicación.
Breve descripción de los dibujos
Los dibujos adjuntos, que se incluyen para proporcionar una mayor comprensión de la invención y que constituyen una parte de esta especificación, ilustran realizaciones de la invención y, junto con la descripción, ayudan a explicar los principios de la invención. En los dibujos:
La Fig. 1 es un diagrama en bloques que ilustra una secuencia de vistas de una aplicación de configuración de terminal de la técnica anterior;
La Fig. 2 es un diagrama en bloques que ilustra una aplicación de interfaz de usuario de la técnica anterior, que invoca una ruta de vistas;
La Fig. 3 es un diagrama en bloques que ilustra un encaminador de vistas utilizado por una aplicación de interfaz de usuario, según la invención;
La Fig. 4 es un diagrama en bloques que ilustra una estructura de datos para definir una ruta de vistas, según la invención;
La Fig. 5 es un diagrama en bloques que ilustra una estructura de datos para almacenar datos diarios de rutas de vistas, según la invención;
La Fig. 6 es un diagrama de flujo que ilustra una realización del procedimiento de encaminamiento de vistas utilizando un encaminador de vistas de la Fig. 3, según la invención;
La Fig. 7 ilustra un dispositivo electrónico, según la invención; y
La Fig. 8 ilustra un ordenador según la invención.
Descripción detallada de las realizaciones preferidas
Se hará ahora referencia en detalle a las realizaciones de la presente invención, cuyos ejemplos se ilustran en los dibujos adjuntos.
La Figura 3 es un diagrama en bloques que ilustra un encaminador de vistas utilizado por una aplicación de interfaz de usuario en una realización de la invención. La aplicación 310 es una aplicación de interfaz de usuario, que necesita invocar una cadena de vistas, es decir, una ruta de vistas, en la cual las vistas en la ruta de vistas son servidas por otras aplicaciones. Primero, la vista 312 está activa y se exhibe a un usuario. La vista puede comprender campos de ingreso de datos, listas de selección con barras deslizantes, botones de radio y otros elementos similares de interfaz de usuario. La vista 312 también comprende un elemento de interfaz de usuario para dar un comando de acción. El elemento puede ser, por ejemplo, un botón, un elemento de menú u otro objeto de control. La selección del elemento da como resultado el procesamiento de una ruta de vistas. La ruta de vistas puede estar especificada en un área o ubicación de memoria asociada a la aplicación 310, o bien la ruta de vistas está determinada sobre la base de las acciones anteriores del usuario en la aplicación 310, o en otra parte. De manera similar, sólo una parte de la ruta de vistas puede especificarse de antemano, y las otras vistas pueden añadirse dinámicamente a la ruta de vistas durante el curso del procesamiento en la aplicación 310, o durante el curso del procesamiento en cualquier aplicación anteriormente activa.
La ruta de vistas en la Figura 3 comprende la vista 321 de la aplicación 320, la vista 331 de la aplicación 330 y la vista 341 de la aplicación 340, en ese orden. El número preciso de vistas, aplicaciones y vistas dentro de una aplicación no es en absoluto restrictivo, y es sólo para fines ilustrativos. La información sobre la ruta de vistas deseada es proporcionada a un encaminador 300 de vistas desde la aplicación 310, llamando a un procedimiento general de invocación de rutas de vistas en la interfaz 301. El pasaje de información y la invocación de procedimientos entre dos aplicaciones se ilustra utilizando flechas, tales como las flechas 313, 323, 333 y 343. Inicialmente, la implementación del procedimiento en el encaminador 310 de vistas comienza procesando la información de la ruta de vistas. La ruta de vistas puede haber sido determinada por la aplicación 310 durante el tiempo de ejecución, según diversas condiciones, tales como el nivel de pericia del usuario y las opciones de elección posiblemente escogidas anteriormente en otras aplicaciones. Primero, el encaminador 300 de vistas lanza la vista 321 en la aplicación 320, llamando un procedimiento asociado a una interfaz 322. Durante este proceso, el usuario ingresa datos en la interfaz de usuario asociada a la vista 321. Cuando el usuario selecciona un elemento de interfaz que termina la vista 321, por ejemplo, el botón "Aceptar", la aplicación 320 llama a un procedimiento de escucha en la interfaz 302 asociada al encaminador 300 de vistas. Antes de eso, la aplicación 320 puede haber almacenado en memoria, para uso futuro, algunos datos que el usuario ha ingresado. El procedimiento de escucha es un procedimiento genérico, lo que significa que tiene los mismos parámetros, independientemente de la aplicación servidora, p. ej., la aplicación 320, la aplicación cliente, por ejemplo, la aplicación 310, y la vista. De esta manera, los detalles asociados a la aplicación cliente están ocultos. Cuando aún hay vistas pendientes en la ruta de vistas, el encaminador 300 de vistas continúa lanzando una segunda vista, esto es, la vista 331 dentro de la aplicación 330, mediante una interfaz 332. En una realización de la invención, a la aplicación 330 se pasa información recogida por la aplicación 320, tal como datos ingresados por el usuario. En general, a una vista lanzada dentro de una aplicación se pasa información recogida por la parte de la ruta de vistas que ya ha sido procesada. De esta manera, una vista anterior puede pasar información a una vista posterior. De aquí en más, el procesamiento continúa hasta que toda la ruta de vistas haya sido procesada.
Cuando toda la ruta de vistas ha sido procesada, el encaminador 300 de vistas llama a un procedimiento de escucha en una interfaz 314 de la aplicación 310. En una realización de la invención, el procedimiento de escucha proporciona información recogida por la ruta de vistas a la aplicación 310. Alguna información ingresada por el usuario puede almacenarse en memoria sólo en la aplicación 310, mientras que alguna información puede estar ya almacenada en aplicaciones cuyas vistas hayan sido lanzadas. En una realización de la invención, la información recogida por cada vista se reúne en una lista diaria. Queda para la aplicación 310, o para una aplicación aún en la ruta de vistas, analizar sintácticamente la información que se le ha pasado. Inspeccionando la lista diaria, la aplicación 310, o una vista que aún queda por lanzar en la ruta de vistas, es capaz de determinar qué información ha sido recogida en cada vista ya lanzada y procesada.
Hay dos aspectos que deben considerarse. Ante todo, lo que la aplicación que brinda el servicio (de ahora en adelante, aplicación proveedora o servidora) proporciona para otras aplicaciones. Y, en segundo lugar, lo que debe hacer la aplicación que se sirve de otras aplicaciones (de ahora en adelante, aplicación cliente). Ante todo, una aplicación servidora, por ejemplo, 320, es responsable de implementar vistas, comandos y estructuras de datos tanto para la aplicación cliente como para la servidora. Debe definir, implementar y exportar una cabecera especificada para la aplicación. El establecimiento de datos o de un diario se implementa como funciones en línea, lo que significa que no se requiere ninguna biblioteca para envolver los datos solicitados en un almacén temporal plano.
La aplicación cliente, por supuesto, debe saber qué datos se necesitan para ciertos comandos y senderos en la ruta. La proveedora, por otra parte, no necesita conocer o entender qué significan otros datos o comandos en el sendero. Sólo necesita saber cómo manipular debidamente los comandos que se le han solicitado.
La Figura 4 es un diagrama en bloques que ilustra una estructura de datos a fin de definir una ruta de vistas para un encaminador de vistas, tal como el encaminador 300 de vistas de la Figura 3 en una realización de la invención. La estructura de datos es la lista 400. La lista comprende las entradas 410, 420 y 430. Cada entrada especifica un Identificador de usuario de Aplicación, que es utilizado por el encaminador 300 de vistas para determinar la aplicación que tiene la vista a lanzar. La vista se identifica utilizando un Identificador de usuario de Vista. Si debe invocarse un comando asociado a la vista conjuntamente con el lanzamiento, un Identificador de Comando lo especifica. El comando, típicamente, es un procedimiento asociado a la vista, tal como "hallar". Por ejemplo, el procedimiento puede capturar datos asociados a un identificador de clave que se proporciona asociado a la llamada del procedimiento de lanzamiento. El campo Datos comprende datos a pasar a la vista a lanzar. La vista a lanzar es la especificada por el Identificador de usuario de Aplicación y el Identificador de usuario de Vista. El campo Índice de Etapa Siguiente proporciona un puntero a una siguiente entrada en la lista de rutas de vistas. En la última entrada de la lista el campo Índice de Etapa Siguiente contiene, por ejemplo, un puntero nulo. En una realización la información de ruta de vistas puede especificarse utilizando un documento en Lenguaje de Marcado Extensible (XML). En esta realización, el encaminador 300 de vistas analiza sintácticamente el documento XML para determinar la ruta de
vistas.
La Figura 5 es un diagrama en bloques que ilustra una estructura de datos para almacenar datos diarios de la ruta de vistas en una realización de la invención. La estructura de datos es una lista 500. La lista diaria contiene los datos devueltos desde cada aplicación. Hay una entrada para cada aplicación. La Figura 5 comprende las entradas 510, 520 y 530. Un Identificador de usuario de Aplicación especifica la aplicación que dejó los datos para la entrada. Un Identificador de usuario de Vista especifica la vista dentro de la aplicación que dejó los datos para la entrada. Los datos a devolver comprenden un campo de Datos. El campo Índice de Etapa Siguiente proporciona un puntero a una entrada siguiente en la lista diaria. En la última entrada este campo contiene, por ejemplo, un puntero nulo. La lista diaria se emplea para devolver datos a la aplicación llamante. Puede contener cualquier tipo de datos y cualquier número de entradas diarias.
En una realización de la invención, la información de la lista diaria puede especificarse utilizando un documento en Lenguaje de Marcado Extensible (XML). En esta realización, una aplicación posterior en la ruta de vistas de la aplicación cliente, p. ej., la aplicación 310 en la Figura 3, analiza sintácticamente el documento XML para determinar la lista diaria. En una realización los datos diarios no están organizado por aplicación y vista, sino, en cambio, por tipo de datos. Esto significa que el diario comprende un conjunto de pares de tipo y valor. Inspeccionando los tipos presentes en el diario, la aplicación 310 de la Figura 3, o una aplicación posterior en la ruta de vistas, es capaz de determinar qué datos ha rellenado el usuario. Por ejemplo, si está presente un tipo de "número telefónico", indica que el usuario ha rellenado el número telefónico en uno de los campos. Típicamente, los pares de tipo y valor se proporcionan en formato XML.
La Figura 6 es un diagrama de flujo que ilustra una realización del procedimiento de encaminamiento de vistas utilizando un encaminador de vistas de la Figura 3. En la etapa 600, una aplicación cliente determina que debe iniciar una ruta de vistas. Esto se debe a las selecciones anteriores del usuario y a algunas otras condiciones detectadas en la aplicación 310 de la Figura 3. Por ejemplo, si la aplicación 310 es una aplicación de configuración de terminal tal como la ilustrada en la Figura 1, puede haberse determinado en la aplicación 310 que no existen los parámetros de usuario necesarios.
En la etapa 602, inspeccionando el conjunto de parámetros de usuario faltantes, la aplicación 310 determina qué vistas deben lanzarse a fin de solicitar al usuario estos parámetros. Supongamos que la aplicación 310 determina que la ruta de vistas debe comprender la vista de las aplicaciones 320, 330 y 340, según se ilustra en la Figura 3. En una realización de la invención, la determinación de la ruta de vistas puede incluso ser llevada a cabo por alguna otra aplicación, que la aplicación 310 invoca para la tarea, y que devuelve la ruta de vistas determinada a la aplicación 310. La aplicación determinadora de la ruta de vistas puede efectuar la determinación de vistas basándose en tipos de elementos de información faltante, indicados por la aplicación 310. La ruta de vistas también puede determinarse utilizando información anteriormente almacenada en la memoria. En una realización de la invención, la aplicación de determinación de vistas es el encaminador 300 de vistas de la Figura 3. En la etapa 604, la aplicación 310 invoca al encaminador 300 de vistas. En una realización de la invención, el encaminador de vistas es una biblioteca que ha sido enlazada con la aplicación 310. En otra realización de la invención, el encaminador de vistas es una aplicación distinta. La aplicación 310 llama a un procedimiento asociado a la interfaz 301. Al encaminador 300 de vistas se le pasa la información de rutas de vistas. En una realización de la invención, la ruta de vistas se estructura según se ilustra en la Figura 4. La ruta de vistas es un objeto construido por la aplicación 310. La construcción efectiva tiene lugar mediante llamadas a procedimientos para añadir vistas a la ruta de vistas.
En la etapa 606, el encaminador 300 de vistas de la Figura 3 extrae la información perteneciente al siguiente elemento en la lista de entradas de la ruta de vistas. Por ejemplo, supongamos que la vista actual es la vista 321 dentro de la aplicación 320. En la etapa 608, el encaminador 300 de vistas lanza la vista indicada en la entrada actual de la lista de rutas de vistas. El encaminador 300 de vistas utiliza los parámetros Identificador de usuario de Aplicación, Identificador de usuario de Vista e Identificador de Comando para determinar cómo lanzar la vista. El contenido del parámetro Datos se pasa a la vista lanzada. En una realización de la invención, los datos recogidos por las vistas anteriormente procesadas en la ruta de vistas se pasan a la aplicación cuya vista está siendo lanzada. Los datos recogidos están en forma de una lista de entradas diarias, tal como la ilustrada en la Figura 5. En una realización de la invención, la vista se lanza de forma tal que se llama a un procedimiento asociado a la interfaz 322. El parámetro Datos representa a los parámetros del procedimiento. Puede haber un parámetro adicional para la lista de entradas diarias. Cuando el usuario ha rellenado algunos datos para la vista, la aplicación 320 obtiene los datos rellenados y devuelve al menos parte de ellos al encaminador 300 de vistas. En una realización de la invención, algunos datos ingresados por el usuario pueden almacenarse en la memoria ya en la aplicación 320. La aplicación 320 llama a un procedimiento de escucha asociado a la interfaz 302. Según se muestra en la Figura 3, el procedimiento de escucha y la interfaz son similares para todas las aplicaciones y vistas en la ruta de vistas. De esta manera, no dependen de la aplicación que invocó al encaminador 300 de vistas. En la etapa 610, se comprueba si los datos diarios deben ser recogidos por el encaminador 300 de vistas. En la etapa 612, el encaminador de vistas forma una entrada de diario que pertenece a los datos devueltos a él por la aplicación 320.
En la etapa 614, el encaminador 300 de vistas determina si hay más vistas en la ruta de vistas. En una realización de la invención, la determinación comprende verificar si hay más entradas en la lista de rutas de vistas. En una realización de la invención, también se determina si es necesario, en general, continuar procesando vistas de la ruta de vistas. Por ejemplo, el encaminador 300 de vistas puede determinar que el usuario ya ha ingresado todos los datos requeridos, y que no hay necesidad de procesar las vistas restantes en la ruta de vistas. También es igualmente posible que el usuario haya hecho una elección, durante el procesamiento de la última vista, que indica que no hay necesidad de procesar más vistas de la ruta de vistas. La elección puede ser, por ejemplo, que el usuario decide abandonar el proceso de entrada de información perteneciente a la ruta de vistas. Si hay más entradas que han de ser procesadas, el procedimiento continúa en la etapa 606.
En la etapa 616, los datos recogidos por las vistas en la ruta de vistas se devuelven a la aplicación 310. Incluso si todos los datos ingresados por el usuario han sido almacenados por las aplicaciones en la cadena de vistas, puede devolverse alguna información de estado a la aplicación 310. En una realización de la invención, los datos recogidos están en forma de una lista de entradas de diario, tal como la ilustrada en la Figura 5. El encaminador 300 de vistas llama a un procedimiento de escucha en la aplicación 310, asociado a la interfaz 314. De esta manera, el control retorna a la vista 312 dentro de la aplicación 310. En la etapa 618, la aplicación cliente finaliza las tareas para las cuales necesitaba la información reunida por las vistas en la ruta de vistas. A partir de allí, se termina la aplicación cliente.
La Figura 7 ilustra una realización de la invención, donde un dispositivo electrónico 700, tal como un terminal móvil, utiliza el procedimiento de encaminamiento de vistas. El dispositivo móvil está organizado para ejecutar un programa de ordenador, que implementa las funciones asociadas a la invención aquí revelada. El dispositivo electrónico 700 tiene el panel 710, las teclas 720 y 724 de funciones, un visor 730 y un dispositivo puntero 722. El visor 730 muestra una interfaz gráfica 722 de usuario en el cual se exhibe la vista perteneciente a diversas aplicaciones. El procedimiento de encaminamiento de vistas de la invención se utiliza para procesar las rutas de vistas asociadas a la interfaz gráfica 740 de usuario. Debería observarse que, en otras realizaciones de la invención, el dispositivo móvil tiene otros tipos de visores, teclados, u otros dispositivos de entrada y dispositivos punteros. En una realización de la invención, el dispositivo móvil está conectado con una red móvil, por ejemplo, un Servicio Universal de Telecomunicaciones Móviles (UMTS), un Sistema Global de red de comunicaciones Móviles (GSM) o una Red de Área Local Inalámbrica (WLAN).
La Figura 8 ilustra una realización de la invención, donde un ordenador 800 utiliza el procedimiento de encaminamiento de vistas. El ordenador está organizado para ejecutar un programa de ordenador, que implementa las funciones asociadas a la invención aquí revelada. El ordenador 800 tiene el visor 810, un teclado 820 y un dispositivo puntero 822 con botones 824 y 826. El visor presenta una interfaz gráfica 811 de usuario. La interfaz gráfica 811 de usuario comprende las ventanas 812 y 814. En la ventana 814 hay un campo 815 de texto y dos botones 816 y 818 de comando. Por ejemplo, la ventana 814 puede ser una vista lanzada conjuntamente con el procesamiento de una ruta de vistas según la invención. Incluso aunque en la Figura 8 el ordenador 800 parece mayormente un ordenador portátil actual, la invención es asimismo aplicable a ordenadores de mesa, ordenadores de mano, agendas electrónicas y grandes estaciones de trabajo. La invención es aplicable a tipos cualesquiera de interfaces de usuario, por ejemplo, interfaces de usuario basadas en texto, interfaces gráficas de usuario e interfaces de usuario basadas únicamente en la voz.
A continuación se ilustra la invención mediante algunos ejemplos de casos de empleo. Un primer caso de empleo demuestra la simplicidad para crear rutas de vistas y para cambiarlas.
Las aplicaciones individuales brindarían soporte a sus propias conmutaciones de vistas para configurar datos, tales como la ubicación, la hora, el punto de acceso a Internet, las configuraciones del correo electrónico, etc. Una aplicación de arranque de dispositivo podría crear una ruta de vistas que consiste en:
<Hora Mundial, Fijar Ubicación, "">
<Hora Mundial, Fijar Hora, "">
<Acceso a Internet, Crear nuevo punto de acceso, "">
<Mensajería, crear nueva configuración, "Correo electrónico">
<Arranque de Dispositivo, Fin, "">
Los elementos anteriores son de formato <Identificador de Aplicación, Comando, Datos>. La notación "" significa que no es necesario pasar ningún dato.
La aplicación Hora Mundial recibiría la ruta de vistas y tomaría el elemento superior. Permitiría luego exhibir la vista de la ubicación y solicitaría que el usuario seleccionara una ubicación. Una vez que el usuario ha seleccionado una, entonces la aplicación pediría el código de encaminamiento de vista, es decir, el encaminador de vistas para continuar la ruta. Esto llevaría a que se llamara nuevamente a la Hora Mundial, pero esta vez, para establecer la hora. Una vez que el usuario ha establecido la hora, entonces nuevamente la aplicación de Hora Mundial pediría al encaminador de vistas ir a la siguiente vista. Esto llevaría a una conmutación de vista a la aplicación de acceso a Internet, que pide entonces al usuario crear un nuevo punto de acceso a Internet. Una vez que el usuario ha creado un punto de acceso, la aplicación de Configuración de Internet pediría al encaminador de vistas ir a la siguiente vista, que, en este caso, es la aplicación de Mensajería.
La aplicación de Mensajería pide entonces al usuario crear una nueva cuenta de correo electrónico y, una vez hecho esto, la aplicación de Mensajería pide al encaminador de vistas continuar la ruta de vistas, y esto llevaría de vuelta a la aplicación que inició toda la ruta de vistas: la aplicación de Arranque de Dispositivo.
La aplicación de arranque de dispositivo recibe el mensaje de la ruta de vistas y sabe que su solicitud a las otras aplicaciones está completa, y por ello se va.
El segundo caso de empleo ilustra una necesidad de añadir la configuración de la información de propietario después de establecer la hora. Utilizando el encaminador de vistas, es fácil. La ruta simplemente se cambia a:
<Hora Mundial, Establecer Ubicación, "">
<Hora Mundial, Establecer Hora, "">
<Contactos, Establecer detalles de Contacto, "Tarjeta propia">
<Acceso a Internet, Crear nuevo punto de acceso, "">
<Mensajería, Crear nueva configuración, "Correo electrónico">
<Arranque de Dispositivo, Fin, "">
No es necesario cambiar ninguna aplicación más que la invocadora. Esta vez, después de que la aplicación de hora mundial ha acabado de establecer la hora, se conmuta a la aplicación de contactos y se ingresan los detalles personales.
La aplicación de contactos pide luego al encaminador de vistas continuar con la siguiente vista, que es la aplicación del punto de acceso a Internet.
El tercer caso de empleo ilustra el pasaje de datos entre aplicaciones. Supongamos que Ud. desea pedir al usuario que seleccione un documento de notas y que luego ponga el texto en la aplicación de procesamiento de la palabra. Una manera de hacer eso sería que la aplicación de procesamiento de la palabra creara y lanzara la siguiente ruta de vistas:
<Tomador de notas, Seleccionar documento, "", "">
<Procesador de la palabra, Insertar texto, "", "">
El formato anterior es <Aplicación, Comando, Datos para el comando, Datos devueltos del comando anterior>. Entonces, una vez que la aplicación de notas ha hecho que el usuario seleccione una nota, la ruta de vistas restante sería:
<Procesador de la palabra, Insertar texto, "", texto de la nota>
La aplicación de notas ha añadido datos a la siguiente entrada de la ruta de vistas, sin necesitar saber nada sobre ella. La aplicación de notas vería que la ruta de vistas no está vacía y pediría al encaminador de vistas que continúe la ruta de vistas, que ahora también tiene los datos pasados desde la aplicación de notas. Esto causaría que la vista volviera a la aplicación de procesamiento de la palabra e insertaría el texto en el documento actual.
El cuarto caso de empleo ilustra el pasaje extendido de datos. Supongamos que Ud. quiere ahora traducir la nota al francés antes de que sea insertada en el procesador de la palabra. Una forma de lograr eso sería que el procesador de la palabra creara la siguiente ruta de vistas:
<Tomador de notas, Seleccionar documento, "", "">
<Traductor, Traducir texto, "Francés", "">
<Procesador de la palabra, Insertar texto, "", "">
Después de que la aplicación de notas haya acabado de seleccionar una nota, la ruta de vistas sería:
<Traductor, Traducir texto, "Francés", texto de notas>
<Procesador de la palabra, Insertar texto, "", "">
Llamaría entonces al encaminador de vistas para continuar la ruta de vistas, que conmutaría al traductor para hacer la traducción.
Una vez que el usuario ha confirmado la traducción, la ruta de vistas se vería así:
<Procesador de la palabra, Insertar texto, "", texto traducido>
La aplicación de traducción concluiría que la ruta no estaba vacía y pediría al encaminador de vistas continuar la ruta de vistas, que volvería al Procesador de la palabra e insertaría el texto traducido.
En ningún punto durante la ruta necesitaron las aplicaciones a las que se conmuta ser conscientes de quién era el siguiente en la ruta de vistas. Sólo tuvieron que saber qué datos pasar al conmutar la vista, lo que definen ellas mismas.
Será obvio para una persona versada en la técnica que, con el avance de la tecnología, la idea básica de la invención puede implementarse de diversas maneras. La invención y sus realizaciones, por ello, no están limitadas a los ejemplos anteriormente descritos; por el contrario, pueden variar dentro del alcance de las reivindicaciones.

Claims (38)

  1. \global\parskip0.950000\baselineskip
    1. Un procedimiento para proporcionar interacción con el usuario, implementado en un dispositivo electrónico (700, 800), que comprende al menos una primera aplicación (320) y una segunda aplicación (330), comprendiendo dicha segunda aplicación al menos una vista, comprendiendo cada una de dichas vistas una combinación de un conjunto de elementos de entrada de interfaz de usuario y un conjunto de elementos informativos de interfaz de usuario, estando cada una de dichas vistas asociada a dicha segunda aplicación; en el cual dicha vista, o vistas, se presenta(n) a un usuario, caracterizado porque
    se determina una lista (400, 500) de vistas que comprende dicha vista, o vistas;
    dicha lista (400, 500) de vistas se pasa a un encaminador (300) de vistas desde dicha primera aplicación (320);
    dicho encaminador (300) de vistas lanza dicha vista, o vistas, comprendida(s) en dicha lista (400, 500) de vistas en dicha segunda aplicación, resultando dicho lanzamiento en la presentación de los elementos de dicha vista, o vistas, y dicha primera aplicación (310) continúa cuando al menos parte de dicha lista de vistas ha sido procesada.
  2. 2. El procedimiento según la reivindicación 1, comprendiendo adicionalmente el procedimiento:
    recoger datos de dicha vista, o vistas; y
    pasar dichos datos desde dicho encaminador (300) de vistas a dicha primera aplicación (320) o a una aplicación posterior en dicha lista (400, 500) de vistas.
  3. 3. El procedimiento según la reivindicación 1, en el cual dicha lista (400, 500) de vistas comprende información que identifica al menos una aplicación (320) y una vista asociada a la misma.
  4. 4. El procedimiento según la reivindicación 2, en el cual dichos datos están organizados en una lista diaria que comprende una entrada para cada vista en dicha lista (400, 500) de vistas.
  5. 5. El procedimiento según la reivindicación 2, en el cual dichos datos están organizados en una lista de pares de tipo y valor.
  6. 6. El procedimiento según la reivindicación 5, en el cual dichos pares de tipos y valores de datos están en un formato de lenguaje de marcado.
  7. 7. El procedimiento según la reivindicación 1, en el cual dicho dispositivo electrónico (700, 800) tiene una interfaz gráfica (740, 840) de usuario.
  8. 8. El procedimiento según la reivindicación 8, en el cual una vista es una ventana abierta durante dicha etapa de presentación.
  9. 9. El procedimiento según la reivindicación 1, en el cual dicho dispositivo electrónico (700, 800) es un dispositivo con el sistema operativo SYMBIAN^{TM}.
  10. 10. El procedimiento según la reivindicación 1, en el cual al menos parte de dicha lista está especificada en la memoria de dicho dispositivo electrónico (700, 800).
  11. 11. El procedimiento según la reivindicación 1, en el cual dicha lista está determinada sobre la base de las acciones del usuario.
  12. 12. Un dispositivo electrónico (700, 800), que comprende medios adaptados para ejecutar al menos una primera aplicación (320) y una segunda aplicación (330), comprendiendo dicha segunda aplicación al menos una vista, comprendiendo dicha vista, o vistas, una combinación de un conjunto de elementos de entrada de interfaz de usuario y un conjunto de elementos informativos de interfaz de usuario, estando cada vista, o vistas, asociada(s) a dicha segunda aplicación, estando dicho dispositivo electrónico configurado para presentar dicha vista, o vistas, a un usuario, caracterizado porque el dispositivo electrónico comprende:
    medios para determinar una lista (400, 500) de vistas que comprende dicha vista, o vistas;
    medios para pasar dicha lista (400, 500) de vistas a un encaminador (300) de vistas;
    medios adaptados para ejecutar dicho encaminador (300) de vistas configurado para obtener dicha lista (400, 500) de vistas y para lanzar dicha vista, o vistas, comprendida(s) en dicha lista (400, 500) de vistas, en dicha segunda aplicación, resultando dicho lanzamiento en la presentación de los elementos de dicha vista, o vistas, y
    medios para continuar dicha primera aplicación (310) cuando al menos parte de dicha lista (400, 500) ha sido procesada.
    \global\parskip1.000000\baselineskip
  13. 13. El dispositivo electrónico según la reivindicación 12, en el cual dicho encaminador (300) de vistas recoge datos de dicha vista, o vistas, en dicha lista de vistas, y pasa dichos datos a dicha primera aplicación (320) o a una aplicación posterior (330) en dicha lista de vistas.
  14. 14. El dispositivo electrónico según la reivindicación 12, en el cual dicha lista de vistas comprende información que identifica al menos una aplicación y una vista asociada a la misma.
  15. 15. El dispositivo electrónico según la reivindicación 13, en el cual dichos datos se organizan en una lista diaria que comprende una entrada para cada vista en dicha lista (400, 500) de vistas.
  16. 16. El dispositivo electrónico según la reivindicación 13, en el cual dichos datos se organizan en una lista de pares de tipo y valor.
  17. 17. El dispositivo electrónico según la reivindicación 13, en el cual dichos pares de tipos y valores de datos están en formato de lenguaje de marcado.
  18. 18. El dispositivo electrónico según la reivindicación 12, en el cual dicho dispositivo electrónico (700, 800) tiene una interfaz gráfica de usuario.
  19. 19. El dispositivo electrónico según la reivindicación 12, en el cual una vista está comprendida en una ventana (840).
  20. 20. El dispositivo electrónico según la reivindicación 12, en el cual dicho dispositivo electrónico es un dispositivo con el sistema operativo SYMBIAN^{TM}.
  21. 21. El dispositivo electrónico según la reivindicación 12, en el cual al menos parte de dicha lista está especificada en el área de memoria de dicho dispositivo electrónico.
  22. 22. El dispositivo electrónico según la reivindicación 12, en el cual dicha lista se determina sobre la base de las acciones del usuario.
  23. 23. Un programa de ordenador que comprende una primera aplicación (320) y una segunda aplicación (330), comprendiendo dicha segunda aplicación al menos una vista, comprendiendo dicha vista, o vistas, una combinación de un conjunto de elementos de entrada de interfaz de usuario y un conjunto de elementos informativos de interfaz de usuario, estando cada dicha vista, o vistas, asociada(s) a dicha segunda aplicación, y caracterizado porque el programa de ordenador está adaptado para llevar a cabo las siguientes etapas cuando se ejecuta en un sistema de procesamiento de datos:
    determinar una lista (400, 500) de vistas que comprende dicha vista, o vistas;
    pasar dicha lista de vistas a un encaminador (300) de vistas desde dicha primera aplicación (310);
    lanzar dicha vista, o vistas, comprendida(s) en dicha lista (400, 500) de vistas en dicha segunda aplicación, resultando dicho lanzamiento en la presentación de los elementos de dicha vista, o vistas; y
    continuar dicha primera aplicación cuando al menos parte de dicha lista (400, 500) de vistas ha sido procesada.
  24. 24. El programa de ordenador según la reivindicación 23, en el cual dicho programa de ordenador está almacenado en un medio legible por ordenador.
  25. 25. El programa de ordenador según la reivindicación 23, en el cual dicho medio legible por ordenador es una tarjeta de memoria extraíble.
  26. 26. El programa de ordenador según la reivindicación 23, en el cual dicho medio legible por ordenador es un disco magnético u óptico.
  27. 27. El programa de ordenador según la reivindicación 23, adicionalmente adaptado para llevar a cabo las siguientes etapas cuando se ejecuta en dicho sistema de procesamiento de datos:
    recoger datos de dicha vista, o vistas, en dicha lista (400, 500) de vistas; y pasar dichos datos desde dicho encaminador de vistas a dicha primera aplicación (310) o a una aplicación posterior (330) en dicha lista.
  28. 28. El programa de ordenador según la reivindicación 27, en el cual dicha lista de vistas comprende información que identifica al menos una aplicación y una vista asociada a la misma.
  29. 29. El programa de ordenador según la reivindicación 27, en el cual dichos datos se organizan en una lista diaria que comprende una entrada para cada vista en dicha lista (400, 500) de vistas.
  30. 30. El programa de ordenador según la reivindicación 27, en el cual dichos datos se organizan en una lista de pares de tipo y valor.
  31. 31. El programa de ordenador según la reivindicación 30, en el cual dichos pares de tipos y valores de datos están en formato de lenguaje de marcado.
  32. 32. El programa de ordenador según la reivindicación 23, en el cual dicho programa de ordenador tiene una interfaz gráfica (840) de usuario.
  33. 33. El programa de ordenador según la reivindicación 32, en el cual una vista es una ventana (840) abierta durante dicha etapa de presentación.
  34. 34. El programa de ordenador según la reivindicación 23, en el cual al menos parte de dicha lista de vistas está especificada en la memoria de un dispositivo electrónico.
  35. 35. El programa de ordenador según la reivindicación 23, en el cual dicha lista de vistas está determinado sobre la base de las acciones del usuario.
  36. 36. El programa de ordenador según la reivindicación 23, en el cual dicho programa de ordenador está diseñado para un sistema con el sistema operativo SYMBIAN^{TM}.
  37. 37. El programa de ordenador según la reivindicación 23, en el cual dicho encaminador (300) de vistas está comprendido en una biblioteca.
  38. 38. El programa de ordenador según la reivindicación 23, en el cual dicho encaminador (300) de vistas es una aplicación.
ES04767136T 2003-10-27 2004-10-27 Encaminamiento de vistas en aplicaciones de interfaz de usuario. Active ES2325442T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/694,568 US20050091400A1 (en) 2003-10-27 2003-10-27 View routing in user interface applications
US694568 2003-10-27

Publications (1)

Publication Number Publication Date
ES2325442T3 true ES2325442T3 (es) 2009-09-04

Family

ID=34522634

Family Applications (1)

Application Number Title Priority Date Filing Date
ES04767136T Active ES2325442T3 (es) 2003-10-27 2004-10-27 Encaminamiento de vistas en aplicaciones de interfaz de usuario.

Country Status (7)

Country Link
US (1) US20050091400A1 (es)
EP (1) EP1678603B1 (es)
KR (1) KR100866165B1 (es)
AT (1) ATE430960T1 (es)
DE (1) DE602004021015D1 (es)
ES (1) ES2325442T3 (es)
WO (1) WO2005041027A1 (es)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8438537B2 (en) * 2005-03-07 2013-05-07 Siemens Aktiengesellschaft System arrangement and method for automated application development with user guidance
US8935634B2 (en) 2005-12-21 2015-01-13 International Business Machines Corporation Displaying dynamic graphical content in graphical user interface (GUI) controls
US9009661B2 (en) 2008-12-18 2015-04-14 Adobe Systems Incorporated Platform sensitive application characteristics
US9009662B2 (en) * 2008-12-18 2015-04-14 Adobe Systems Incorporated Platform sensitive application characteristics
US20100235430A1 (en) * 2009-03-13 2010-09-16 Bruce Kim Methods and systems to provide services to a mobile device
US20100325565A1 (en) * 2009-06-17 2010-12-23 EchoStar Technologies, L.L.C. Apparatus and methods for generating graphical interfaces
US8634807B2 (en) 2011-10-17 2014-01-21 Blackberry Limited System and method for managing electronic groups

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4714918A (en) * 1984-04-30 1987-12-22 International Business Machines Corporation Window view control
US5542069A (en) * 1994-03-02 1996-07-30 Sun Microsystems, Inc. Method and apparatus for simulating input events in a windowed environment
US5737557A (en) * 1995-05-26 1998-04-07 Ast Research, Inc. Intelligent window user interface for computers
US5926177A (en) * 1997-10-17 1999-07-20 International Business Machines Corporation Providing multiple views in a model-view-controller architecture
US6002398A (en) * 1997-10-30 1999-12-14 Novell, Inc. Navigation between property pages with tabs and menus
US6065012A (en) * 1998-02-27 2000-05-16 Microsoft Corporation System and method for displaying and manipulating user-relevant data
US6161136A (en) * 1998-10-16 2000-12-12 Nortel Networks Limited High performance user interface and method of structuring same
US6335741B1 (en) * 1999-01-06 2002-01-01 International Business Machines Corporation Apparatus and method for user indication of model state in a model view controller
US7181686B1 (en) * 1999-10-29 2007-02-20 International Business Machines Corporation Selecting screens in a GUI using events generated by a set of view controllers
EP1170673A1 (en) * 2000-07-05 2002-01-09 Sony International (Europe) GmbH Portal application
US7114127B2 (en) * 2002-03-28 2006-09-26 International Business Machines Corporation Method, system and program product in a model-view-controller (MVC) programming architecture for inter-object communication with transformation
US7187376B2 (en) * 2002-06-04 2007-03-06 Sap Aktiengesellschaft Displaying views on computer screens

Also Published As

Publication number Publication date
WO2005041027A1 (en) 2005-05-06
KR100866165B1 (ko) 2008-10-31
US20050091400A1 (en) 2005-04-28
KR20060064003A (ko) 2006-06-12
EP1678603B1 (en) 2009-05-06
DE602004021015D1 (de) 2009-06-18
ATE430960T1 (de) 2009-05-15
EP1678603A1 (en) 2006-07-12

Similar Documents

Publication Publication Date Title
ES2456050T3 (es) Notificación de conectividad que muestra la ruta de acceso a la conexión
US8275844B2 (en) System and method for an extendable mobile communications device user interface
US8001120B2 (en) Recent contacts and items
CN101484870B (zh) 主屏幕接口集成应用和系统状态的方法及系统
JP5355627B2 (ja) 移動通信装置のコンタクトリストにおけるマッピング機能と情報とを関連付ける方法および装置
US8411100B2 (en) User interface and method for persistent viewing of a user selected folder on a mobile device
US7617458B1 (en) Managing navigation and history information
US7953804B2 (en) User interface for a handheld device
JP4958517B2 (ja) 携帯端末およびその表示制御方法
KR101159361B1 (ko) 유동적 속성을 적용하여 비동기 네트워크 요청들을실행시키는 시스템 및 방법
US20090031243A1 (en) Method and apparatus for controlling display of windows
US20070266316A1 (en) Display of Menu Items In a User Interface
KR100864578B1 (ko) 퀵 링크 기능을 구비한 모바일 위젯 서비스 제공 방법 및시스템
ES2320815T3 (es) Sistema y metodo para previsualizar temas.
ES2325442T3 (es) Encaminamiento de vistas en aplicaciones de interfaz de usuario.
JP2005517240A (ja) ユーザ・インタフェース
EP1956473A1 (en) System and method for accessing an icon of a handheld electronic device
JP2009163508A (ja) 情報処理装置及びプログラム
KR20230088427A (ko) 파일 송신 방법, 파일 송신 장치 및 전자기기
KR100789467B1 (ko) 소프트웨어 애플리케이션 다운로드
US8898187B2 (en) Default location that may be dynamically changed
WO2007057499A1 (en) Application interworking
JP2012226440A (ja) 情報処理装置及び機能グループ化方法
Musicante et al. Communicative action notation with shared storage
KR20080107868A (ko) 이동통신 단말기의 ic 칩 기반 컨텐츠 구동 장치 및 방법