ES2707967T3 - Controles de menú contextual basado en objetos - Google Patents

Controles de menú contextual basado en objetos Download PDF

Info

Publication number
ES2707967T3
ES2707967T3 ES14826547T ES14826547T ES2707967T3 ES 2707967 T3 ES2707967 T3 ES 2707967T3 ES 14826547 T ES14826547 T ES 14826547T ES 14826547 T ES14826547 T ES 14826547T ES 2707967 T3 ES2707967 T3 ES 2707967T3
Authority
ES
Spain
Prior art keywords
action
user
identifier
identifiers
information
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
ES14826547T
Other languages
English (en)
Inventor
Jason Luke Wilson
Naveen Gavini
Steven Ramkumar
Anthony T Falzone
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.)
Pinterest Inc
Original Assignee
Pinterest Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Pinterest Inc filed Critical Pinterest Inc
Application granted granted Critical
Publication of ES2707967T3 publication Critical patent/ES2707967T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • 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
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0383Remote input, i.e. interface arrangements in which the signals generated by a pointing device are transmitted to a PC at a remote location, e.g. to a PC in a LAN

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)

Abstract

Un método implementado por ordenador, que comprende: bajo el control de uno o más sistemas informáticos configurados con instrucciones ejecutables: mantener múltiples conjuntos (400) de información para un usuario de un dispositivo informático (100), en el que un conjunto de información para un usuario incluye identificadores de objeto (420) asociados con objetos (412); recibir (602) una invocación de menú contextual en respuesta a una entrada del usuario que selecciona una representación de objeto (104) mostrada en una ubicación en una pantalla (102) del dispositivo informático, en el que la representación de objeto es una imagen que representa el objeto; determinar (604) el objeto seleccionado por la invocación del menú contextual; determinar (605) una pluralidad de acciones que pueden realizarse con respecto al objeto seleccionado; provocar la presentación (606) de un menú contextual (120) a un usuario que incluye una pluralidad de identificadores de acción (122A-122D), siendo cada uno de la pluralidad de identificadores de acción representativo de una respectiva de la pluralidad de acciones que pueden realizarse con respecto al objeto seleccionado; recibir (608) una selección de un identificador de acción de la pluralidad de identificadores de acción, en el que una pluralidad de opciones de acción está asociada con la acción representada por el identificador de acción seleccionado; determinar (610, 612) un subconjunto de opciones de acción al procesar la imagen que representa el objeto seleccionado para generar características representativas de la imagen y comparar las características generadas de la imagen para el objeto seleccionado con las características de otras imágenes asociadas con conjuntos mantenidos para el usuario; presentar al usuario identificadores de opciones de acción (122B1-122B3) representativos del subconjunto determinado de opciones de acción; y en respuesta a la selección (614) de una opción de acción presentada, provocar (616-624) el rendimiento de la acción representada por el identificador de acción seleccionado y/o la opción de acción seleccionada asociada.

Description

DESCRIPCION
Controles de menu contextual basado en objetos
Antecedentes
La gente interactua cada vez mas con ordenadores y otros dispositivos electronicos en formas nuevas e interesantes. Con el aumento, de. capacidades de procesamiento, el rastreo de conectividad y ubicacion, los dispositivos electronicos se han generalizado y utilizado en muchas actividades todos los dfas. Por ejemplo, la gente frecuentemente utiliza dispositivos electronicos para buscar productos, ver videos, escuchar musica, investigacion, comprar productos tanto digitales como ffsicos ("comercio electronico"), y recibir noticias, solo por nombrar algunos. Otros usos incluyen comunicacion con comunidades sociales, amigos y familia, fotograffa, y muchos otros.
El documento US 2009/231356 A1 divulga una interfaz grafica de usuario que comprende menus sensibles al contexto que se basan en diferentes partes de una imagen y se les ha dado una clasificacion de caractensticas. El sistema utiliza la informacion de la funcion para presentar comandos al usuario que son relevantes para la funcion. Esto significa que un usuario, mediante un comando de activacion, tal como hacer clic en un dispositivo de puntero del raton, puede acceder a un menu en el que el menu se relaciona con el area en la que se hace clic. Los comandos pueden presentarse cuando un usuario hace clic en el boton derecho u otro boton del raton del ordenador. Hacer clic con el boton derecho en el area de una imagen que se identifico como ojos puede presentar un menu contextual relacionado con los ojos. Los menus sensibles al contexto, y las opciones que proporcionan, estan asociados con la imagen en particular que se procesa y se muestra al usuario a traves de la interfaz proporcionada.
El documento US 2011/0093815 divulga la generacion de menus tnbridos, en los que los menus tnbridos comprenden menus primarios y submenus que tienen diferentes geometnas. Una jerarqrna de elementos del modelo apropiado para el contexto se recupera como una funcion del contexto en el que un usuario proporciona una entrada de seleccion. Un generador de diseno luego organiza los elementos dentro de cada menu para optimizar el tiempo de acceso, mientras observa las restricciones que preservan la capacidad del usuario para desarrollar la memoria muscular de las rutas a las ubicaciones de los elementos. El pedido de artroulos se realiza preferentemente. Por ejemplo, las reglas de ordenacion pueden efectuarse para ordenar segun criterios tales como el uso historico, la consistencia de la ubicacion u otros factores. Para optimizar los tiempos de acceso y descubrimiento, por ejemplo, los elementos utilizados con mas frecuencia deben aparecer en una posicion coherente en los menus radiales primarios o, si estan relegados a submenus lineales, deben aparecer primero en los submenus lineales. Idealmente, los artroulos se ordenan por el porcentaje de tiempo que los elementos son seleccionados por un usuario dentro de un contexto de tarea determinado. El documento US 2011/202879 divulga la visualizacion de un menu corto de contexto grafico en una pantalla de visualizacion de un dispositivo de comunicacion movil.
El menu corto del contexto grafico puede incluir elementos de menu predefinidos, preferencias del programador, seleccionadas o creadas por el usuario, los comandos mas comunmente usados en el contexto o los comandos mas frecuentemente usados por el usuario en el contexto.
Sumario
La invencion se refiere a un metodo implementado por ordenador y a un sistema informatico como se define en las reivindicaciones independientes 1 y 15, respectivamente. Las reivindicaciones dependientes definen realizaciones preferidas de la invencion. Estas y otras realizaciones se detallan a continuacion. El alcance de la invencion esta definido por las reivindicaciones.
Breve descripcion de los dibujos
La descripcion detallada se describe con referencia a las figuras adjuntas. En las figuras, el dfgito(s) de la izquierda de un numero de referencia identifica la figura en el cual el numero de referencia aparece primero. El uso de los mismos numeros de referencia en diferentes figuras indica artroulos similares o identicos.
La Figura 1A es un diagrama de bloques de una interfaz de usuario de ejemplo para presentar un menu contextual para un objeto, de acuerdo con una implementacion.
La Figura 1B es un diagrama de bloques de un menu contextual expandido, de acuerdo con una implementacion. La Figura 2 es un diagrama pictorico de un entorno de ejemplo que incluye un sistema de servidor y un dispositivo de cliente comunicativamente conectado a traves de una red.
La Figura 3 es un diagrama de bloques de una interfaz de usuario de ejemplo para presentar un menu contextual para un objeto, de acuerdo con una implementacion.
La figura 4 es un diagrama de bloques de una estructura de ejemplo de un grupo y un identificador de objeto, de acuerdo con una implementacion.
La Figura 5 es un diagrama de bloques de una interfaz de usuario de ejemplo para presentar identificadores de objeto a un usuario de acuerdo con una implementacion.
La Figura 6 muestra un proceso de menu contextual de ejemplo, de acuerdo con una implementacion.
La Figura 7 muestra un dispositivo informatico de ejemplo que puede utilizarse de acuerdo con varias implementaciones.
La Figura 8 muestra una configuracion de ejemplo de componentes de un dispositivo informatico, tal como se ilustra en la Figura 7.
La Figura 9 es un diagrama pictorico de una implementacion de ejemplo de un sistema de servidor que puede utilizarse para varias implementaciones.
Aunque las implementaciones se describen aqrn a manera de ejemplo, aquellos expertos en la tecnica reconoceran que las implementaciones no se limitan a los ejemplos o dibujos descritos. Se debe entender que los dibujos y la descripcion detallada del presente documento no pretenden limitar las implementaciones a la forma particular descrita, sino que, de lo contrario, la intencion es cubrir todas las modificaciones, equivalentes y alternativas que caen dentro del alcance de la invencion como se define por las reivindicaciones adjuntas. Los encabezados utilizados aqrn son para propositos de organizacion unicamente y no pretenden utilizarse para limitar el alcance de la descripcion o las reivindicaciones. Como se utiliza a traves de esta solicitud, la palabra "puede" se utiliza en un sentido permisivo (es decir, lo que significa que tiene el potencial de), en lugar del sentido obligatorio (es decir, que significa debe de). Similarmente, las palabras "incluye”, "que incluye", e "incluyendo" significa que incluye, pero no se limita a.
Descripcion detallada
Esta divulgacion describe, en parte, sistemas y metodos que permiten a los usuarios tomar acciones en un objeto utilizando un menu contextual que es independiente de la aplicacion y/o programa a traves del cual el objeto se presenta. Por ejemplo, un usuario puede ver un objeto (por ejemplo, imagen) en una pantalla de un dispositivo informatico, invocar un menu contextual y seleccionar una accion desde un grupo de acciones disponibles del menu contextual y tener esa accion realizada en el objeto seleccionado. Como se discute en detalle adicional a continuacion, las acciones y/o el mismo menu contextual pueden ser independientes de la aplicacion a traves del cual el objeto se presenta. De la misma forma, el desempeno de las acciones puede ser local al dispositivo y/o remoto desde el dispositivo.
La Figura 1A es un diagrama de bloques de una interfaz de usuario de ejemplo para presentar un menu contextual para un objeto, de acuerdo con una implementacion. El ejemplo presentado con respecto a la Figura 1A ilustra una implementacion para presentar un menu contextual 120 a un usuario e iniciar el desempeno de una accion basandose en una seleccion de un identificador de accion del usuario. En este ejemplo, un usuario, Adam, puede utilizar un dispositivo informatico portatil 100 que incluye una pantalla basada en tacto 102 para ver multiples imagenes 104, 106, 108, 110, 112 (cada imagen es un ejemplo de un "objeto", como se discute aqrn). Los objetos pueden presentarse al usuario utilizando cualquier aplicacion, tal como una fuente de noticias, aplicacion de red social, video, observador de fotograffa, aplicacion de correo electronico, navegador de Internet, etc. Aunque al ver los objetos, el usuario, Adam, puede seleccionar uno de los objetos, tal como una imagen de un tiburon 104, al colocar su dedo u otro dispositivo de entrada en la pantalla 102 del dispositivo informatico portatil 100 y dejando al dispositivo de entrada tocar la pantalla 102 durante un penodo de tiempo (por ejemplo, 2 segundos) (este proceso de seleccion se refiere aqrn como una "pulsacion larga"). La seleccion del objeto y/o la pulsacion larga tambien puede considerarse un comando de invocacion para invocar un menu contextual. En respuesta al comando de invocacion 111, un menu contextual 120 puede presentarse al usuario que incluye uno o mas identificadores de accion 122A-122D. En este ejemplo, cada identificador de accion se representa por un cfrculo grafico. En otras implementaciones, los identificadores de accion pueden presentarse utilizando cualquier tipo de grafico u otra forma identificable de usuario, posicion, color, sonido, etc. De la misma forma, aunque este ejemplo incluye cuatro identificadores de accion, otras implementaciones pueden incluir cuatro identificadores de accion adicionales o menos. En algunas implementaciones, los identificadores de accion pueden representarse textualmente, utilizando imagenes, o una combinacion tanto de texto como imagenes.
Un objeto puede seleccionarse y/o el menu contextual invocado utilizando acciones distintas a o ademas de, una entrada tactil en una pantalla. Por ejemplo, un usuario puede flotar su dedo (u otro dispositivo de entrada) una distancia definida sobre el objeto presentado y hacer que se detecte el puntero. En otro ejemplo, imagenes de la cabeza del usuario y/u ojos pueden capturarse y procesarse para determinar una direccion de mirada del usuario y la direccion de unidad utilizada como la seleccion.
Los identificadores de accion pueden representar una o mas acciones que pueden realizarse en el objeto seleccionado. Por ejemplo, una accion puede enviarse a un mensaje (por ejemplo, correo electronico, sistema de mensaje corto (SMS), sistema de mensaje multimedia MMS)) que incluye el objeto, publica el objeto en un sitio de red social o plataforma, agrega un comentario al objeto, compra el objeto, busca objetos similares, agrega el objeto a un grupo: mantenido para el usuario por un servicio de gestion de objeto (discutido a continuacion), retirar el objeto de un grupo mantenido para el usuario por un sistema de gestion de objeto, promover el objeto, identificar otros usuarios que han tomado acciones con respecto al objeto, reportar el objeto (por ejemplo, reportar el objeto como ofensivo al sistema de gestion objeto), guardar el objeto en el dispositivo, descargar el objeto, etc. Como se discute a continuacion, las acciones pueden realizarse localmente en el dispositivo y/o en las ubicaciones remotas (por ejemplo, el servicio de gestion objeto).
En algunas implementaciones, las acciones y los identificadores de accion correspondientes presentados como parte del menu contextual pueden ser contextuales y determinarse basandose en una o mas de una identidad del usuario, una accion previa seleccionada por el usuario, un objeto, un objeto previo seleccionado por el usuario, y/o una relacion entre el objeto y el usuario, etc. Por consiguiente, cada vez que un menu contextual se presenta, puede ser diferente dependiendo del usuario, actividades actuales y/o pasadas del usuario, el objeto seleccionado, etc.
Por ejemplo, selecciones de accion previa por el usuario, preferencias definidas por usuario, acciones realizadas en objetos previos seleccionados por el usuario que son similares a los objetos seleccionados. actualmente, etc., pueden considerarse y utilizarse para seleccionar uno o mas identificadores de usuario para presentarse como parte del menu contextual. En un ejemplo, una funcion de ponderacion puede utilizarse para determinar acciones e identificadores de accion correspondientes para presentar al usuario con el menu contextual. La funcion de ponderacion puede considerar acciones pasadas seleccionadas por un usuario y cada accion dada de un valor de ponderacion decadente basandose en un tiempo desde que se realizo la ultima accion. De la misma forma, para cualquiera de las acciones realizadas por el usuario mientras que la misma area de pantalla o similar de donde el menu contextual esta siendo invocado puede ser la ponderacion adicional dada. Cada uno de los valores de ponderacion de accion previos entonces pueden sumarse (a las mismas acciones realizadas en diferentes tiempos combinados) y las acciones con los valores de ponderacion mas altos pueden presentarse al usuario como parte del menu contextual. En otras implementaciones, el objeto seleccionado actualmente puede procesarse (por ejemplo, utilizando algoritmos de reconocimiento de imagen) y compararse con otros objetos previamente seleccionados por el usuario y acciones realizadas en objetos previos teniendo una alta similitud con el objeto seleccionado actualmente puede ser un peso adicional dado.
En algunas implementaciones, el menu contextual tambien puede identificar el objeto seleccionado y/o incluir un identificador de entrada que identifica la ubicacion proxima de la entrada recibida. Por ejemplo, la ubicacion del comando de invocacion se representa en la Figura 1A por el identificador de entrada 123 bajo el dedo del usuario. Los identificadores de accion pueden presentarse alrededor y una distancia definida del identificador de entrada para permitir la seleccion facil por el usuario. Por ejemplo, como se ilustra en la Figura 1A, los identificadores de accion pueden cada uno presentarse como una distancia predefinida del identificador de entrada en un patron radial alrededor del identificador de entrada. En otras implementaciones, los identificadores de entrada pueden presentarse en diferentes configuraciones y/u orientaciones.
En la pantalla del menu contextual 120, el usuario entonces puede retirar su dedo (u otro dispositivo de entrada) de la pantalla basada en tacto 102 y/o deslizar su dedo (u otro dispositivo), a lo largo de la pantalla para uno de los identificadores de accion 122A-122D y seleccionar un identificador de accion 122A-122D por, por ejemplo, presion prolongada del identificador de accion (por ejemplo, dejando su posicion de dedo sobre el identificador de accion durante un penodo de tiempo definido por ejemplo, 2 segundos) o retirar su dedo de la pantalla para seleccionar el identificador de accion en el cual su dedo se posiciono cuando se removio de la pantalla. Por ejemplo, el usuario, Adam, puede seleccionar un identificador de accion 122A el cual se refiere a agregar el objeto a un grupo mantenido por el usuario por un servicio de gestion de objeto al mover su dedo sobre el identificador de accion 122a y retirar su dedo de la pantalla.
Similar a invocar el menu contextual, otras entradas tal como la deteccion de mirada, puntero, etc., puede utilizarse para seleccionar un identificador de accion.
AI recibir la seleccion de un identificador de accion, la accion que corresponde al identificador de accion seleccionado puede iniciarse. En este ejemplo, el inicio de la accion incluye enviar la informacion de accion al servicio de gestion de objeto. La informacion de accion puede incluir el objeto, informacion de usuario, comandos de accion, y/u opcionalmente informacion adicional sobre el objeto (por ejemplo, fuente del objeto, titular de los derechos del objeto, etc.).
El servicio de gestion de objeto, al recibir la informacion de accion, puede realizar la accion identificada. En este ejemplo, el servicio de gestion de objeto puede crear un identificador de objeto para el objeto y asociar el identificador de objeto creado con un grupo mantenido por el servicio de gestion de objeto por el usuario. En algunas implementaciones, como se discute a continuacion con respecto a la Figura 1B, despues de la seleccion de un identificador de accion, una o mas opciones de accion que corresponden a la accion seleccionada pueden determinarse y un identificador de opcion de accion correspondiente presentada al usuario para seleccion.
Para propositos de discusion, un "identificador de objeto", como se utiliza aqm, es una coleccion de uno o mas artfculos de informacion que identifica un objeto. El identificador de objeto puede incluir cualquier combinacion de una representacion para el objeto, tal como una representacion grafica, representacion audible, u otra representacion del objeto, un contexto para el objeto como se entiende por el usuario, una descripcion del objeto proporcionado por el usuario; informacion estatica sobre el objeto, informacion suplementaria sobre el objeto, el grupo al cual el objeto pertenece (discutido a continuacion); la fuente del objeto; cualquier identificador de objeto padre del cual el identificador de objeto se creo; y cualquier identificacion de otros identificadores de objetos similares. Como se apreciara, artfculos adicionales o menos de informacion pueden incluirse en un identificador de objeto.
Un contexto representa informacion sobre un objeto como se entiende por el usuario. El contexto explica porque el objeto es importante para el usuario que creo el identificador de objeto. En algunas implementaciones, el contexto(s) puede proporcionarse directamente por el usuario o determinarse basandose en otra informacion proporcionada por o sobre el usuario. Informaciones estaticas sobre un objeto puede ser cualquier informacion sobre el objeto que no cambia. Tal informacion puede proporcionarse por el usuario, por otros usuarios, por fuentes externas, y/o por metodos y sistemas aqm descritos.
Informacion suplementaria, como se utiliza aqm, puede ser cualquier informacion adicional que puede asociarse con una representacion de un objeto, un identificador de objeto y/o un grupo. En algunas implementaciones, la informacion suplementaria puede ser actualizada periodicamente por fuentes externas, usuarios, y/o incluir acciones que pueden realizarse por usuarios que interaction con el identificador de objeto. Por ejemplo, informacion suplementaria puede incluir informacion local ya sea en un objeto. Cuando un usuario observa el identificador de objeto, la informacion suplementaria puede actualizarse automaticamente para mostrar el clima actual en la ubicacion o el clima pronosticado en la ubicacion durante el tiempo que el usuario planea visitar.
La informacion suplementaria asociada con un identificador de objeto puede proporcionarse por una o fuentes multiples. Por ejemplo, si el objeto identificado por un identificador de objeto es una television, la fuente del objeto puede ser Sony, el fabricante de la television. Sony puede proporcionar informacion suplementaria sobre la television, tal como las dimensiones, peso, caractensticas, etc. Otras fuentes externas, tal como revendedores de television, tambien pueden asociarse con y proporcionar informacion suplementaria para el objeto. Por ejemplo, cada vendedor de la television puede proporcionar informacion suplementaria que identifica su precio, ubicacion, horas de operacion, etc.
Los metodos y sistemas aqm descritos ademas permiten a los usuarios gestionar, buscar, compartir y descubrir objetos al organizar identificadores de objeto en "grupo". Por ejemplo, los usuarios pueden crear uno o mas grupos y, en respuesta recibir una accion seleccionada de un menu contextual para un objeto, tienen un identificador de objeto representativo del usuario de objeto seleccionado automaticamente asociado con un grupo. Generalmente, un "grupo" es una coleccion de identificadores de objetos creados por un usuario. En una implementacion, cada grupo puede incluir cualquier numero de identificadores de objeto, incluyendo cero (un grupo nulo). Un identificador de objeto puede asociarse con uno o mas grupos. En una implementacion, un identificador de objeto puede unicamente asociarse con un grupo.
Los usuarios pueden crear identificadores de objeto y agregarlos a los grupos a traves de interaccion con un menu contextual y seleccionarlos para agregar un objeto a un grupo. Un "objeto" puede ser cualquier cosa que pueda representarse. Por ejemplo, un usuario puede interactuar con un menu contextual para crear un identificador del objeto para un show de television, una imagen, un objeto ffsico, un sonido, un olor, una pagina web, una ubicacion, un objeto digital, y similares. Los identificadores de objeto creados con representaciones proporcionados o identificados por un usuario se consideran relaciones de identificador de objeto padres. Los identificadores de objeto basandose en identificadores de objeto existentes se consideran identificadores de objeto hijos. Un identificador de objeto puede tener cualquier numero de identificadores de objeto padre y/o hijo. Como se discutio ademas a continuacion, relaciones (por ejemplo, padre/hijo) entre identificadores de objeto puede mantenerse para permitir a los usuarios descubrir otros objetos y para entender la fuente del objeto representado por un identificador de objeto. La Figura 1B es un diagrama de bloques de una interfaz de usuario de ejemplo para presentar identificadores de opcion de accion en la seleccion de una accion de un menu contextual presentado, de acuerdo con una implementacion. En algunas implementaciones, cuando un usuario selecciona un identificador de accion, una o mas opciones de accion pueden determinarse y corresponder a identificadores de opcion de accion 122B1-122B3 presentados al usuario para seleccion. Aunque el ejemplo ilustrado en la Figura 1B muestra tres identificadores de opcion de accion, en otras implementaciones puede haber algunas o mas opciones de accion e identificadores de opcion de accion correspondientes presentados al usuario.
Las opciones de accion pueden ser cualquiera de las opciones que corresponden a una accion seleccionada. Por ejemplo, si el usuario selecciona la accion de agregar el objeto a un grupo mantenido por el usuario por el servicio de gestion de objeto, las opciones de accion pueden identificar diferentes grupos mantenidos por el usuario por el servicio de gestion de objeto al cual el objeto puede agregarse. Por ejemplo, si el usuario ha creado mas de un grupo, el servicio de gestion de objeto puede determinar los grupos que son probablemente mas para ser seleccionados por el usuario y los identificadores de opcion de accion representativos de estos grupos pueden presentarse al usuario para seleccion.
Para ilustrar, haciendo referencia brevemente de nuevo la Figura 1A, si el usuario selecciona una imagen 104 de un tiburon y selecciona la opcion de agregar la imagen del tiburon a un grupo mantenido por el usuario por el servicio de gestion de objeto, el servicio de gestion de objeto puede determinar grupos asociados con el usuario que muy probablemente son seleccionados por el usuario para agregar la imagen seleccionada (opciones de accion). Los identificadores de opcion de accion representativos de estas opciones de accion pueden presentarse al usuario. por ejemplo, si el usuario ha creado cinco grupos que se mantienen por el usuario por el servicio de gestion de objeto, el grupo uno contiene imagenes de pez, el grupo dos contiene imagenes de construcciones, el grupo tres contiene imagenes de caractensticas de agua, el grupo cuatro contiene imagenes de perros y el grupo cinco contiene imagenes de coches, el servicio de gestion de objeto puede determinar cual de estos grupos es mas probable que se agrupe en el cual el usuario desea asociar la imagen seleccionada. La determinacion de los grupos puede lograrse utilizando una variedad de tecnicas. Por ejemplo, el servicio de gestion de objeto puede considerar informacion sobre la imagen seleccionada (por ejemplo, metadatos), el ultimo grupo al cual el usuario ha agregado una imagen, los metadatos sobre los grupos, identificadores de objeto asociados con los grupos, imagenes asociadas con los grupos, informacion contextual sobre la imagen seleccionada, grupos mantenidos para el usuario por el servicio de gestion de objeto, etc.
Regresando al ejemplo, el servicio de gestion de objeto puede determinar que el grupo contiene imagenes de pescados y el grupo que contiene imagenes de caractensticas de agua son muy probablemente grupos para adicion de la imagen seleccionada. Basandose en la determinacion, los identificadores de opcion de accion representativos de aquellos grupos (opciones de accion) pueden presentarse al usuario para seleccion. Por ejemplo, el identificador de opcion de accion 122B1 puede corresponder al grupo que incluye imagenes de pescado, y el identificador de opcion de accion 122B2 puede corresponder al grupo que incluye imagenes de caractensticas de agua: El identificador de opcion de accion 122B3 puede representar una opcion de menu que es seleccionable por el usuario al seleccionar otras opciones de accion disponibles que corresponden a la accion seleccionada.
Un usuario, puede seleccionar un identificador de opcion de accion en una forma similar a la seleccion de una accion. Por ejemplo, el usuario puede tocar la representacion de la opcion de accion en la pantalla de pantalla utilizando una pulsacion larga y/o el usuario puede deslizar su dedo 110 (u otro dispositivo de entrada) del identificador de accion seleccionado 122B al identificador de opcion de accion deseado 122B1-122B3. La opcion de accion puede seleccionarse por la pulsacion larga del usuario en la opcion de accion, retirando su dedo de la pantalla despues de que su dedo se coloco sobre la opcion de accion, la deteccion de mirada, hacer flotar su dedo sobre la opcion de accion, etc.
Despues de la seleccion de una opcion de accion, la accion seleccionada se realiza por la accion seleccionada y la opcion de accion correspondiente: En algunas implementaciones, incluso si las opciones de accion se presentan, el usuario no puede seleccionar una opcion de accion y en su lugar iniciar la accion como si no hubiera opciones de accion presentadas. Continuando con el ejemplo anterior, mientras el dedo del usuario sigue colocado en la pantalla en la ubicacion del identificador de accion seleccionado, el usuario puede iniciar la accion seleccionada al retirar su dedo de la pantalla. En tal implementacion, en lugar de que la accion se realice para el objeto y una opcion de accion seleccionada, la accion se inicia con respecto al objeto seleccionado. Por ejemplo, si la accion seleccionada se agrega al objeto a un grupo mantenido por el usuario por el servicio de gestion de objeto, cuando el usuario inicia la accion sin seleccionar una opcion de accion, una lista u otra pantalla de grupos mantenidos por el usuario puede presentarse por el usuario para seleccion. El usuario puede entonces seleccionar un grupo con el cual el objeto esta asociado.
Si el usuario decide que no quieren realizar una accion, pueden cancelar el menu contextual al mover su dedo (u otro dispositivo de entrada) a un area que no incluye el identificador contextual. Por ejemplo, haciendo referencia a la Figura 1B, en lugar de que se seleccione una opcion de accion 122 o inicie la accion, el usuario puede deslizar su dedo hacia abajo en la pantalla y el menu contextual se cancela y retira de la pantalla.
La Figura 2 es un diagrama pictorico de un entorno de ejemplo 200 que incluye usuarios 201, tal como usuarios 201(1), 201(2)-201(N), un sistema de servidor 202 que incluye una o mas ordenadores de servidor 202(1), 202(2)-202(n ), uno o mas dispositivos de cliente 204, tal como el dispositivo de cliente 204(1), 204(2), 204(3)-204(N), y una o mas fuentes externas 206, tal como una oferta de servicio 206(1), restaurante 206(2), sitio web 206(3), usuario 206(4)-tienda 206(N), comunicativamente conectado a traves de una red 208. Corno se apreciara, cualquier numero y/o tipo de sistemas de servidor 202, dispositivos de cliente 204 y/o fuentes externas 206 pueden incluirse en el entorno 200 y aquellos ilustrados en la Figura 2 son unicamente de ejemplo. Por lo tanto, cualquier numero de usuarios 201 puede incluirse en el entorno 200. Para propositos de esta discusion, el termino "usuario" se utilizara aqrn para referirse a un individuo que interactua con el sistema de servidor 202, dispositivo de cliente 204, y/o el servicio de gestion de objeto 210 (discutido a continuacion).
La red 208 puede incluir una red de area local, una red de area ancha, tal como una red de telefono conmutada publica (PSTN), una red de television por cable, una red satelital, una coleccion de redes, una red de protocolo de Internet publica, una red de protocolo de Internet privada, o una combinacion de los mismos. Ademas, la red 208 puede ser por cable, inalambrica, o una combinacion de los dos. El sistema de servidor 202 tambien puede incluir un almacenamiento de datos de asignacion 212, un almacenamiento de datos de identificador de objeto 214, un almacenamiento de datos de grupo 216, un almacenamiento de datos de fuente 218, y un almacenamiento de datos de perfil de usuario 220. Como se discute ademas a continuacion, los almacenamientos de datos pueden incluir listas, conjuntos, bases de datos, y otras estructuras de datos utilizadas para proporcionar almacenamiento y recuperacion de datos. Asimismo, aunque la descripcion describe almacenamientos de datos multiples, en algunas implementaciones, los almacenamientos de datos pueden configurarse como un almacenamiento de datos particular o almacenamientos de datos multiples.
Los almacenamientos de datos de asignacion 212, almacenamiento de datos de identificador de objeto 214, almacenamiento de datos de grupo 216, almacenamientos de datos de fuente 218, y almacenamientos de datos de perfil de usuario 220 pueden integrarse con el sistema de servidor 202 o de otra forma acoplarse comunicativamente con el sistema de servidor 202. Por ejemplo, uno o mas de los almacenamientos de datos de asignacion 212, almacenamiento de datos de identificador de objeto 214, almacenamientos de datos de grupo 216, almacenamiento de datos de fuente 218, y almacenamientos datos de perfil de usuario 220 pueden localizarse en un recurso informatico remoto (no mostrado) y acoplarse comunicativamente con el sistema de servidor 202. En algunas implementaciones, el almacenamiento de datos de asignacion 212, almacenamiento de datos de identificador de objeto 214, almacenamiento de datos de grupo 216, almacenamiento de datos de fuente 218, y almacenamiento de datos de perfil de usuario 220 pueden incluir una o mas unidades CD-RW/DVD-RW, unidades de disco duro, unidades de cinta, unidades opticas, u otros dispositivos de almacenamiento que se utilizan para almacenar contenido de informacion digital. El sistema de servidor 202, de manera separada o junto con el almacenamiento de datos de asignacion 212, almacenamiento de datos de identificador de objeto 214, almacenamiento de datos de grupo 216, almacenamiento de datos de fuente 218, y almacenamiento de datos de perfil de usuario 220, pueden proporcionar un servicio de gestion de objeto 210 que responde al inicio de un usuario de una accion en un objeto a traves de un menu contextual. Por ejemplo, el servicio de gestion de objeto 210 puede recibir informacion de accion de un dispositivo 204 y realizar estas acciones.
En algunas implementaciones, el sistema de servidor 202 tambien puede configurarse para intercambiar informacion con una o mas fuentes externas 206. Las fuentes externas 206 pueden incluir cualquier tipo de entidad y/o individuo(s) que proporciona un servicio, producto o informacion que puede utilizarse para suministrar un identificador de objeto y/o representacion de un objeto. Por ejemplo, las fuentes externas 206 pueden incluir una oferta de servicio 206(1) tal como el clima local, tiempo, transmision de video de una ubicacion, etc., restaurantes 206(2), sitios web 206(3), usuarios 206(4), y tiendas 206(N), tal como una tienda de juguetes, tienda de comestibles, tienda de comercio electronico (comercio electronico), librena, etc. Las fuentes externas pueden asociarse con una ubicacion(es) fija, tal como su lugar de negocios, una ubicacion que puede cambiar, (por ejemplo, grna de excursion, proveedor de salud movil), dependiendo de la ubicacion actual de las fuentes externas, o ninguna ubicacion en absoluto (por ejemplo, negocios digitales o virtuales). Los negocios digitales o virtuales, tal como sitios web 206(3) incluyen cualquier forma de comercio electronico u otra oferta digital que puede proporcionar informacion suplementaria.
Por ejemplo, un sitio de comercio electronico puede incluir codigo que presenta un menu ,contextual para un objeto en respuesta a un usuario que invoca el menu contextual para el objeto (por ejemplo, recibir una pulsacion larga en el objeto). Un usuario cuando observa el sitio web puede invocar el menu contextual e iniciar una accion en el objeto seleccionado, el cual puede incluir el servicio de gestion de objeto creando un identificador de objeto representativo del objeto y asociando ese identificador de objeto con un grupo mantenido por el servicio de gestion de objeto para ese usuario.
En algunas implementaciones, la fuente externa 206 puede interactuar con el servicio de gestion de objeto 210 y proporcionar representaciones para objetos a lo largo de la informacion suplementaria que entonces podna utilizarse para formar identificador de objetos para usuarios. Por ejemplo, si la fuente externa 206 es una estacion de transmision de television, la estacion de transmision de television puede proporcionar representaciones graficas para eventos de transmision, comerciales, etc. La estacion tambien puede 1 proporcionar otra informacion suplementaria para aquellos mostrados la cual puede incluir, entre otras cosas, informacion sobre el evento y/u objetos representados en el evento (por ejemplo, actores, productos, ubicaciones, genero, ano, configuracion), informacion sobre la estacion de transmision, etc. Cuando un usuario invoca un menu contextual para el evento (un objeto) o un objeto representado en el evento, la informacion suplementaria puede utilizarse por el servicio de gestion de objeto para realizar la accion solicitada con respecto al objeto.
La fuente externa tambien puede actualizar periodicamente uno o mas artfculos de informacion suplementaria. Estas actualizaciones se reflejan en los identificadores de objeto que incluyen la representacion y/o informacion suplementaria proporcionada por la fuente externa.
Regresando a la Figura 2, los dispositivos de cliente 204 pueden incluir ordenadores personales, ordenadores de tableta, dispositivos lectores de libros electronicos, ordenadores portatiles, ordenadores de escritorio, netbooks, asistentes digitales personales (PDA), dispositivo de juego portatiles, dispositivos de comunicacion inalambricos, tales como telefonos inteligentes o auriculares moviles, descodificadores, consolas de juego, camaras, grabadores de audio, reproductores, o cualquier combinacion de los mismos. Como, se escribira con respecto a las implementaciones aqu mostradas, el sistema de servidor 202 se configura para intercambiar datos e informacion, incluyendo informacion sobre usuarios, comandos de accion, objetos, menus contextuales, grupos, representaciones, identificadores de objeto, y otra informacion similar al dispositivo de cliente 204. Por ejemplo, el servicio de gestion de objeto 210 puede interactuar a traves del sistema de servidor 202 para recibir una instruccion de accion, identificador de usuario y objeto y realiza la accion solicitada en el objeto recibido.
De esta forma, un usuario 201 puede interactuar con el servicio de gestion de objeto 210 a traves de un dispositivo de cliente 204, para crear, descubrir y observar identificadores de objeto y grupos de identificador de objeto, obtener informacion sobre (o comprar) objetos identificados por un identificador de objeto, iniciar el desempeno de acciones disponibles del menu contextual, modificar las acciones disponibles de un menu contextual, y/o comunicarse con otros usuarios.
En algunas implementaciones, los menus contextuales pueden presentarse de manera diferente basandose en el dispositivo de cliente 204 utilizados para acceder al servicio de gestion de objeto 210. Por ejemplo, si el dispositivo de cliente 204 es un dispositivo portatil con espacio de pantalla limitado y/o capacidades, los menus contextuales pueden presentarse con informacion reducida (por ejemplo, unicamente identificadores graficos sin descripciones textuales). En comparacion, si el dispositivo de cliente 204 es un ordenador portatil, ordenador de escritorio, television u otro dispositivo con una pantalla grande, informacion adicional, tal como una breve descripcion de cada identificador de accion, puede presentarse. Por lo tanto, un menu contextual puede invocarse a traves de acciones diferentes dependiendo de las capacidades del dispositivo 204. Por ejemplo, si el dispositivo incluye una pantalla basada en tacto, el menu contextual puede invocarse a traves de una pulsacion larga, u otra accion basada en tacto. Si el dispositivo no incluye una pantalla basada en tacto, el menu contextual puede invocarse a traves del uso de otro componente de entrada (por ejemplo, raton, teclado).
El almacenamiento de datos de asignaciones 212 almacena informacion sobre las relaciones entre identificadores de objetos, grupos, usuarios, representaciones y fuentes externas que proporcionan informacion suplementaria. Por ejemplo, para cada identificador de objeto, un enlace u otra referencia para la fuente del objeto representado por el identificador de objeto se mantiene. Por lo tanto, si el identificador de objeto se agrego a un grupo del usuario de otro identificador de objeto, no unicamente es la relacion entre el grupo del usuario y el identificador de objeto mantenido, un enlace entre el identificador de objeto previo (el padre) y el identificador de objeto actual tambien se mantiene. En algunas implementaciones, puede haber una cadena de relaciones/enlaces entre multiples identificadores de objeto, cada enlace que representa un identificador de objeto padre del cual el identificador de objeto actual se creo.
Por ejemplo, el usuario A puede crear un identificador de objeto que representa la construccion del Empire State e incluir una imagen de la construccion del Empire State (representacion) tomada por el usuario A. Este identificador de objeto puede asociarse con el grupo A del usuario de los identificadores de objeto llamados "las construcciones que yo visite en las vacaciones". EI usuario A tambien puede proporcionar una descripcion para el identificador de objeto, informacion suplementaria puede asociarse con el identificador de objeto y/o un contexto puede establecerse por el identificador de objeto.
El usuario B puede observar el identificador de objeto del usuario A, invocar un menu contextual por la pulsacion larga en el identificador de objeto del usuario A y seleccionar la accion para crear su propio identificador de objeto del identificador de objeto del usuario A y agregarse a uno de los grupos del usuario B de los identificadores de objeto. En este ejemplo, un nuevo identificador de objeto se crea para el usuario B que incluye la representacion de la construccion Empire State del identificador de objeto del usuario A y esta asociado con uno de los grupos del usuario B. El usuario B puede utilizar la descripcion proporcionada por el usuario A o agregar su propia descripcion. El servicio de gestion de objeto 210 puede determinar un contexto para el identificador de objeto del usuario B basandose en la informacion sobre el grupo al cual el usuario B agrega el identificador de objeto, la descripcion elegida o agregada por. el usuario B y/u otra informacion que permitira al servicio de gestion de objeto 210 determinar un contexto para el identificador de objeto del usuario B que proporciona medios para el identificador de objeto desde la perspectiva del usuario B. En otras implementaciones, el usuario B puede proporcionar el contexto. Un enlace u otra relacion, entre el identificador de objeto del usuario A y el identificador de objeto del usuario B se mantiene en el almacenamiento: de datos de asignacion 212.
El almacenamiento de datos de identificador 214 mantiene la informacion sobre cada identificador de objeto creado por el servicio de gestion de objeto 210. Por ejemplo, para cada identificador de objeto, el servicio de gestion de objeto 210 puede almacenar en el almacenamiento de datos de identificador 214 informacion como la representacion incluida en el identificador de objeto, el grupo con el cual el identificador de objeto se asocie, el usuario que crea el identificador de objeto, el contexto para el identificador de objeto, cualquier usuario proporciona la descripcion para el identificador de objeto, cualquier informacion suplementaria asociada con el identificador de objeto, la fuente de la representacion incluida en el identificador de objeto y cualquier identificador de objeto padre del cual la informacion se obtuvo. La descripcion adicional sobre los identificadores de objeto se proporciona a continuacion con respecto a la Figura 4.
El almacenamiento de datos de grupo 216 incluye informacion sobre cada grupo establecido por los usuarios del servicio de gestion de objeto 210. Como se discutio anteriormente, un grupo es una coleccion de identificadores de objetos seleccionados y/o creados por un usuario. Un grupo puede ser un grupo nulo que no incluye cualquiera de los identificadores de objeto. Por lo tanto, cualquier numero de identificadores de objeto puede asociarse con un grupo. El almacenamiento de datos de grupo 216 para cada informacion de almacenamiento de grupo que identifica el usuario que creo el grupo, el contexto para el grupo, una categona para el grupo, cualquier usuario proporciona la descripcion para el grupo, cualquier informacion estatica asociada con el grupo y una identificacion de objetos asociados con el grupo. La descripcion adicional sobre los grupos se proporciona a continuacion con respecto a la Figura 4.
El almacenamiento de datos de fuente 218 almacena la informacion sobre fuentes de objetos que se representan por los identificadores de objetos gestionados por el servicio de gestion de objeto 210 y/o informacion sobre fuentes externas que proporcionan informacion suplementaria asociada con representaciones de uno o mas objetos. En algunos ejemplos, la fuente puede ser un sitio web del cual un objeto (por ejemplo, imagen) se obtuvo al crear un identificador de objeto.
El almacenamiento de datos de fuente 218 puede incluir cualquier forma de informacion sobre cada fuente que incluye, pero no se limita al nombre de la fuente ya sea la fuente que se ha verificado por el servicio de gestion de objeto 210, el tipo de informacion proporcionada por la fuente, identificacion de representaciones asociadas con la fuente, y similares.
El almacenamiento de datos de perfil de usuario 220 almacena informacion sobre usuarios 201 del servicio de gestion de objeto 210. Cualquier tipo de informacion puede almacenarse en el almacenamiento de datos de perfil de usuario 220. Por ejemplo, la informacion de perfil de usuario, tal como atributos, nombre, direccion, genero, historial de navegacion, historial de identificador de objeto, historial del grupo, redes sociales y/o amigo con el cual el usuario 201 interactua, y similares pueden almacenarse en el almacenamiento de datos de perfil de usuario 220. La informacion de perfil de usuario puede proporcionarse directamente por usuarios 201 y/o recolectarse de los usuarios 201 de los dispositivos de cliente 204 cuando interactuan con el servicio de gestion de objeto 210 (por ejemplo, datos de navegacion a medida que el usuario explora el servicio de gestion de objeto 210), cuando observa, crea o interactua con los grupos, cuando observa, crea o interactua con los identificadores de objeto, y/o cuando comparte la informacion con los amigos o comunidades sociales a traves del servicio de gestion de objeto 210. En algunas implementaciones, la informacion de usuario puede obtenerse desde fuentes externas. Por ejemplo, la informacion de perfil de usuario puede obtenerse desde una tercera parte con el cual el usuario tambien afilio (por ejemplo, sitio web de comercio electronico, red social) y esta de acuerdo para permitir la comparticion de algunos o toda la informacion de perfil de usuario proporcionada por esa tercera parte y/o recolectada por esa tercera parte. En algunas implementaciones, los usuarios del servicio de gestion de objeto 210 pueden elegir limitar la cantidad de informacion incluida en su perfil de usuario, para limitar el acceso a su informacion de perfil y/o para limitar que informacion se comparte, si hay alguna, de su informacion de perfil de usuario.
Ademas de mantener informacion sobre asignaciones, identificadores de objeto, grupos, fuentes y usuarios, el servicio de gestion de objeto 210 puede proporcionar utilizar informacion de nuevo a los usuarios 201 y/o fuentes externas 206. Por ejemplo, el servicio de gestion de objeto 210, a traves de la comunicacion entre el sistema de servidor 202 y un dispositivo de cliente 204, puede proporcionar utilizar la informacion de nuevo a un usuario 201. Tal informacion puede incluir una identificacion de identificadores de objetos recientemente observados, creados o agregados, identificacion de otros que han observado los grupos del usuario, identificadores de objeto, y similares. Por lo tanto, el servicio de gestion de objeto 210, a traves de comunicacion entre el sistema de servidor 202 y las fuentes externas 206 pueden proporcionar informacion a las fuentes externas 206. Tal informacion puede incluir analttica sobre representaciones de objetos asociados con la fuente externa 206, otras fuentes externas que pueden asociarse con y proporcionar informacion suplementaria para un objeto con el cual la fuente externa se asocia, y similares.
La Figura 3 proporciona un ejemplo de una interfaz de usuario 350 de un sitio web externo, el Blog de Waldo 352 que incluye la capacidad para que un , usuario invoque un menu contextual para objetos representados en la interfaz 350, de acuerdo con una implementacion. En varias implementaciones, los sitios web externos pueden incluir el codigo que permite a un usuario invocar un menu contextual para un objeto. Por ejemplo, el sitio web externo puede incluir codigo java script en su sitio web, tal como, cuando un usuario omite una pulsacion larga en un objeto, un menu contextual para realizar acciones en el objeto seleccionado se proporciona al usuario. En otras implementaciones, el usuario puede instalar una aplicacion complementaria (por ejemplo, navegador complementario) que recibe la invocacion para el menu contextual e inicia las acciones de usuario seleccionadas. Incluso en otras implementaciones, el navegador u otra aplicacion puede configurarse para permitir la invocacion de un menu contextual e incluir codigo para el menu contextual como parte de la aplicacion de navegador. Finalmente, en algunas implementaciones, el sistema operativo del dispositivo de cliente 204 puede configurarse para incluir codigo para invocar un menu contextual para un objeto seleccionado.
Con respecto a como se proporciona el menu contextual, un usuario puede invocar el menu contextual con un comando de invocacion. En este ejemplo, un identificador de menu contextual 356 se incluye en la informacion presentada y un usuario puede invocar un menu contextual para un objeto representado al seleccionar el identificador de menu contextual 356 para ese objeto. Aunque este ejemplo incluye pantalla de un identificador de menu contextual 356, en otras implementaciones, el usuario puede invocar el menu contextual utilizando otros comandos de invocacion en el objeto representado (por ejemplo, pulsacion larga).
En la invocacion del menu contextual para el objeto representado seleccionado, un menu contextual 358 para el objeto seleccionado se presenta. EI menu contextual puede incluir uno o mas identificadores de accion que pueden seleccionarse por el usuario al iniciar una accion correspondiente para el objeto seleccionado. Como se observo anteriormente, el menu contextual es independiente de la aplicacion y puede utilizarse para iniciar acciones locales, y/o remotas. En algunas implementaciones, el usuario puede ser capaz de configurar los identificadores de accion que se presentan por el menu contextual.
En este ejemplo, el menu contextual 358 incluye cuatro identificadores de accion 360A-360D, cualquiera de uno o mas de los cuales puede seleccionarse para invocar una accion para el objeto seleccionado 354. Como se observo anteriormente, las acciones pueden realizarse locales para el dispositivo de cliente 204 (por ejemplo, guardar, correo electronico, copiar, imprimir), o remotos desde el dispositivo de cliente (por ejemplo, publicar una red social, crear un identificador de objeto, agregar un grupo, compra el objeto representado, ver otros que han tomado accion en el objeto y/o identificador de objeto). Por ejemplo, un usuario puede seleccionar un identificador de accion para agregar el objeto representado por el identificador de objeto 354 a un grupo mantenido por ese usuario por el servicio de gestion de objeto. Al seleccionar el identificador de accion 360, un identificador de objeto puede crearse al incluir el objeto 354, informacion sobre la fuente del objeto, etc. En algunos ejemplos, el servicio de gestion de objeto 210 tambien determinar si existen comerciantes que ofrecen el objeto representado para venta y puede asociar a esos comerciantes con el identificador de objeto creado. Incluso en otros ejemplos, el proveedor de la pagina web puede ser un comerciante y/o puede identificar a un comerciante que ofrece el objeto representado para venta. En tal ejemplo, la informacion del comerciante puede proporcionarse con la representacion e incluirse como parte del identificador del objeto creado.
Como se describio anteriormente, en algunas implementaciones, la seleccion de un identificador de accion puede resultar en una o mas opciones de accion estando determinadas al corresponder al identificador de accion seleccionado y los identificadores de opcion de accion que corresponden a esas opciones de accion pueden presentarse al usuario para seleccion. El usuario puede seleccionar una opcion de accion mediante, por ejemplo, pulsacion larga en el identificador de opcion de accion presentada.
La Figura 4 es un diagrama de bloques de una estructura de ejemplo de un grupo 400 y un identificador de objeto 420, de acuerdo con una implementacion. Un grupo 400 puede incluir una identificacion del usuario 402 que crea el grupo y cualquiera de los usuarios que se han identificado al permitir agregar los identificadores de objeto al usuario. Ademas, un contexto 404 como se proporciona por un usuario o determina por el servicio de gestion de objeto 2110 puede asociarse con el grupo 400 a lo largo de una categona seleccionada de usuario 406. Una categona 406 puede seleccionarse de una lista de categonas preexistentes proporcionadas por el servicio de gestion de objeto cientos 210. Por ejemplo, una categona 406 puede ser animales, libros, arte y entretenimiento, deportes, comida y bebida, etc., y un usuario, al crear un grupo 400 puede seleccionar una o mas de estas categonas para asociacion con el grupo 400. Un usuario tambien puede proporcionar una descripcion 408 que proporciona informacion sobre el grupo 400 desde la perspectiva del usuario. La informacion estatica 410 tambien puede asociarse con el grupo 400. Por ejemplo, el servicio de gestion de objeto 210 puede incorporar automaticamente cierta informacion relevante a un grupo 400 basandose en la categona seleccionada y opcionalmente a la descripcion proporcionada 408. La informacion estatica 410 tambien pueden incluir informacion proporcionada por el creador del grupo y/u otros usuarios del servicio de gestion de objeto 210. Por ejemplo, otros usuarios pueden observar, comentar y/o de otra forma proporcionar retroalimentacion con respecto a un grupo. Los comentarios y/u otra retroalimentacion del creador y/u otros usuarios pueden asociarse con el grupo 400 y mantenerse como informacion estatica 410.
La informacion suplementaria 411 relevante al grupo 400 tambien puede mantenerse. La informacion suplementaria para un grupo puede ser de cualquier forma de informacion o accion proporcionada por una, fuente de una o mas representaciones asociadas con el grupo, una fuente de uno o mas objetos asociados con un grupo, o cualquier otra fuente externa. Por ejemplo, si el grupo es sobre Hawai, un servicio de clima (fuente externa) puede proporcionar informacion suplementaria en la forma del clima en Hawai que esta asociada con el grupo. A medida que los identificadores de objeto se agregan al grupo 400, pueden identificarse como objetos 412 asociados con el grupo 400.
Finalmente, las restricciones 414 tambien pueden asociarse con el grupo 400 y utilizarse para controlar el acceso, la modificacion u otros aspectos del grupo 400. Por ejemplo, el creador de un grupo 400 puede especificar restricciones, asf como quienes pueden ver el grupo, agregar identificadores de objeto al grupo, ya sea que los usuarios puedan comentar en el grupo, etc.
En algunas implementaciones, un identificador de objeto 420 puede incluir una identificacion del usuario 422 que crea el identificador de objeto 420, un usuario proporciona la descripcion 426 que describe el identificador de objeto desde la perspectiva del usuario, un contexto 424 como se proporciona por un usuario o determina por el servicio de gestion de objeto 210 e informacion estatica 428. Similar al grupo 400, la informacion estatica 428 puede incluirse en el identificador de objeto 420 por el servicio de gestion de objeto 210 basandose en la representacion seleccionada 423 del objeto y/o la descripcion proporcionada por el usuario. Por ejemplo, si un usuario ha seleccionado una representacion 423 del objeto que ya se conoce al servicio de gestion de objeto, la informacion existente sobre la representacion puede incluirse en el identificador de objeto 420. La informacion estatica tambien puede identificar el identificador de objeto que se creo en respuesta a una accion seleccionada de un menu contextual. Otra informacion estatica sobre un identificador de objeto 420 puede incluir comentarios proporcionados por otros usuarios del servicio de gestion de objeto 210, el creador del identificador de objeto, etc.
Una representacion 423 tambien puede incluirse en el identificador de objeto. La representacion puede ser cualquier elemento que puede utilizarse para representar el objeto. Por ejemplo, la representacion puede ser una representacion grafica del objeto, una representacion de audio del objeto, o cualquier representacion de un objeto.
Ademas, el servicio de gestion de objeto 210 proporciona informacion estatica 428, en algunas implementaciones, la informacion suplementaria 430 tambien puede asociarse con el identificador de objeto 420. La informacion suplementaria puede ser cualquier forma de informacion o accion proporcionada por una fuente de la representacion, una fuente del objeto, o cualquier fuente externa. Por ejemplo, la fuente del objeto puede proporcionar informacion sobre el objeto, mientras que otras fuentes externas pueden proporcionar acciones relevantes al objeto. Por ejemplo, si el objeto es una television, la fuente de la television puede ser el fabricante, tal como Sony, y esa fuente puede proporcionar informacion basica sobre el objeto. En este ejemplo, la informacion sobre el objeto proporcionada por el fabricante puede incluir las dimensiones, resolucion, peso, etc. Otras fuentes externas, tales como vendedores, de la television, pueden proporcionar informacion suplementaria adicional que puede asociarse con el identificador de objeto 420. Por ejemplo, los vendedores del objeto pueden proporcionar acciones que permiten a un usuario ver el identificador de objeto 420, iniciar una compra del objeto, obtener informacion adicional sobre el objeto, obtener informacion sobre la fuente externa que vende el objeto, etc.
Regresando a la Figura 4, el identificador de objeto 420 tambien puede identificar una fuente 434 del cual la representacion del objeto se obtuvo, o la fuente del objeto. Por ejemplo, la fuente puede ser el sitio web del cual el menu contextual se invoco y el objeto representado por el identificador de objeto se recupero. Ademas, para proporcionar una fuente 434, si el identificador de objeto se baso en y creo desde otro identificador de objeto existente, ese identificador de objeto existente puede identificarse en el identificador de objeto 420 como el padre 436 del identificador de objeto 420. Por lo tanto, el grupo(s) 432 con el cual el objeto asociado tambien puede incluirse en el identificador de objeto 420. Finalmente, las restricciones 438 tambien pueden asociarse con el identificador de objeto 420 y utilizarse para controlar acceso, modificacion u otros aspectos del identificador de objeto 420. Por ejemplo, el creador de un identificador de objeto 420 puede especificar restricciones, asf como el identificador de objeto puede verse por otros usuarios, copiarse en otros grupos, ya sea que los usuarios puedan comentar en el identificador de objeto, etc.
La Figura 5 es un diagrama de bloques de una interfaz de usuario 500 de ejemplo para presentar los identificadores de objeto a un usuario, de acuerdo, con, una implementacion. En una interfaz de usuario 500 de ejemplo, los identificadores de objeto se han dispuesto en grupos de vida salvaje 502, vacaciones 504, aparatos y equipos 506. Como se discutio anteriormente, un identificador de objeto 508, 510, 512, 514, 516, 520, 522, 524, 526, 528, 530, 532 puede representar cualquier objeto y/o ser el objeto por sf mismo. Un usuario puede ver interactuar con identificadores de objeto, y/u organizar identificadores de objeto en grupos 502, 504, 506, etc. En algunas implementaciones, un usuario puede seleccionar un identificador de objeto e invocar un menu contextual para tomar una accion en el identificador de objeto seleccionado. Por ejemplo, un usuario puede tocar la pantalla y proporcionar una pulsacion larga al seleccionar el identificador de objeto 522. Al detectar la pulsacion larga (invocacion del menu contextual), el menu contextual puede presentarse y el usuario puede realizar una accion en un identificador de objeto seleccionado.
La Figura 6 muestra un proceso de menu contextual de ejemplo 600, de acuerdo con una implementacion. El proceso de ejemplo 600 y cada uno de los otros procesos aqrn descritos se ilustran como una coleccion de bloques en una grafica de flujo logica. Algunos de los bloques representan operaciones que pueden implementarse en hardware, software o una combinacion de los mismos. En el contexto de software, el bloque representa instrucciones ejecutables por ordenador almacenadas en uno o mas medios legibles por ordenador que, cuando se ejecutan por uno o mas procesadores, realizan las operaciones descritas. Generalmente, las instrucciones ejecutables por ordenador incluyen rutinas, programas, objetos, componentes, estructuras de datos, y similares, que realizan funciones particulares o implementan tipos de datos abstractos.
El medio legible por ordenador puede incluir medios de almacenamiento legibles por ordenador no transitorios, que pueden incluir unidades duras, disquetes flexibles, discos opticos, unidades de estado solido, CD-ROM, DVD, y memoria de solo lectura (ROM), memoria de acceso aleatorio (RAM), EPROM, EEPROM, memoria flash, tarjetas magneticas u opticas, dispositivos de memoria de estado solido, u otros tipos de medios de almacenamiento adecuados para almacenar instrucciones electronicas. Ademas, en algunas implementaciones, el medio legible por ordenador puede incluir una senal legible por ordenador transitoria (en forma comprimida o sin comprimir). Ejemplos de senales legibles por ordenador, si se modula utilizando un portador o no, incluye, pero no se limita a, senales que un sistema de ordenador aloja o ejecuta un programa de ordenador puede configurarse para acceder, incluyendo senales descargadas o cargadas a traves de las redes de Internet u otras. Finalmente, el orden en el cual las operaciones se describen no pretende construirse como una limitacion, cualquier numero de operaciones descrita s puede combinarse en cualquier orden y/o en paralelo para implementar el proceso. Por lo tanto, operaciones adicionales o menos que aquellas descritas pueden utilizarse con las varias implementaciones aqrn descritas.
El proceso 600 de ejemplo comienza despues de la recepcion de un comando de invocacion del menu contextual, como en 602. Como se discutio anteriormente, un comando de invocacion puede ser cualquier entrada definida para invocar el menu contextual. Por ejemplo, el comando de invocacion de menu contextual puede ser una pulsacion larga de doble contacto en un tacto basado en pantalla, seleccion de un identificador de menu contextual, etc. Al recibir un comando de invocacion de menu contextual, el objeto seleccionado con el comando de invocacion se determina, como en 604. Por ejemplo, si el comando de invocacion es una pulsacion larga en un objeto representado, tal como una imagen, la imagen se determina. Si la invocacion es una seleccion de un identificador de menu contextual representado en la pantalla de dispositivo de cliente, el objeto asociado con el identificador de menu contextual se determina.
Tambien pueden determinarse acciones para incluirse en un menu contextual, como en 605. Por ejemplo, las acciones a presentarse al usuario pueden determinarse basandose al menos en parte en uno o mas de una identidad del usuario, una accion previa seleccionada por el usuario, un objeto, un objeto previo seleccionado por el usuario, y/o una relacion entre el objeto y el usuario, etc.
En un ejemplo, una funcion de ponderacion puede utilizarse para determinar acciones e identificadores de accion correspondientes para presentarse al usuario con el menu contextual. La funcion de ponderacion puede considerar acciones pasadas seleccionadas por un usuario y cada accion dado un valor de ponderacion decadente basandose en un tiempo desde la accion desde la ultima accion que se realizo. Por lo tanto, para cualquiera de las acciones realizadas por el usuario ya sea en la misma area de pantalla o similar de donde el menu contextual se invoca puede ser una ponderacion adicional dada. Cada uno de los valores de ponderacion de accion previos entonces pueden sumarse (las mismas acciones realizadas en diferentes tiempos combinados) y acciones con los valores de ponderacion mas altos pueden presentarse al usuario como parte del menu contextual. En otras implementaciones, el objeto actualmente seleccionado puede procesarse (por ejemplo, utilizando algoritmos de reconocimiento de imagen) y comparados con otros objetos previamente seleccionados por el usuario y acciones realizadas en los objetos previos que tienen una similitud alta con el objeto actualmente seleccionado puede darse una ponderacion adicional.
Basandose en las acciones determinadas, identificadores de accion correspondientes se determinan y un menu contextual se presenta al usuario que incluye los identificadores de accion determinados, como en 606. En algunas implementaciones, el menu contextual tambien puede determinar la ubicacion en el cual el comando de invocacion del menu contextual se recibio y/o una identificacion del objeto seleccionado para el cual accion se realizara. Aunque los ejemplos aqrn discutidos describen pantalla visual de menu contextual, en algunas implementaciones, algunos o todos de los menus contextuales pueden presentarse en otras formas al usuario. Por ejemplo, el menu contextual puede presentarse audiblemente, a traves de retroalimentacion tactil, o una combinacion de los mismos. En algunas implementaciones, los identificadores de accion y/o identificadores de opcion de accion pueden presentar informacion visualmente y de manera audible, sobre cada identificador de accion y/o identificador de opcion de accion pueden presentarse audiblemente. En algunas implementaciones, mas o menos identificadores de accion y/o identificadores de opcion de accion pueden incluirse en el menu contextual. Por lo tanto, en algunas implementaciones, un usuario puede especificar que acciones estan asociadas con los identificadores de accion presentados y/o que opciones de accion estan asociadas con las acciones presentadas.
Despues de presentar los identificadores de accion, una o mas selecciones de accion pueden recibirse, como en 608. Por ejemplo, el proceso de ejemplo puede recibir una seleccion de accion del usuario al correo electronico del objeto a otro usuario. La seleccion de accion se recibe en respuesta al usuario que selecciona uno o mas identificadores de accion presentados.
Al recibir la accion desde la seleccion de accion, se hace una determinacion en cuanto a si el menu contextual se expande, como en 610. Si la accion seleccionada tiene una o mas opciones de accion correspondientes, esto puede determinarse ya que el menu contextual se va a expandir. Por ejemplo, si el usuario ha seleccionado la accion de colocar el objeto a una red social, esto puede determinarse, ya que el menu contextual se va a expandir para presentar identificadores (identificadores de opcion de accion) para diferentes redes sociales (opciones de accion) al cual el objeto puede publicarse. Como otro ejemplo, si el usuario ha seleccionado la opcion de accion de asociar el objeto con un grupo mantenido por el usuario por el servicio de gestion de objeto, y existen multiples grupos mantenidos para el usuario, esto puede determinarse para expandir el menu contextual al permitir la seleccion de uno o mas de uno de los grupos por el usuario.
Si esto se determina que el menu contextual esta expandido, opciones de accion correspondientes para la accion seleccionada se determinan e identificadores de opcion de accion correspondientes se presentan al usuario, como en 612. En algunas implementaciones, todas las opciones de accion que corresponden a la accion seleccionada pueden determinar y presentarse al usuario. En otras implementaciones, unicamente los identificadores de opcion de accion que corresponden a las opciones de accion probablemente se seleccionen por el usuario, que pueden presentarse para seleccion. Por ejemplo, el proceso de ejemplo 600 puede considerar factores adicionales para cada opcion de accion potencial al determinar un subgrupo de opciones de accion que estan probablemente seleccionadas por el usuario. Factores adicionales incluyen, pero no se limitan a la ultima opcion de accion seleccionada por el usuario cuando realiza la opcion seleccionada, informacion contextual sobre cada opcion de accion potencial y/o el objeto seleccionado, metadatos sobre el objeto seleccionado, identificadores de objeto, otros objetos, etc. Como un ejemplo, si el usuario ha seleccionado la accion de agregar el objeto a un grupo mantenido por el usuario por el servicio de gestion de objeto, cada grupo mantenido por el servicio de gestion de objeto para el usuario puede considerarse y un subgrupo seleccionado para pantalla como opciones de accion. En una implementacion, el servicio de gestion de objeto puede seleccionar como opciones de accion y el ultimo grupo utilizado o accedido por el usuario, el grupo que tiene otros objetos asociados que se determinan para ser similares al objeto seleccionado y/o el grupo que tiene otros objetos asociados que tienen metadatos similares. Similarmente puede determinarse utilizando una variedad de tecnicas. Por ejemplo, si el objeto seleccionado es una imagen digital, la imagen puede procesarse utilizando uno o mas algoritmos, tal como deteccion de borde, deteccion de objeto, deteccion facial, reconocimiento de caracter, deteccion de caractenstica, y similares, para generar caractensticas representativas del objeto. Las caractensticas generadas pueden compararse con las caractensticas para otras imagenes asociadas con los grupos mantenidos por el usuario y una clasificacion de similitud general determinada para cada grupo. Por ejemplo, si el grupo incluye diez imagenes, las caractensticas determinadas para el objeto seleccionado pueden compararse con las, caractensticas de cada una de las diez imagenes y el grupo y una clasificacion de similitud general determinada (por ejemplo, un promedio de cada clasificacion de similitud). Esto puede hacerse para cada grupo mantenido por el usuario y el grupo(s) con la clasificacion mas alta de similitud seleccionada como opciones de accion.
En una implementacion, pueden presentarse opciones de accion al usuario en una forma similar a la pantalla de acciones. Por ejemplo, cuando el usuario selecciona una accion, los identificadores de opcion de accion para opciones de accion disponibles pueden presentarse para expandirse radialmente alrededor de la ubicacion del identificador de accion seleccionado que se presenta al usuario, como se ilustra en la Figura 1B. En otras implementaciones, los identificadores de opcion de accion pueden presentarse en una forma de lista, u otra configuracion.
Despues de presentar los identificadores de opcion de accion, el proceso 600 de ejemplo recibe una seleccion de opcion de accion, como en 614. Por ejemplo, el usuario puede mover su dedo (u otro dispositivo de entrada) desde la ubicacion del identificador de accion seleccionado a uno de los identificadores de opcion de accion presentados para seleccionar la opcion de accion correspondiente. En algunas implementaciones, la opcion de accion seleccionada puede ser una seleccion de la accion. Por ejemplo, ya sea que, al seleccionar una opcion de accion presentada, el usuario puede iniciar la accion mediante, por ejemplo, retirar su dedo de la pantalla mientras que su dedo se coloca sobre la accion seleccionada.
Regresando al bloque de decision 610, algunas acciones pueden no resultar en el menu contextual que se expande. Por ejemplo, si la accion seleccionada unicamente tiene una opcion de accion potencial, la opcion de accion puede realizarse y el menu contextual no se expande. Por ejemplo, si la accion seleccionada es para descargar el objeto seleccionado, la accion de descargar puede realizarse automaticamente.
Si se determina en el bloque de decision 610 que el menu contextual no se expande en respuesta a recibir una seleccion de accion o al recibir una seleccion de opcion de accion del bloque 614, se hace una determinacion en cuanto a si la accion seleccionada o la opcion de accion seleccionada es una accion localmente realizada u opcion de accion que se realiza de manera remota desde el dispositivo de cliente, como en 616. Si se determina que la accion u opcion de accion es una accion remota, la informacion de accion que incluye el objeto seleccionado, comandos de accion e informacion de usuarios se proporcionan a un recurso informatico remoto, tal como servicio de gestion de objeto, como en 618. En otras implementaciones, la informacion de accion puede incluir algunas, adicionales, y/o diferentes artfculos de informacion. Generalmente, la informacion de accion incluye la informacion necesaria para que el recurso informatico remoto realice la accion seleccionada y/o la opcion de accion seleccionada.
Ademas de proporcionar la informacion de accion a los recursos informaticos remotos, una determinacion tambien puede hacerse en cuanto a si una accion local y/u opcion de accion se realice, como en 620: En algunas implementaciones, un identificador de accion y/o identificador de opcion de accion pueden representar multiples acciones y/u opciones de accion, todas de las cuales se realizan en la seleccion del identificador de accion y/o identificador de opcion de accion. Las acciones multiples y/u opciones de accion pueden ser todas localmente realizadas, realizadas remotamente, o una combinacion de ambas, realizadas local y remotamente. Por ejemplo, un identificador de accion puede representar acciones de correo electronico del objeto seleccionado a otro usuario (accion local) y publicar el objeto en un sitio de red social (accion remota). De manera similar, la seleccion de una accion que resulta en la expansion del menu contextual al permitir la seleccion de opciones de accion puede tambien resultar en una accion que esta siendo realizada. Por ejemplo, si la accion seleccionada publica el objeto seleccionado a una red social, el menu contextual puede expandirse para permitir la seleccion de una red social desde las redes sociales potenciales (opciones de accion). Ademas, el objeto seleccionado puede asociarse automaticamente con un grupo mantenido por el usuario que incluye objetos que el usuario ha publicado en las redes sociales.
Si se determina que el identificador de accion seleccionado y/u opcion de accion seleccionada representa una accion localmente realizada y/u opcion de accion, ya sea en el bloque de decision 616 o en el bloque de decision 620, el desempeno de la accion local y/u opcion de accion se inicia en el dispositivo de cliente, como en 622. Al finalizar la accion local y/u opcion de accion, o si se determina que la accion local y/o la opcion de accion no se realizan, el proceso de ejemplo 600 se completa, como en 624.
La Figura 7 ilustra un dispositivo de cliente de ejemplo 624 que puede utilizarse de acuerdo con varias implementaciones aqrn descritas. En este ejemplo, el dispositivo de cliente 204 incluye una pantalla 702 y opcionalmente al menos un componente de entrada 704, tal como una camara, o un mismo lado del dispositivo como la pantalla 702. El dispositivo de cliente 204 tambien puede incluir un transductor de audio, tal como una bocina 706, y opcionalmente un microfono 708. Generalmente, el dispositivo de cliente 204 puede tener cualquier forma de componentes de entrada/salida para permitir a un usuario interactuar con un dispositivo de cliente 204. Por ejemplo, los varios componentes de entrada permiten la interaccion de usuario con el dispositivo que puede incluir una pantalla basada en toque 702 (por ejemplo, resistivo, capacitivo, resistencia sensible a la fuerza de interpolacion (IFSR)), camara (para rastreo de gestos, etc.), microfono, sistema de posicionamiento global (GPS), brujula o cualquier combinacion de los mismos. Uno o mas de estos componentes de entrada pueden incluirse en un dispositivo o de otra forma en comunicacion con el dispositivo. Varios otros componentes de entrada y combinaciones de componentes de entrada pueden utilizarse tambien dentro del alcance de las varias implementaciones, como se apreciara en las tecnicas y sugerencias aqrn contenidas.
Para proporcionar las varias funcionalidades aqrn descritas, la figura 8 ilustra un grupo de ejemplo de componentes basicos 800 de un dispositivo de cliente 204, tal como el dispositivo de cliente 204 descrito con respecto a la Figura 7 y como se discutio aqrn. En este ejemplo, el dispositivo incluye al menos un procesador central 802 para ejecutar instrucciones que pueden almacenarse en al menos un dispositivo o elemento de memoria 804. Como apreciara un experto en la tecnica, el dispositivo puede incluir muchos tipos de memoria, almacenamiento de datos o medios de almacenamiento legibles por ordenador, tal como un primer almacenamiento de datos para programar instrucciones para ejecucion por el procesador 802. La memoria de almacenamiento extrafble puede estar disponible para compartir informacion con otros dispositivos, etc. El dispositivo tfpicamente incluye algunos tipos de pantalla 806, tal como una pantalla basada en toque, tinta electronica (tinta electronica), diodo emisor de luz organico (OLED) o pantalla de cristal lfquido (LCD).
Como se discutio, el dispositivo en muchas implementaciones incluye al menos un elemento de captura de imagen 808, tal como una o mas camaras que, permite a objetos de imagen alrededor del dispositivo. Un elemento de captura de imagen puede incluir, o basarse al menos en parte en cualquier tecnologfa apropiada, tal como un elemento de captura de imagen CCD o CMOS que tiene una resolucion determinada, rango focal, area visible, y velocidad de captura. El dispositivo puede incluir al menos un componente de menu contextual 810 para realizar el proceso del menu contextual discutido anteriormente con respecto a la Figura 6. El dispositivo puede ser una comunicacion constante o intermitente con el servicio de gestion de objeto 210, y puede intercambiar informacion tal como informacion de accion, representaciones, descripciones, informacion de fuente, etc., con el servicio de gestion de objeto 210 como parte del proceso de menu contextual.
El dispositivo tambien puede incluir un componente de gestion de accion remoto 812 que almacena y gestiona informacion para iniciar acciones remotas. Almacenar y mantener tal informacion en el dispositivo proporciona la capacidad para un usuario de seleccionar acciones que pueden realizarse remotamente incluso en el evento del dispositivo de cliente que no se puede comunicar con el servicio de gestion de objeto 210. Cuando la comunicacion se recupera, la informacion de accion se entrega al servicio de gestion de objeto 210 y se realiza la accion solicitada.
El dispositivo tambien puede incluir al menos un componente de ubicacion 214, tal como rastreo de ubicacion de GPS, NFC o monitorizacion de ubicacion WiFi. La informacion de ubicacion obtenida por el componente de ubicacion 814 puede utilizarse con las varias implementaciones aqrn discutidas para identificar la ubicacion del usuario, ubicacion de recurso, ubicacion de objeto, y similares que soportan la creacion, modificacion y/o gestion de grupos y/o identificadores de objeto.
El dispositivo de cliente de ejemplo tambien puede incluir al menos un dispositivo de entrada adicional capaz de recibir entrada convencional de un usuario. Esta entrada convencional puede incluir, por ejemplo, un boton pulsador, almohadilla tactil, pantalla basada en toque, rueda, palanca de mandos, teclado, raton, bola de desplazamiento, teclado o cualquier otro dispositivo o elemento en donde un usuario puede ingresar un comando al dispositivo, tal como un comando de invocacion del menu contextual. Estos dispositivos E/O podnan conectarse mediante un enlace inalambrico, infrarrojo, Bluetooth u otro tambien en algunas implementaciones. En algunas implementaciones, sin embargo, tal dispositivo puede no incluir cualquiera de los botones y puede controlarse unicamente a traves de toque (por ejemplo, pantalla basada en toque), comandos de audio (por ejemplo, bocina), o una combinacion de los mismos.
La Figura 9 es un diagrama pictorico de una implementacion de ejemplo de un sistema de servidor, tal como el sistema de servidor 202 que puede utilizarse en el entorno de la Figura 2. El sistema de servidor 202 puede incluir un procesador 900, tal como uno o mas procesadores redundantes, un adaptador de pantalla de video 902, una unidad de disco 904, una interfaz de entrada/salida 906, una interfaz de red 908, y una memoria 912. El procesador 900, el adaptador de pantalla de video 902, la unidad de disco 904, la interfaz de entrada/salida 906, la interfaz de red 908, y la memoria 912 pueden acoplarse comunicativamente entre sf mediante un conductor comun de comunicacion 910.
El adaptador de pantalla de video 902 proporciona senales de pantalla a una pantalla local (no mostrada en la Figura 9) permitiendo a un operador del sistema de servidor 202 verificar y configurar la operacion del sistema de servidor 202. La interfaz de entrada/salida 906, por lo tanto, se comunica con dispositivos de entrada/salida no mostrados en la Figura 9, tal como un raton, teclado, escaner, u otra entrada y dispositivos de salida que pueden operarse por un operador del sistema de servidor 202. La interfaz de red 908 incluye hardware, software, o cualquier combinacion de los mismos, para comunicarse con otros dispositivos informatico. Por ejemplo, la interfaz de red 908 puede configurarse para proporcionar comunicaciones entre el sistema de servidor 202 y otros dispositivos informaticos, tal como el dispositivo de cliente 204, a traves de la red 208, como se muestra en la Figura 2.
La memoria 912 generalmente comprende memoria de acceso aleatorio (RAM), memoria de solo lectura (ROM), memoria flash, y/u otra memoria volatil o permanente. La memoria 912 se muestra almacenando un sistema operativo 914 para controlar la operacion del sistema de servidor 202. Un sistema binario de entrada/salida (BIOS) 916 para, controlar la operacion de nivel bajo de sistema de servidor 202 tambien se almacena en la memoria 912.
La memoria 912 almacena adicionalmente codigo de programa y datos para. proporcionar servicios de red que permiten a los dispositivos de cliente 204 y fuentes externas 206 a intercambiar informacion y archivos de datos con el sistema de servidor 202 y/o el servicio die gestion de objeto 210. Por consiguiente, la memoria 912 puede almacenar una aplicacion de navegador 918. La aplicacion de navegador 918 comprende instrucciones ejecutables por ordenador, que cuando se ejecutan por el procesador 900, generan o de otra forma obtienen documentos de marcacion configurables, tal como paginas web. La aplicacion de navegador 918 se comunica con la aplicacion de administrador de almacenamiento 920 para facilitar el intercambio de datos y la asignacion entre el almacenamiento de datos de asignaciones 212, el almacenamiento de datos de identificador 214, el almacenamiento de datos de grupo 216, y el almacenamiento de datos de fuente 218 y/o el almacenamiento de datos de perfil de usuario 220, dispositivos de cliente, tal como el dispositivo de cliente 204 mostrado en la Figura 2, y/o fuentes externas, tal como las fuentes externas 206 mostradas en la Figura 2.
Como se utiliza aqrn, el termino "almacenamiento de datos" se refiere a cualquier dispositivo o combinacion de dispositivos capaces de almacenar, acceder y recuperar datos, el cual pueden incluir cualquier combinacion y numero de servidores de datos, bases de datos, dispositivos de almacenamiento de datos, y medios de almacenamiento de datos, en cualquier entorno estandar, distribuido, o agrupado. El sistema de servidor 202 puede incluir cualquier hardware y software apropiado para integrarse con los almacenamientos de datos 212-220 segun sea necesario para ejecutar los aspectos de una o mas aplicaciones para el dispositivo de cliente 204, las fuentes externas 206 y/o el servicio de gestion de objeto 210. El sistema de servidor 202 proporciona servicios de control de acceso en cooperacion con los almacenamientos de datos 212-220 y son capaces de generar contenido tal como texto, graficos, audio, video y/o identificador de objetos o grupos relacionados con informacion (por ejemplo, representaciones, contexto, descripciones, asignaciones analfticas sobre interfaces de usuario) al transferirse al dispositivo de cliente 204 o fuentes externas 206.
Los almacenamientos de datos 212-220 pueden incluir varias tablas de datos separadas, bases de datos u otros mecanismos de almacenamientos de datos y medios para almacenar datos que se refieren a un aspecto particular. Por ejemplo, los almacenamientos de datos 212-220 ilustrados incluyen mecanismos para almacenar contenido, informacion de usuario, rastreos e informacion de fuente externa, representaciones que pueden utilizarse para generar y entregar contenido a dispositivos de cliente 204 y/o fuentes externas 206 (por ejemplo, grupos, identificadores de objetos, representaciones) y acciones de control para realizarse.
Se entendera que pueden existir muchos otros aspectos que pueden almacenarse en los almacenamientos 212-220, tal como informacion de derechos, de acceso, que puede almacenarse en cualquiera de los mecanismos enlistados anteriormente como mecanismos apropiados o ademas de cualquiera de los almacenamientos de datos 212-220. Los almacenamientos de datos 212-220 son operables a traves de logica asociada con el mismo, para recibir instrucciones desde el sistema de servidor 212 y obtener, actualizar o de otra forma procesar datos en respuesta al mismo. Por ejemplo, un dispositivo de cliente puede enviar la informacion de accion para crear un identificador de objeto desde un objeto seleccionado.
La memoria 212 tambien puede incluir el servicio de gestion de objeto 210, como se discutio anteriormente. El servicio de gestion de objeto 210 puede ser enrutable por el procesador 900 al implementar una o mas de las funciones del sistema de servidor 202. En una implementacion, el servicio de gestion de objeto 210 puede representar instrucciones incorporadas en uno o mas programas de software almacenados en la memoria 912. En otra implementacion, el servicio de gestion de objeto 210 puede representar hardware, instrucciones de software, o una combinacion de los mismos.
El sistema de servidor 202, en una implementacion, es un entorno distribuido que utiliza varios sistemas de ordenador y componentes que se interconectan a traves de enlaces de comunicacion, utilizando una o mas redes de ordenador o conexiones directas. Sin embargo, se apreciara por aquellos expertos en la tecnica que tal sistema operana igualmente bien en un sistema que tiene algunos o un mayor numero de componentes que se ilustran en la Figura 9. De esa forma, la descripcion en la Figura 9 podna tomarse como siendo de ejemplo en naturaleza y no limitante al alcance de la descripcion.
Aunque la materia objeto se ha descrito en lenguaje espedfico a caractensticas estructurales y/o actos metodologicos, se entendera que la materia objeto definida en las reivindicaciones adjuntas no necesariamente se limita a las caractensticas espedficas o actos descritos. Mas bien, las caractensticas espedficas y actos se describen como formas de ejemplo que implementan las reivindicaciones.

Claims (15)

REIVINDICACIONES
1. Un metodo implementado por ordenador, que comprende:
bajo el control de uno o mas sistemas informaticos configurados con instrucciones ejecutables:
mantener multiples conjuntos (400) de informacion para un usuario de un dispositivo informatico (100), en el que un conjunto de informacion para un usuario incluye identificadores de objeto (420) asociados con objetos (412);
recibir (602) una invocacion de menu contextual en respuesta a una entrada del usuario que selecciona una representacion de objeto (104) mostrada en una ubicacion en una pantalla (102) del dispositivo informatico, en el que la representacion de objeto es una imagen que representa el objeto;
determinar (604) el objeto seleccionado por la invocacion del menu contextual;
determinar (605) una pluralidad de acciones que pueden realizarse con respecto al objeto seleccionado; provocar la presentacion (606) de un menu contextual (120) a un usuario que incluye una pluralidad de identificadores de accion (122A-122D), siendo cada uno de la pluralidad de identificadores de accion representativo de una respectiva de la pluralidad de acciones que pueden realizarse con respecto al objeto seleccionado;
recibir (608) una seleccion de un identificador de accion de la pluralidad de identificadores de accion, en el que una pluralidad de opciones de accion esta asociada con la accion representada por el identificador de accion seleccionado;
determinar (610, 612) un subconjunto de opciones de accion al procesar la imagen que representa el objeto seleccionado para generar caractensticas representativas de la imagen y comparar las caractensticas generadas de la imagen para el objeto seleccionado con las caractensticas de otras imagenes asociadas con conjuntos mantenidos para el usuario;
presentar al usuario identificadores de opciones de accion (122B1-122B3) representativos del subconjunto determinado de opciones de accion; y
en respuesta a la seleccion (614) de una opcion de accion presentada, provocar (616-624) el rendimiento de la accion representada por el identificador de accion seleccionado y/o la opcion de accion seleccionada asociada.
2. El metodo implementado por ordenador de la reivindicacion 1, en el que determinar la pluralidad de acciones que pueden realizarse con respecto al objeto seleccionado comprende ademas usar una funcion de ponderacion.
3. El metodo implementado por ordenador de la reivindicacion 2, en el que la funcion de ponderacion considera acciones pasadas seleccionadas por el usuario y cada accion recibe un valor de ponderacion decreciente basado en el tiempo desde la ultima vez que se realizo la accion.
4. El metodo implementado por ordenador de una cualquiera de las reivindicaciones anteriores, en el que la pantalla del dispositivo informatico es una pantalla tactil.
5. El metodo implementado por ordenador de una cualquiera de las reivindicaciones anteriores, en el que se presenta el menu contextual (606) en respuesta a la determinacion del usuario por la seleccion del objeto mediante una pulsacion larga en la representacion del objeto.
6. El metodo implementado por ordenador de la reivindicacion 5, en el que la seleccion de un identificador de accion se recibe en respuesta a:
determinar la retirada de la pulsacion larga en el identificador de accion; o
determinar la pulsacion prolongada del identificador de accion.
7. El metodo implementado por ordenador de una cualquiera de las reivindicaciones anteriores, en el que el objeto corresponde a una de una pluralidad de representaciones de objetos presentadas en la pantalla del dispositivo.
8. El metodo implementado por ordenador de cualquiera de las reivindicaciones anteriores, en el que la pluralidad de acciones incluye al menos una de enviar un mensaje, publicar el objeto seleccionado en un sitio o plataforma de redes sociales, agregar un comentario al objeto seleccionado, comprar el objeto seleccionado, buscar objetos similares al objeto seleccionado, agregar el objeto seleccionado a un conjunto, eliminar el objeto seleccionado de un conjunto, promover el objeto seleccionado, informar del objeto seleccionado, identificar a otros usuarios que han tomado acciones con respecto al objeto seleccionado, guardar el objeto seleccionado en el dispositivo informatico.
9. El metodo implementado por ordenador de una cualquiera de las reivindicaciones anteriores, que comprende, ademas:
determinar que la accion representada por el identificador de accion seleccionado incluye una accion remota; y enviar informacion de accion a un recurso informatico remoto.
10. El metodo implementado por ordenador de la reivindicacion 9, en el que la informacion de accion incluye uno o mas de los objetos, comandos de accion o informacion del usuario seleccionados.
11. El metodo implementado por ordenador de una cualquiera de las reivindicaciones anteriores, en el que la determinacion del subconjunto de opciones de accion incluye: para cada conjunto de los multiples conjuntos mantenidos para el usuario,
comparar las caractensticas generadas con las caractensticas de cada imagen asociada con el conjunto para generar una puntuacion de similitud para cada imagen del conjunto, y
determinar una puntuacion general de similitud para el conjunto basandose en un promedio de las puntuaciones de similitud para las imagenes del conjunto; y
seleccionar los conjuntos con la mayor puntuacion de similitud como opciones de accion.
12. El metodo implementado por ordenador de cualquiera de las reivindicaciones anteriores, en el que presentar el menu contextual al usuario incluye mostrar en la pantalla del dispositivo informatico un identificador de entrada que identifica la ubicacion aproximada de la entrada recibida con los identificadores de accion, cada uno de los cuales se muestra a una distancia definida del identificador de entrada en un patron radial alrededor del identificador de entrada.
13. El metodo implementado por ordenador de una cualquiera de las reivindicaciones anteriores, en el que la determinacion de la pluralidad de acciones que pueden realizarse con respecto al objeto seleccionado se basa, al menos en parte, en una o mas de una identidad del usuario, una accion seleccionada por el usuario, un objeto, un objeto anterior seleccionado por el usuario o una relacion entre el objeto y el usuario.
14. El metodo implementado por ordenador de la reivindicacion 13, en el que la determinacion de la pluralidad de acciones que pueden realizarse con respecto al objeto seleccionado comprende:
determinar una primera opcion de accion correspondiente a la accion seleccionada, en el que la primera opcion de accion tiene una primera probabilidad de seleccion; y
determinar una segunda opcion de accion correspondiente a la accion seleccionada, en el que la segunda opcion de accion tiene una segunda probabilidad de seleccion,
en el que la pluralidad de opciones de accion incluye la primera opcion de accion y la segunda opcion de accion.
15. Un sistema informatico, que comprende:
uno o mas procesadores; y
una memoria acoplada a uno o mas procesadores y que almacena las instrucciones del programa que cuando se ejecutan por uno o mas procesadores hacen que uno o mas procesadores realicen el metodo de una cualquiera de las reivindicaciones anteriores.
ES14826547T 2013-07-16 2014-07-15 Controles de menú contextual basado en objetos Active ES2707967T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361847078P 2013-07-16 2013-07-16
PCT/US2014/046770 WO2015009770A1 (en) 2013-07-16 2014-07-15 Object based contextual menu controls

Publications (1)

Publication Number Publication Date
ES2707967T3 true ES2707967T3 (es) 2019-04-08

Family

ID=52344668

Family Applications (1)

Application Number Title Priority Date Filing Date
ES14826547T Active ES2707967T3 (es) 2013-07-16 2014-07-15 Controles de menú contextual basado en objetos

Country Status (8)

Country Link
US (1) US10152199B2 (es)
EP (1) EP3022639B1 (es)
JP (1) JP6220452B2 (es)
AU (2) AU2014290148A1 (es)
CA (1) CA2918459C (es)
ES (1) ES2707967T3 (es)
MX (1) MX2016000664A (es)
WO (1) WO2015009770A1 (es)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107728906B (zh) 2012-05-09 2020-07-31 苹果公司 用于移动和放置用户界面对象的设备、方法和图形用户界面
CN105260049B (zh) 2012-05-09 2018-10-23 苹果公司 用于响应于用户接触来显示附加信息的设备、方法和图形用户界面
CN109298789B (zh) 2012-05-09 2021-12-31 苹果公司 用于针对激活状态提供反馈的设备、方法和图形用户界面
EP2847659B1 (en) 2012-05-09 2019-09-04 Apple Inc. Device, method, and graphical user interface for transitioning between display states in response to a gesture
WO2013169842A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for selecting object within a group of objects
JP6082458B2 (ja) 2012-05-09 2017-02-15 アップル インコーポレイテッド ユーザインタフェース内で実行される動作の触知フィードバックを提供するデバイス、方法、及びグラフィカルユーザインタフェース
WO2013169865A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for moving a user interface object based on an intensity of a press input
EP3410287B1 (en) 2012-05-09 2022-08-17 Apple Inc. Device, method, and graphical user interface for selecting user interface objects
WO2013169849A2 (en) 2012-05-09 2013-11-14 Industries Llc Yknots Device, method, and graphical user interface for displaying user interface objects corresponding to an application
WO2013169843A1 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for manipulating framed graphical objects
KR102001332B1 (ko) 2012-12-29 2019-07-17 애플 인크. 콘텐츠를 스크롤할지 선택할지 결정하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
EP2939095B1 (en) 2012-12-29 2018-10-03 Apple Inc. Device, method, and graphical user interface for moving a cursor according to a change in an appearance of a control icon with simulated three-dimensional characteristics
US20150058808A1 (en) * 2013-08-23 2015-02-26 General Electric Company Dynamic contextual touch menu
US10282905B2 (en) 2014-02-28 2019-05-07 International Business Machines Corporation Assistive overlay for report generation
US10261661B2 (en) * 2014-06-25 2019-04-16 Oracle International Corporation Reference position in viewer for higher hierarchical level
US9612720B2 (en) 2014-08-30 2017-04-04 Apollo Education Group, Inc. Automatic processing with multi-selection interface
US9906413B1 (en) * 2014-12-18 2018-02-27 Jpmorgan Chase Bank, N.A. System and method for implementing a dynamic hierarchy for devices
US10051036B1 (en) * 2015-01-23 2018-08-14 Clarifai, Inc. Intelligent routing of media items
US9632664B2 (en) * 2015-03-08 2017-04-25 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10095396B2 (en) 2015-03-08 2018-10-09 Apple Inc. Devices, methods, and graphical user interfaces for interacting with a control object while dragging another object
US20160266770A1 (en) * 2015-03-11 2016-09-15 International Business Machines Corporation Multi-selector contextual action paths
US9639184B2 (en) 2015-03-19 2017-05-02 Apple Inc. Touch input cursor manipulation
US10353541B1 (en) 2015-03-27 2019-07-16 Open Text Corporation Context menu fragment management
US20170045981A1 (en) 2015-08-10 2017-02-16 Apple Inc. Devices and Methods for Processing Touch Inputs Based on Their Intensities
US9891811B2 (en) 2015-06-07 2018-02-13 Apple Inc. Devices and methods for navigating between user interfaces
US9860451B2 (en) 2015-06-07 2018-01-02 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US10200598B2 (en) 2015-06-07 2019-02-05 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US9830048B2 (en) 2015-06-07 2017-11-28 Apple Inc. Devices and methods for processing touch inputs with instructions in a web page
US10021187B2 (en) * 2015-06-29 2018-07-10 Microsoft Technology Licensing, Llc Presenting content using decoupled presentation resources
US10235035B2 (en) 2015-08-10 2019-03-19 Apple Inc. Devices, methods, and graphical user interfaces for content navigation and manipulation
US9880735B2 (en) 2015-08-10 2018-01-30 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US20170063753A1 (en) * 2015-08-27 2017-03-02 Pinterest, Inc. Suggesting object identifiers to include in a communication
KR20180093040A (ko) 2015-12-21 2018-08-20 구글 엘엘씨 메시지 교환 스레드들에 대한 자동적인 제안들
WO2017112796A1 (en) 2015-12-21 2017-06-29 Google Inc. Automatic suggestions and other content for messaging applications
CN105677230A (zh) * 2016-01-29 2016-06-15 宇龙计算机通信科技(深圳)有限公司 一种功能控制方法及终端
CN105912258B (zh) * 2016-04-13 2019-12-13 北京小米移动软件有限公司 操作处理方法及装置
DE102016124277A1 (de) 2016-04-19 2017-10-19 Patty's Gmbh Verfahren zum Ermitteln und Anzeigen von Produkten auf einer elektronischen Anzeigeeinrichtung
JP6659910B2 (ja) 2016-09-20 2020-03-04 グーグル エルエルシー データへのアクセス許可を要求するボット
CN109952572B (zh) 2016-09-20 2023-11-24 谷歌有限责任公司 基于消息贴纸的建议响应
US11010211B2 (en) 2016-11-15 2021-05-18 Microsoft Technology Licensing, Llc Content processing across applications
KR20180074403A (ko) * 2016-12-23 2018-07-03 엘지전자 주식회사 공항용 로봇 및 그의 동작 방법
KR102402096B1 (ko) * 2017-03-27 2022-05-26 삼성전자주식회사 이미지 내 오브젝트와 관련된 정보를 제공하는 전자 장치
US10078909B1 (en) * 2017-05-16 2018-09-18 Facebook, Inc. Video stream customization using graphics
US10891485B2 (en) 2017-05-16 2021-01-12 Google Llc Image archival based on image categories
US10467030B2 (en) * 2017-05-23 2019-11-05 Sap Se Single user display interface
US10348658B2 (en) 2017-06-15 2019-07-09 Google Llc Suggested items for use with embedded applications in chat conversations
US10404636B2 (en) 2017-06-15 2019-09-03 Google Llc Embedded programs and interfaces for chat conversations
US10891526B2 (en) 2017-12-22 2021-01-12 Google Llc Functional image archiving
EP3617862B1 (en) * 2018-08-30 2020-11-11 Siemens Healthcare GmbH Processing a user input in relation to an image
USD914762S1 (en) * 2019-03-27 2021-03-30 Mi Hee Lee Display screen or portion thereof with icon
TWI768327B (zh) * 2020-04-21 2022-06-21 宏碁股份有限公司 電子裝置與其資料傳輸方法
US20220019340A1 (en) * 2020-07-15 2022-01-20 yuchen du Social knowledge graph for collective learning
US11816176B2 (en) * 2021-07-27 2023-11-14 Locker 2.0, Inc. Systems and methods for enhancing online shopping experience

Family Cites Families (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5261042A (en) * 1986-03-27 1993-11-09 Wang Laboratories, Inc. Menu management system
US5758257A (en) * 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US5689667A (en) * 1995-06-06 1997-11-18 Silicon Graphics, Inc. Methods and system of controlling menus with radial and linear portions
US5842194A (en) * 1995-07-28 1998-11-24 Mitsubishi Denki Kabushiki Kaisha Method of recognizing images of faces or general images using fuzzy combination of multiple resolutions
US5848396A (en) * 1996-04-26 1998-12-08 Freedom Of Information, Inc. Method and apparatus for determining behavioral profile of a computer user
US6493006B1 (en) * 1996-05-10 2002-12-10 Apple Computer, Inc. Graphical user interface having contextual menus
US6647139B1 (en) * 1999-02-18 2003-11-11 Matsushita Electric Industrial Co., Ltd. Method of object recognition, apparatus of the same and recording medium therefor
US6549219B2 (en) * 1999-04-09 2003-04-15 International Business Machines Corporation Pie menu graphical user interface
US6664991B1 (en) * 2000-01-06 2003-12-16 Microsoft Corporation Method and apparatus for providing context menus on a pen-based device
US6678413B1 (en) * 2000-11-24 2004-01-13 Yiqing Liang System and method for object identification and behavior characterization using video analysis
US7246329B1 (en) * 2001-05-18 2007-07-17 Autodesk, Inc. Multiple menus for use with a graphical user interface
US7415671B2 (en) * 2001-06-08 2008-08-19 Computer Associates Think, Inc. Interactive hierarchical status display
US8370761B2 (en) * 2002-02-21 2013-02-05 Xerox Corporation Methods and systems for interactive classification of objects
US7370276B2 (en) * 2002-05-17 2008-05-06 Sap Aktiengesellschaft Interface for collecting user preferences
US7058902B2 (en) * 2002-07-30 2006-06-06 Microsoft Corporation Enhanced on-object context menus
US20040100505A1 (en) * 2002-11-21 2004-05-27 Cazier Robert Paul System for and method of prioritizing menu information
US7587411B2 (en) * 2003-03-27 2009-09-08 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7783672B2 (en) * 2003-04-09 2010-08-24 Microsoft Corporation Support mechanisms for improved group policy management user interface
JP2004334705A (ja) 2003-05-09 2004-11-25 Nippon Telegr & Teleph Corp <Ntt> マウスカーソルの多機能化装置、マウスカーソルの多機能化方法、情報機器に対する操作指示の処理方法、コンテンツの保存方法、及びコンテンツを所定のアプリケーションで開く方法
US20040249813A1 (en) * 2003-06-04 2004-12-09 Singh Pradeep Kumar Open component alliance
JP2005141513A (ja) 2003-11-07 2005-06-02 Mitsubishi Electric Corp 監視システム
US20060020597A1 (en) * 2003-11-26 2006-01-26 Yesvideo, Inc. Use of image similarity in summarizing a collection of visual images
US7487441B2 (en) * 2004-03-11 2009-02-03 Yahoo!Inc. Method and system of enhanced messaging
US7886024B2 (en) * 2004-07-01 2011-02-08 Microsoft Corporation Sharing media objects in a network
CA2500573A1 (en) * 2005-03-14 2006-09-14 Oculus Info Inc. Advances in nspace - system and method for information analysis
JP2007141190A (ja) 2004-12-09 2007-06-07 Ricoh Co Ltd 情報処理装置、情報処理方法、およびそのプログラム
US7627096B2 (en) * 2005-01-14 2009-12-01 At&T Intellectual Property I, L.P. System and method for independently recognizing and selecting actions and objects in a speech recognition system
EP1691277B1 (en) * 2005-02-11 2009-06-24 Sap Ag Context menu providing dependency relationships for objects of different type
US7646895B2 (en) * 2005-04-05 2010-01-12 3Vr Security, Inc. Grouping items in video stream images into events
JP2006338458A (ja) 2005-06-03 2006-12-14 Sony Corp データ処理装置、データ処理方法、プログラム
US20070050468A1 (en) * 2005-08-09 2007-03-01 Comverse, Ltd. Reality context menu (RCM)
JP4717743B2 (ja) * 2005-08-23 2011-07-06 株式会社リコー 情報処理装置
EP1929397A1 (en) * 2005-09-30 2008-06-11 Nokia Corporation A method, device, computer program and graphical user interface used for the selection, movement and de-selection of an item
US20070136690A1 (en) * 2005-12-12 2007-06-14 Microsoft Corporation Wedge menu
US7644372B2 (en) * 2006-01-27 2010-01-05 Microsoft Corporation Area frequency radial menus
US9547648B2 (en) * 2006-08-03 2017-01-17 Excalibur Ip, Llc Electronic document information extraction
US7509348B2 (en) * 2006-08-31 2009-03-24 Microsoft Corporation Radially expanding and context-dependent navigation dial
US7873710B2 (en) * 2007-02-06 2011-01-18 5O9, Inc. Contextual data communication platform
US8352881B2 (en) * 2007-03-08 2013-01-08 International Business Machines Corporation Method, apparatus and program storage device for providing customizable, immediate and radiating menus for accessing applications and actions
WO2008111052A2 (en) * 2007-03-09 2008-09-18 Ghost, Inc. A virtual file system for the web
US20080228685A1 (en) * 2007-03-13 2008-09-18 Sharp Laboratories Of America, Inc. User intent prediction
JP2008244633A (ja) 2007-03-26 2008-10-09 Seiko Epson Corp リモートコントローラ
US8370750B2 (en) * 2007-04-06 2013-02-05 International Business Machines Corporation Technology for generating service program
US7941467B2 (en) * 2007-05-29 2011-05-10 Research In Motion Limited System and method for integrating image upload objects with a message list
US8201096B2 (en) * 2007-06-09 2012-06-12 Apple Inc. Browsing or searching user interfaces and other aspects
US7941765B2 (en) * 2008-01-23 2011-05-10 Wacom Co., Ltd System and method of controlling variables using a radial control menu
US9058765B1 (en) 2008-03-17 2015-06-16 Taaz, Inc. System and method for creating and sharing personalized virtual makeovers
JP2010009224A (ja) 2008-06-25 2010-01-14 Fujitsu Ltd 情報処理装置、情報処理方法、およびプログラム
US8245156B2 (en) * 2008-06-28 2012-08-14 Apple Inc. Radial menu selection
US8321802B2 (en) * 2008-11-13 2012-11-27 Qualcomm Incorporated Method and system for context dependent pop-up menus
US20100271312A1 (en) 2009-04-22 2010-10-28 Rachid Alameh Menu Configuration System and Method for Display on an Electronic Device
US8549432B2 (en) * 2009-05-29 2013-10-01 Apple Inc. Radial menus
US9632662B2 (en) * 2009-09-16 2017-04-25 International Business Machines Corporation Placement of items in radial menus
US8694514B2 (en) * 2009-10-12 2014-04-08 Oracle International Corporation Collaborative filtering engine
US8593576B2 (en) * 2009-10-15 2013-11-26 At&T Intellectual Property I, L.P. Gesture-based remote control
CA2680602C (en) 2009-10-19 2011-07-26 Ibm Canada Limited - Ibm Canada Limitee System and method for generating and displaying hybrid context menus
JP2011107823A (ja) 2009-11-13 2011-06-02 Canon Inc 表示制御装置及び表示制御方法
US8490018B2 (en) * 2009-11-17 2013-07-16 International Business Machines Corporation Prioritization of choices based on context and user history
CA2731772C (en) * 2010-02-15 2014-08-12 Research In Motion Limited Graphical context short menu
US9367205B2 (en) * 2010-02-19 2016-06-14 Microsoft Technolgoy Licensing, Llc Radial menus with bezel gestures
JP5569052B2 (ja) 2010-03-11 2014-08-13 株式会社リコー 機器管理システム、情報処理装置、及び情報処理方法
US8660355B2 (en) * 2010-03-19 2014-02-25 Digimarc Corporation Methods and systems for determining image processing operations relevant to particular imagery
US8631350B2 (en) * 2010-04-23 2014-01-14 Blackberry Limited Graphical context short menu
US8719730B2 (en) * 2010-04-23 2014-05-06 Ganz Radial user interface and system for a virtual world game
US8719706B2 (en) * 2010-06-10 2014-05-06 Microsoft Corporation Cloud-based application help
US8509982B2 (en) * 2010-10-05 2013-08-13 Google Inc. Zone driving
US9639237B2 (en) * 2010-10-28 2017-05-02 Microsoft Technology Licensing, Llc User-customizable context menus
US20120227000A1 (en) * 2011-03-03 2012-09-06 Sony Network Entertainment International Llc Methods and systems for use in providing customized system menus
US9002831B1 (en) * 2011-06-10 2015-04-07 Google Inc. Query image search
US9746995B2 (en) * 2011-07-14 2017-08-29 Microsoft Technology Licensing, Llc Launcher for context based menus
US9086794B2 (en) * 2011-07-14 2015-07-21 Microsoft Technology Licensing, Llc Determining gestures on context based menus
US9582187B2 (en) * 2011-07-14 2017-02-28 Microsoft Technology Licensing, Llc Dynamic context based menus
US20130019175A1 (en) * 2011-07-14 2013-01-17 Microsoft Corporation Submenus for context based menu system
CN102915173B (zh) * 2011-08-04 2015-11-25 腾讯科技(深圳)有限公司 菜单实现方法和系统
US20130073568A1 (en) * 2011-09-21 2013-03-21 Vladimir Federov Ranking structured objects and actions on a social networking system
US20130086056A1 (en) * 2011-09-30 2013-04-04 Matthew G. Dyor Gesture based context menus
US20130091467A1 (en) * 2011-10-07 2013-04-11 Barnesandnoble.Com Llc System and method for navigating menu options
US8869068B2 (en) * 2011-11-22 2014-10-21 Backplane, Inc. Content sharing application utilizing radially-distributed menus
US8930839B2 (en) * 2011-11-22 2015-01-06 Yahoo! Inc. Automatically arranging of icons on a user interface
US8589825B2 (en) * 2012-02-28 2013-11-19 Huawei Technologies Co., Ltd. Communication application triggering method and electronic device
US20130283274A1 (en) * 2012-03-29 2013-10-24 David MIMRAN Method and system for discovering and activating an application in a computer device
US20130257792A1 (en) * 2012-04-02 2013-10-03 Synaptics Incorporated Systems and methods for determining user input using position information and force sensing
US9239664B2 (en) * 2012-08-29 2016-01-19 Sap Se Method and system for using a tablet device to provide contextual input to a computing device
US20140280531A1 (en) * 2013-03-13 2014-09-18 Xin Liu Object ranking and recommendations within a social network
US9268793B2 (en) * 2014-03-12 2016-02-23 Google Inc. Adjustment of facial image search results

Also Published As

Publication number Publication date
AU2017232108A1 (en) 2017-10-12
AU2014290148A1 (en) 2016-02-11
EP3022639A4 (en) 2017-03-22
MX2016000664A (es) 2017-07-04
WO2015009770A1 (en) 2015-01-22
CA2918459A1 (en) 2015-01-22
EP3022639A1 (en) 2016-05-25
CA2918459C (en) 2019-06-04
US20150026642A1 (en) 2015-01-22
AU2017232108B9 (en) 2019-10-24
AU2017232108B2 (en) 2019-10-10
JP6220452B2 (ja) 2017-10-25
US10152199B2 (en) 2018-12-11
JP2016530613A (ja) 2016-09-29
EP3022639B1 (en) 2018-10-31

Similar Documents

Publication Publication Date Title
ES2707967T3 (es) Controles de menú contextual basado en objetos
US10924886B2 (en) Visitation tracking system
EP3341863B1 (en) Suggesting object identifiers to include in a communication
US10382371B2 (en) System and methods for card interaction and assigning cards to devices
US9191238B2 (en) Virtual notes in a reality overlay
EP2932369B1 (en) Computer application promotion
US20160112836A1 (en) Suggesting Activities
CN113348650B (zh) 交互信息界面的显示方法、系统及机器可读存储介质
US20160110065A1 (en) Suggesting Activities
US11928133B2 (en) Unit group generation and relationship establishment
US11228633B1 (en) Determining profile signatures associated with sets
US20170235706A1 (en) Effecting multi-step operations in an application in response to direct manipulation of a selected object
CN105593852A (zh) 与搜索栏相关联来提供信息
CN111868769A (zh) 情境消息推迟
KR20170010311A (ko) 개인 인텔리전스 플랫폼 제공 방법
US20200183996A1 (en) Social media tag suggestion based on product recognition
US20240045899A1 (en) Icon based tagging
EP4158856A1 (en) Media request system
JP6073324B2 (ja) コンピュータにより行われる処理方法
US11386479B1 (en) Computer-readable storage medium for presenting object identifiers for real world objects on wearable and portable devices
US11818088B2 (en) Messaging system for review data
US20140047391A1 (en) System and Method for Communicating with Non-Verbal Persons