ES2325442T3 - Encaminamiento de vistas en aplicaciones de interfaz de usuario. - Google Patents
Encaminamiento de vistas en aplicaciones de interfaz de usuario. Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital 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.
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.
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.
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.
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.
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.
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)
-
\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 porquese 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. El procedimiento según la reivindicación 1, comprendiendo adicionalmente el procedimiento:recoger datos de dicha vista, o vistas; ypasar 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. 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. 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. 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. 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. 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. El procedimiento según la reivindicación 8, en el cual una vista es una ventana abierta durante dicha etapa de presentación.
- 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. 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. El procedimiento según la reivindicación 1, en el cual dicha lista está determinada sobre la base de las acciones del usuario.
- 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, ymedios para continuar dicha primera aplicación (310) cuando al menos parte de dicha lista (400, 500) ha sido procesada.
\global\parskip1.000000\baselineskip
- 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. 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. 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. 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. 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. 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. El dispositivo electrónico según la reivindicación 12, en el cual una vista está comprendida en una ventana (840).
- 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. 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. 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. 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; ycontinuar dicha primera aplicación cuando al menos parte de dicha lista (400, 500) de vistas ha sido procesada.
- 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. El programa de ordenador según la reivindicación 23, en el cual dicho encaminador (300) de vistas está comprendido en una biblioteca.
- 38. El programa de ordenador según la reivindicación 23, en el cual dicho encaminador (300) de vistas es una aplicación.
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)
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)
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 |
-
2003
- 2003-10-27 US US10/694,568 patent/US20050091400A1/en not_active Abandoned
-
2004
- 2004-10-27 DE DE602004021015T patent/DE602004021015D1/de active Active
- 2004-10-27 KR KR1020067007927A patent/KR100866165B1/ko not_active IP Right Cessation
- 2004-10-27 ES ES04767136T patent/ES2325442T3/es active Active
- 2004-10-27 EP EP04767136A patent/EP1678603B1/en not_active Not-in-force
- 2004-10-27 AT AT04767136T patent/ATE430960T1/de not_active IP Right Cessation
- 2004-10-27 WO PCT/FI2004/000634 patent/WO2005041027A1/en active Application Filing
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 칩 기반 컨텐츠 구동 장치 및 방법 |