MXPA03011916A - Asistente de contenido activo: ejecucion de tareas y contenido estructurado. - Google Patents
Asistente de contenido activo: ejecucion de tareas y contenido estructurado.Info
- Publication number
- MXPA03011916A MXPA03011916A MXPA03011916A MXPA03011916A MXPA03011916A MX PA03011916 A MXPA03011916 A MX PA03011916A MX PA03011916 A MXPA03011916 A MX PA03011916A MX PA03011916 A MXPA03011916 A MX PA03011916A MX PA03011916 A MXPA03011916 A MX PA03011916A
- Authority
- MX
- Mexico
- Prior art keywords
- task
- user
- subtasks
- gui
- executing
- Prior art date
Links
Classifications
-
- A—HUMAN NECESSITIES
- A45—HAND OR TRAVELLING ARTICLES
- A45D—HAIRDRESSING OR SHAVING EQUIPMENT; EQUIPMENT FOR COSMETICS OR COSMETIC TREATMENTS, e.g. FOR MANICURING OR PEDICURING
- A45D29/00—Manicuring or pedicuring implements
- A45D29/17—Nail cleaners, e.g. scrapers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/453—Help systems
-
- A—HUMAN NECESSITIES
- A46—BRUSHWARE
- A46B—BRUSHES
- A46B2200/00—Brushes characterized by their functions, uses or applications
- A46B2200/10—For human or animal care
- A46B2200/1006—Brushes for cleaning the hand or the human body
- A46B2200/1013—Brushes for cleaning fingers or finger nails
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Document Processing Apparatus (AREA)
Abstract
La invencion describe un sistema para crear y ejecutar asistentes. Los asistentes nuevos son creados ya sea a partir de un contenido estructurado existente como los archivos HELP, articulos KB, etcetera, o son creados usando herramientas de autoria sencillas que ponen como objetivo a autores con pericia en aplicaciones (que no requieren habilidades de desarrollo). Los asistentes funcionan encima de la GUI que ya existe usando modulos de automatizacion GUI existentes, y pueden ya sea ensenar a los usuarios como realizar las tareas o realizan las tareas en su nombre. Adicionalmente, los asistentes creados tambien pueden dialogar con el usuario, ayudandolos a hacer selecciones, y pueden accesar el estado del sistema/usuario para realizar acciones condicionales. Los asistentes se actualizan a traves de un sistema de retroalimentacion opcional.
Description
ASISTENTE DE CONTENIDO ACTIVO: EJECUCION DE TAREAS Y CONTENIDO ESTRUCTURADO
ANTECEDENTES DE LA INVENCION Existen muchos intentos para habilitar la interacción basada en el lenguaje/voz natural con computadoras. Hasta ahora, los resultados de estos intentos han sido limitados. Lo anterior se debe a una combinación de imperfecciones de la tecnología, la- falta de in raestructura de micrófono no intrusivo, altos costos de autoría, comportamientos parapetados del cliente y un competidor en la forma de GÜI (interfase gráfica de usuario) , la cual ofrece un alto valor para muchas tareas . La presente invención se enfoca en dos de estas limitaciones, una integración más cercana con la GUI y una autoría más reducida. La Interfase gráfica de usuario (GUI, por sus siglas en inglés) es un mecanismo de interfase ampliamente usada. Las GUI's son muy buenas para poner en posición las tareas (por ejemplo, medir nuevamente un rectángulo), tareas de modificador visual (por ejemplo hacer algo en un tono de azul indescriptible) o tareas de selección (por ejemplo, esta es una de cien fotografías que quiero girar) . La GUI también es buena para tener un acceso instantáneo a características rápidas de un solo paso. Una GUI de aplicaciones es una caja de herramientas útil que está organizada desde una perspectiva funcional (por ejemplo, organizada en menús, barras de herramientas, etcétera) más bien que una perspectiva orientada a tareas (por ejemplo, organizada por tareas de nivel más alto que los usuarios quieren hacer: por ejemplo, "hacer que mi computadora esté asegurada contra piratas") . No obstante, las GUIs también presentan muchos problemas al usuario. Usando la analogía de la caja de herramientas, un usuario tiene dificultad para encontrar las herramientas en la caja, o decidir como usar las herramientas para completar una tarea, üna interfase descrita solo por palabras, botones diminutos y pestañas forzadas dentro de una jerarquía opaca no se presta para la manera en que la gente considera sus tareas . La GUI requiere que el usuario desglose las tareas con el propósito de determinar cuáles elementos son necesarios para realizar la tarea. Este requerimiento conduce a la complejidad. Además del asunto de la complejidad, se requiere tiempo para ensamblar los elementos de la GUI (es decir, clics del menú, clics del diálogo, etcétera) . Lo anterior puede ser ineficaz y requiere consumo tiempo aun para usuarios expertos. Un mecanismo existente para dar atención a los problemas de la GUI es un procedimiento de Help (Ayuda) por escrito. Los procedimientos Help frecuentemente toman la forma de documentos Help, PSS (servicios de soporte del Producto) , artículos KB (base de conocimiento) , y plazas de grupo de noticias, las cuales llenan el espacio abierto intermedio entre las necesidades del cliente y los problemas de la GUI. Estos son semejantes al manual que viene con la caja de herramientas, y tiene muchos beneficios. Estos beneficios incluyen, a manera de ejemplo: 1) Estos son fáciles de crear aun para creadores no técnicos . 2) Estos son fáciles de actualizar en un servidor de tal manera que los usuarios conectados tienen acceso fácil al nuevo contenido, y 3) Estos enseñan que la GUI ponen a los usuarios en control para resolver problemas. No obstante, los documentos Help, PSS, artículos KB, y plazas de grupo de noticias tienen sus propios conjuntos de problemas. Estos problemas incluyen, a manera de ejemplo: 1) Las tareas complejas requieren una gran cantidad de procesamiento de parte del usuario. El usuario necesita hacer el mapeo a partir de le que se dice en cada paso a la GUI. 2) Los solucionadores de problemas (troubleshooters ) , y aun el documento Help de procedimientos, frecuentemente incluyen información del estado que crea ramificaciones complejas dentro del tema Help, haciendo que los temas sean largos y difíciles de leer y procesar para el usuario. Las barras de herramientas pudieran faltar, y podría ser necesario encenderla antes de tomar el siguiente paso. Los solucionadores de problemas frecuentemente plantean preguntas sobre un estado que en el mejor de los casos es frustrante (porque el solucionador de problemas debe ser capaz de encontrar la respuesta por sí mismo) y en el peor de los casos sin respuesta por los no expertos. 3) Existen millones de documentos, y buscar respuestas envuelve ambos, el problema de donde empezar la búsqueda, y cómo escoger el mejor resultado de búsqueda a partir de los miles que regresaron. 4) No existe una estructura de autoría compartida. Las plazas de grupo de noticias, los artículos KB, los solucionadores de problemas y los documentos Help de procedimiento todas tienen estructuras diferentes y estrategias de autoría, aun cuando todas ellas resuelven problemas similares . Otro mecanismo existente para dar atención a los problemas de la GÜI es un Asistente (Asistente) . Los Asistentes fueron creados para dar atención a las debilidades de la GUI y procedimientos de ayuda por escrito. En la actualidad existen miles de asistentes, y estos asistentes se pueden encontrar en casi cada producto de software que sea fabricado. Esto se debe a que los asistentes resuelven una necesidad real a la que en la actualidad no se le da atención por medio de la ayuda y asistencia basada en el texto existente. Estos le permiten a los usuarios a tener acceso a la funcionalidad de una manera orientada a la tarea y pueden ensamblar la GUI o las herramientas automáticamente. Los Asistentes permiten un elemento a un administrador y desarrollador de programa para que den atención a las tareas del cliente. Ellos son como el experto en la caja auxiliando al usuario a través de los pasos necesarios para lograr éxito en la tarea. Algunos asistentes ayudan a los clientes a establecer un sistema (por ejemplo, Asistentes de Instalación) , algunos asistentes incluyen contenido con características y ayudan a los clientes a crear el contenido (por ejemplo, Asistentes de Cartas Noticiosas o Asistentes de AutoContenido de PowerPoint) , y algunos asistentes ayudan a los clientes a diagnosticar y resolver problemas (por ejemplo Solucionadores de Problemas) . Los Asistentes proporcionan muchos beneficios al usuario. Algunos de los beneficios de los asistentes son que:
1) Los asistentes incorporan la noción de una "tarea". Generalmente es claro a los usuarios que el asistente los ayuda atener logros. Con las páginas de paso -a - paso, es fácil para un usuario hacer sus elecciones y en el caso de asistentes bien diseñados la incidencia de agobio visual del usuario frecuentemente se reduce. 2) Los Asistentes automáticamente se ensamblan e interactúan con las características implícitas del software e incluyen la información o la pericia que se necesita para que los clientes hagan sus elecciones . Lo anterior le ahorra tiempo al usuario en la ejecución de la tarea. 3) Los asistentes automáticamente generan el contenido y le ahorran tiempo a los usuarios por medio de crear texto y planear un arreglo. 4) Los asistentes también son un buen medio para plantear preguntas, obtener respuestas y ramificar a la siguiente pregunta o característica más relevante. No obstante, los asistentes también tienen su propio conjunto de problemas. Algunos de los problemas con los asistentes incluyen, como medio de ejemplo: 1) Existen muchas más tareas que la gente trata de lograr de lo que existen asistentes para lograrlas. 2) Los asistentes y las IUI (Interfases de Usuario Inductivas) no enseñan a los clientes cómo usar las GUI explícitas y con frecuencia cuando se completa el Asistente, los usuarios no están seguros a dónde dirigirse después . 3) El costo de la autoría de los asistentes es aun alto y requiere personal con pericia técnica (por ejemplo, desarrolladores de software) para crear el Asistente .
COMPENDIO DE LA INVENCION La presente invención da atención a algunos de los problemas de los Asistentes, Ayuda, artículos de base de Conocimiento y solucionadores de problemas por medio de permitir una manera fácil para crear miles de tareas (o Asistentes) , y ya sea que integran y enseñan el GÜI al usuario o ejecutan la tarea a nombre del usuario. Se puede implementar la presente invención para incluir una amplia variedad de características . En una modalidad una interfase de Usuario de conformidad con la invención, lleva a los clientes a través de una serie de pasos atómicos para realizar una tarea. La interfase del usuario puede estar encima de e interactuar con una interfase de usuario existente (UI, por sus siglas en inglés) . La interfase del usuario puede incluir botones de la barra de herramienta para tener un acceso desencadenado rápido a los comandos comunes, un sistema de menú para ajusfar las propiedades, y aun una caja que organiza algunas características (por ejemplo, una caja de diálogo) . La noción de "tareas" está puesta en capas sobre esta interfase del usuario (o "caja de herramientas") de una manera que ayuda a los usuarios a ensamblar rápidamente las herramientas, ya sea para automáticamente ensamblar las herramientas para realizar la tarea para el usuario, o por medio de enseñar al usuario cómo hacerlo. La decisión, acerca de cuándo realizar automáticamente la tarea y cuando enseñarla, puede estar íntimamente entremezclada con la solicitud por el usuario tal como si es por escrito o de voz, el tipo de tarea, el nivel de pericia del usuario, el tipo de personalidad del usuario, si el usuario tiene discapacidades (tal como un usuario con RSI (Daño por Estrés Repetitivo) ) , y la frecuencia de uso de un programa de software y tarea dados . Mover el desarrollo de tareas o asistentes desde un desarrollador a una audiencia no técnica requiere extracción desde el modelo del objeto implícito. Por consiguiente, de conformidad con otra modalidad, la presente invención proporciona un marco de trabajo para conectar a la GUI existente . En un ejemplo, la arquitectura de la presente invención usa la tecnología de automatización GUI para conectar a la GUI. Los ejemplos de módulos de automatización GUI son módulos de accesibilidad que despachan con el software del sistema operativo disponible actualmente, tal como el Microsoft Active Accessibility (Accesibilidad Activa de Microsoft) de Microsoft Corporation de Redmond, Washington. La secuencia de comando también, se pueden almacenar en un formato usado por la presente invención, tal como el XML, que es fácilmente entendible por usuarios no técnicos . Un porcentaje Help, artículos KB y plazas de grupos de noticias necesitan más información sobre el software y el estado de sistema, antes de proponer una solución a un problema dado, o antes de indicar cómo realizar una tarea solicitada. En el pasado, esta verificación de estado se dejaba con frecuencia al usuario. Por ejemplo, una verificación de estado ejemplar es "si usted está conectado a una red para hacer esto..." o "si usted tiene una impresora compartida habilitada, haga esto..." La arquitectura de una modalidad de la presente invención le permite a los autores a especificar tales condiciones de ramificación con base en el estado del usuario/software/máquina. En el funcionamiento, un intérprete en la presente invención determina automáticamente estas condiciones de estado, y toma las decisiones apropiadas según hayan sido especificadas por el autor. Los componentes principales de la plataforma ACW son secuencias de comandos ACW, herramientas de autoría ACW, intérprete ACW y el sistema de retroalimentación ACW. Las secuencias de comandos, de conformidad con una modalidad, son la representación estructurada de un asistente que implementa características de la invención. Esta representación puede contener información que es usada por el intérprete para ejecutar las instrucciones, así como las descripciones de lenguaje natural de los diferentes pasos en la tarea que se va a realizar. Pueden existir diferentes tipos de instrucciones en el archivo de una secuencia de comandos. Algunas instrucciones son ejecutadas contra la GUI, algunas instrucciones son para verificar el estado del usuario/máquina, y algunas para dialogar con el usuario. En una modalidad de una secuencia de comandos, el lenguaje usado para representar la secuencia de comandos es XML . Las herramientas de autoría, de conformidad con una modalidad, son herramientas que los usuarios/autores del sistema usan para crear secuencias de comandos . Estos incluyen herramientas para importar el contenido existente Help/KB artículos /grupos de noticias dentro de las secuencias de comandos así como herramientas de autoría fáciles para crear nuevas secuencias de comandos. En tanto que las herramientas de autoría no forman parte de la invención, éstas se describen brevemente por el bien de integridad. Un ejemplo de una herramienta de autoría es una herramienta que monitorea las acciones que realiza el autor en la computadora, y genera una secuencia de comandos a partir de éstas. Por ejemplo, para crear una secuencia de comandos sobre "Como cambiar su variable de ruta en Windows" el autor presiona el botón "Start recording" (Iniciar grabación) en la herramienta, entonces el usuario hace clic en el botón "start" (inicio) , después en "Control Panel" (Panel de Control) , después en "system" (sistema) , después en la Pestaña "Advanced" (Avanzada) . Después el usuario hace clic en "Environment variables" (Variables del entorno) , escoge "Path" (Ruta) , y después hace clic en el botón "Edit" (Editar) . En este punto, en usuario final debe grabar sus cambios. Asá que, el autor cambia el modo en la herramienta a "User choice" (Selección del usuario), y continua hasta terminar la tarea. Al final, el usuario presiona el botón "Stop recording" (Detener grabación) en la herramienta de auto ía. Entonces la herramienta de Autoría genera una secuencia de comando que detalla esta tarea. La secuencia de comandos contiene una descripción de la tarea en un lenguaje natural tal como el inglés, asi como la información que requiere el intérprete ya sea para enseñar a un usuario cómo realizar esta tarea, o para realizarla en su nombre. Adicionalmente, la herramienta permite que el autor realice la edición de la descripción de lenguaje natural . El módulo del intérprete, de conformidad con una modalidad, ejecuta las instrucciones en el archivo de una secuencia de comandos. El intérprete puede soportar modos múltiples de ejecución como instrucciones de ejecución a nombre del usuario, o llevar de la mano al usuario a través de un conjunto de instrucciones. Adicionalmente, el intérprete se puede controlar por medio de una modalidad de entrada, tal como un teclado, ratón/de voz, etcétera. El intérprete puede incluir diversos módulos, y es extensible (es decir, se le pueden agregar módulos para una nueva funcionalidad) . Un ejemplo de un módulo en el intérprete es un módulo de automatización GUI. Este módulo puede ejecutar comandos contra el GUI. Otro ejemplo es un módulo que puede ejecutar instrucciones contra el "Registro". Se pueden usar otros módulos también.
BREVE DESCRIPCION DE LOS DIBUJOS La Figura 1 es un diagrama de bloques de un entorno ejemplar en el cual se puede usar la presente invención. La Figura 2 es un diagrama de bloques de una modalidad de la presente invención, que ilustra una inferíase de usuario natural que usa la plataforma ACW. La Figura 3 muestra un diagrama de bloques que ilustra al Intérprete ACW de conformidad con una modalidad de la presente invención. La Figura 4 es un diagrama de flujo que ilustra la ejecución de una tarea seleccionada de conformidad con una modalidad de la presente invención. Las Figuras 5A - 5J son una serie de tomas de pantalla que ilustran la ejecución del Intérprete ACW en una secuencia de comandos ACW en particular. La Figura 6 es un diagrama de flujo que ilustra la creación de una secuencia de comandos ACW.
DESCRIPCION DETALLADA DE LAS MODALIDADES ILUSTRATIVAS La Figura 1 ilustra un ejemplo de un entorno de sistema de computación 100 adecuado sobre el que se puede implementar la invención. El entorno de sistema de computación 100 es únicamente un ejemplo de un entorno de computación adecuado y no se pretende sugerir ninguna limitación con relación al alcance del uso o funcionalidad de la invención. Tampoco se debe interpretar el entorno de computación 100 como que tiene alguna dependencia o requerimiento con relación a una de cualquiera combinación de componentes ilustrados en el entorno de computación 100 ejemplar en operación. La invención es operacional con otros numerosos entornos o configuraciones de sistema de computación de propósito general o de propósito especial. Los ejemplos de sistemas de computación bien conocidos, entornos, y/o configuraciones que pueden ser adecuados para usar con la invención incluyen, pero no están limitados a, computadoras personales, computadoras de servidores, dispositivos de mano o laptop, sistemas multiprocesadores , sistemas basados en microprocesadores, cajas superiores, aparatos electrónicos programables , PCs de redes, minicomputadoras , computadoras multiusuarios , entornos de computación distribuidos que incluyen cualquiera de los sistemas o dispositivos anteriores, y similares.
La invención se puede describir en el contexto general de instrucciones ejecutables por, computadora, tal como módulos de programa, que se están ejecutando por medio de una computadora. Generalmente, los módulos de programa incluyen rutinas, programas, objetos, componentes, estructuras de datos, etcétera que realizan tareas particulares o implementan tipos de datos abstractos particulares. La invención también se puede practicar en entornos de computación distribuidos en donde se realizan las tareas por medio de dispositivos de procesamiento remotos que están enlazados a través de una red de comunicaciones. En un entorno de computación distribuido, se puede localizar los módulos de programas en elementos de almacenamiento de computadora tanto locales como remotos incluyendo dispositivos de almacenamiento de memoria. Con referencia a la Figura 1, un sistema ejemplar para implementar la invención incluye un dispositivo de computación de propósito general en forma de una computadora 110. Los componentes de la computadora 110 pueden incluir, pero no están limitados a, una unidad procesadora 120, una memoria de sistema 130, y una barra colectora de sistema 121 que acopla diversos componentes de sistema incluyendo la memoria de sistema a la unidad procesadora 120. La barra colectora de sistema 121 puede ser cualquier de una diversidad de tipos de estructuras de barras colectores incluyendo una barra colectora de memoria o controlador de memoria, una barra colectora periférica, y una barra colectora local que usa cualesquiera de una variedad de arquitecturas de barras colectoras. Como ejemplo, y no como limitación, esas arquitecturas incluyen la barra colectora de Arquitectura de Normas de la Industria (ISA, por sus siglas en inglés) , la barra colectora de la Arquitectura de Canal Micro (MCA, por sus siglas en inglés), barra colectora local de la Asociación de Normas Electrónicas de Video (VESA, por sus siglas en inglés) , y la barra colectora de Interconexión de Componentes Periféricos (PCI, por sus siglas en inglés) también conocida como barra colectora Mezzanine. La computadora 110 típicamente incluye una diversidad de elementos legibles por computadora. Loa elementos legibles por computadora pueden ser cualesquiera elementos que se puedan accesar por medio de la computadora 110 e incluyen elementos tanto volátiles como no volátiles, elementos removibles como no removibles. Como ejemplo, y no como limitación, los medios legibles por computadora comprenden un elemento de almacenamiento de computadora y elementos de comunicación. El elemento de almacenamiento de computadora incluye elementos tanto volátiles como no volátiles, removibles como no removibles implementados en cualquier método o tecnología para el almacenamiento de información tal como instrucciones legibles por computadora, estructura de datos, módulos de programas y otros datos. El elemento de almacenamiento de computadora incluye, pero no se limita a, RAM, ROM, EEPROM, memoria flash u otra tecnología de memoria, CD-ROM, discos versátiles digitales (DVD, por sus siglas en inglés) u otro almacenamiento de disco óptico, cartuchos magnéticos, cinta magnética, almacenamiento de disco magnético u otros dispositivos de almacenamiento magnético, o cualquier otro medio que se pueda usar para almacenar la información deseada y el cual se pueda accesar por medio de la computadora 110. Los elementos de comunicación típicamente incorporan instrucciones legibles por computadora, estructura de datos, módulos de programa u otros datos en una señal de datos modulada, tal como una onda portadora u otro mecanismo de transporte e incluye cualquier elemento de entrega de información. El término ¾señal de datos modulada" quiere decir una señal que tiene una o más de sus características establecidas o cambiadas de tal manera que codifica la información en la señal. Como por ejemplo, y no como limitación, el elemento de comunicación incluye elementos cableados tales como una red cableada o una conexión cableada directa, y elementos inalámbricos tal como acústico, RF, infrarrojo y otros elementos inalámbricos. También se deben incluir dentro del alcance de los elementos legibles por computadora las combinaciones de cualesquiera de los anteriores . La memoria de sistema 130 incluye el elemento de almacenamiento en forma de memoria volátil y/o no volátil tal como la memoria de solo lectura (ROM) 131 y la memoria de acceso aleatorio (RAM) 132. Un sistema básico de entrada/salida 133 (BIOS, por sus siglas en inglés), que contiene las rutinas básicas que ayudan a transferir la información entre elementos dentro de la computadora 110, tal como durante el inicio, está almacenada típicamente en la ROM 131. La RAM 132 típicamente contiene datos y/o módulos de programa que son accesibles inmediatamente a y/o que se están operando por medio de la unidad procesadora 120. Como ejemplo, y no como limitación, la Figura 1 ilustra el sistema operativo 134, los programas de aplicación 135, otros módulos de programas 136, y los datos de programa 137. La computadora 110 también puede incluir otros elementos de almacenamiento de computadora removibles/no removibles volátiles/no volátiles. Como ejemplo solamente, la Figura 1 ilustra una unidad de disco duro 141 que lee desde o escribe a un elemento magnético no removible, no volátil, una unidad de disco magnético 151 que lee desde o escribe a un disco magnético removible, no volátil 152, y una unidad de disco óptico 155 que lee desde o escribe a un disco óptico removible, no volátil 156 tal como un CD-ROM u otro elemento óptico. Otros elementos de almacenamiento de computadora volátiles/no volátiles que se pueden usar en el entorno operativo ejemplar incluye, pero no se limita a, cartuchos de cinta magnética, tarjetas de memoria flash, discos versátiles digitales, cinta de video digital, RAM de estado sólido, ROM de estado sólido, y similares. La unidad de disco duro 141 está típicamente conectada a la barra colectora del sistema 121 a través de una interfase de memoria no removible tal como la interfase 140, y la unidad de disco magnético 151 y la unidad de disco óptico 155 están típicamente conectadas a la barra colectora del sistema 121 por medio de una interfase de memoria removible, tal como la interfase 150. Las unidades y sus elementos asociados de almacenamiento de computadora descritos anteriormente e ilustrados en la Figura 1, proporcional almacenamiento de instrucciones legibles por computadora, estructuras de datos, módulos de programas y otros datos para la computadora 110. En la Figura 1, por ejemplo, se ilustra la unidad de disco duro 141 como un sistema operativo de almacenamiento 144, programas de aplicación 145, otros módulos de programas 146, y datos de programas 147. Favor de notar que estos componentes pueden ser ya sea los mismos que o diferentes del sistema operativo 134, programas de aplicación 135, otros módulos de programas 136, y datos de programas 137. Aquí se les dan diferentes números al sistema operativo 144, a los programas de aplicación 145, a otros módulos de programas 146, y a los datos de programas 147 para ilustrar que, como mínimo, estos son copias diferentes. Un usuario puede introducir comandos e información en la computadora 110 a través de dispositivos de entrada tales como un teclado 162, un micrófono 163, y un dispositivo apuntador 161, tal como un ratón, bola rodante, o cojinete de tacto. Otros dispositivos de entrada (no se muestran) pueden incluir una palanca de juegos, cojinete de juego, disco satelital, escáner, o similares. Estos y otros dispositivos de entrada frecuentemente están conectados a la unidad procesadora 120 a través de una interfase de entrada del usuario 160 que está acoplada a la barra colectora del sistema, pero que se puede conectar por medio de otra interfase y estructuras de la barra colectora, tal como un puerto en paralelo, puerto de juego o una barra colectora en serie universal (USB, por sus siglas en inglés) . Un monitor 191 u otro tipo de dispositivo de despliegue visual también está conectado a la barra colectora del sistema 121 a través de una interfase, tal como una interfase de video 190. Adicionalmente del monitor, las computadoras también pueden incluir otros dispositivos de salida periféricos tal como bocinas 197 e impresora 196, las cuales se pueden conectar a través de una interfase periférica de salida 195. La computadora 110 puede operar en un entorno puesto en red usando conexiones lógicas a una o más computadoras remotas, tal como una computadora remota 180. La computadora remota 180 puede ser una computadora personal, un dispositivo de mano, un servidor, un ruteador, una PC de red, un dispositivo de punto u otro nodo de red común, y típicamente incluye muchos o todos los elementos descritos anteriormente en relación con la computadora 110. Las conexiones lógicas ilustradas en la Figura 1 incluyen una red de área local (LAN, por sus siglas en inglés) 171 y una red de área amplia ( AN, por sus siglas en inglés) 173, pero también pueden incluir otras redes. Esos entornos puestos en red son comunes y corrientes en oficinas, redes de computadoras de amplitud empresarial, intranets y la Internet. Cuando se usa la computadora 110 en un entorno puesto en red LAN, se conecta a la LAN 171 a través de una interfase de red o adaptador 170. Cuando se usa la computadora 110 en un entorno puesto en red WAN, incluye típicamente un módem 172 u otros elementos para establecer comunicaciones sobre la WAN 173, tal como la Internet. El módem 172, que puede ser interno o externo, se puede conectar a la barra colectora del sistema 121 a través de la interfase de entrada del usuario 160, u otro mecanismo apropiado. En un entorno puesto en red, se pueden almacenar los módulos de programas ilustrados en relación con la computadora 110, o porciones de la misma, en el dispositivo de almacenamiento de memoria remoto. Como ejemplo, y no como limitación, la Figura 1 ilustra los programas de aplicación remotos 185 como que residen en la computadora remota 180. Se podrá notar que las conexiones de la red son ejemplares y que se pueden usar otros elementos para establecer un enlace de comunicaciones entre las computadoras. La Figura 2 es un diagrama de bloques de un módulo de interfase del usuario o sistema 200 que usa una modalidad de la presente invención. La interfase natural 200 del usuario comprende tres componentes. Estos componentes incluyen un módulo de pronóstico de tarea 210, una base de datos de tarea 220 y un Intérprete de asistente de contenido activo (ACW) 230. La interfase natural 200 del usuario también recibe un comando de entrada del usuario o consulta 206 desde un usuario, y proporciona una salida 250. La consulta representa una tarea que el usuario desea realizar. El comando de entrada 206 es en una modalidad una entrada de lenguaje natural. No obstante, se pueden usar otras entradas para el comando de entrada 206 tal como una entrada Boleana, una barra de desplazamiento, una lista de palabras, o una entrada de voz. El módulo de pronóstico de tarea 210 esta configurado para determinar una tarea asociada con el comando del usuario 206 introducido. En una modalidad, el módulo de pronóstico de tarea 210 balancea un módulo de búsqueda de ayuda existente para buscar la base de datos de tareas 220 para encontrar coincidencias al comando del usuario 206. El módulo de pronóstico 210 recibe un comando de entrada 206 del usuario y lo convierte y/o procesa el comando 206 en un formato que permita la búsqueda de la base de datos de tareas 220. Entonces, el módulo 210 ejecuta una búsqueda contra la base de datos de tareas 220 para obtener información asociada con la tarea representada por el comando 206. Después de la búsqueda, el módulo de predicción de tareas 210 recibe los resultados de la búsqueda desde la base de datos de tareas 220 y proporciona uno o más documentos de tareas desde la base de datos 220 que probablemente coinciden con la consulta del usuario 206, al usuario a través de una interfase apropiada 221. En una modalidad, el módulo 210 simplemente selecciona uno de los documentos de tarea como una tarea seleccionada. En otra modalidad, el usuario puede seleccionar, a través de la interfase 221, uno de esos documentos como un documento seleccionado. Entonces, el módulo de pronóstico de tarea 210 devuelve una secuencia de comandos del asistente de contenido activo (ACW) que corresponde a la tarea seleccionada al Intérprete ACW 230. Se debe notar que el módulo de pronóstico de tarea 210 ha sido descrito como un componente de recuperación de información convencional. Sin embargo, se pueden usar otros métodos para determinar la tarea deseada representada por el comando del usuario 206. Como ejemplo, cualquier otra técnica de recuperación de información bien conocida, tal como un patrón o coincidencia de palabra, gramáticas de libre contexto (CFGs, por sus siglas en inglés) para soporte de voz, u otros clasificadores tales como las máquinas de vectores de soporte y Redes Naive Bayesian. La Figura 3 es un diagrama de bloques que ilustra el Intérprete ACW 230 ilustrado en la Figura 2. El Intérprete ACW 230 incluye un módulo de Diálogo 320, módulo de Registro 330 y módulo de Automatización GUI 340. Cada módulo es capaz de ejecutar un tipo especifico de paso detallado en una secuencia de comandos ACW 211 proporcionado al Intérprete ACW 230. No obstante, se puede modificar el Intérprete ACW 230 para contener módulos adicionales o también diferentes módulos, y periódicamente se puede actualizar con módulos nuevos o diferentes. Como ejemplo de una modalidad, se implementa el módulo de Automatización GUI 340 usando la Automatización UI de Windows de Microsoft. El Intérprete ACW 230 es un programa de computadora configurado para ejecutar los pasos atómicos para la tarea seleccionada por el usuario. En una modalidad, el Intérprete ACW 230 contiene un módulo de Automatización GUI implementado usando la Automatización de la Interfase del Usuario de Microsoft también de Microsoft Corporation. Este módulo simula las entradas del usuario, tales como las depresiones de teclas del teclado, clics del ratón, rotaciones de las ruedas del ratón, etcétera. Sin embargo, se puede implementar el módulo de automatización GUI del Intérprete ACW 230 usando cualquier aplicación que sea capaz de navegar programáticamente una interfase gráfica de usuario y realizar y ejecutar los comando en la interfase del usuario. Por consiguiente, el Intérprete ACW 230 ejecuta en orden cada uno de los pasos atómicos asociados con una tarea seleccionada. Por ejemplo, cuando la tarea requiere que el usuario haga clic en un botón de" la GUI para desplegar visualmente un nuevo menú o ventana, el Intérprete ACW 230 usa el módulo de automatización GUI para localizar el botón en el dispositivo de despliegue visual 191 (tal como un monitor) , hace clic en el botón, y entonces espera que aparezca la nueva ventana en el dispositivo de despliegue visual. El tipo/nombre de la ventana esperada está detallada en el archivo de la secuencia de comandos ACW 211. La Figura 4 es un diagrama de flujo que ilustra la ejecución de una secuencia de comandos ACW seleccionada en el sistema 200 de conformidad con una modalidad de la presente invención. En 410, en respuesta al comando del usuario 206, el módulo de pronóstico de tarea 210 identifica y presenta al usuario un conjunto de tareas posibles, y el usuario selecciona una tarea del conjunto. Se puede seleccionar la tarea por cualquier mecanismo tal como la búsqueda de una tarea, usando comando de voz, o seleccionado a partir de una lista de tareas. Entonces el módulo 210 obtiene la secuencia de comandos ACW 422 que corresponde a la tarea seleccionada.
En 428, el sistema 200 selecciona el primer paso en el número de pasos atómicos que se van a ejecutar por medio del Intérprete ACW 230. En 434, el sistema 200 determina si la entrada de un usuario es requerida para completar este paso atómico en particular. Si se requiere la entrada del usuario para completar el paso, el sistema 200 despliega visualmente, en 440, el paso particular al usuario. El despliegue visual puede ser una ventana en el dispositivo de despliegue visual 191 que solicita una entrada, o puede ser la GUI asociada con- el paso atómico en particular. Por ejemplo, después de desplegar visualmente el texto para ese paso en particular, el sistema 200 espera, y no avanza al siguiente paso atómico hasta que recibe la entrada del usuario requerida en 446. El sistema también puede desplegar visualmente cualquier información adicional que sea útil al usuario para tomar una decisión, tal como información relacionada . Después de recibir la entrada requerida, o si no se requiere esa entrada, el sistema 200 procede a ejecutar el paso atómico en curso en 452. En el paso 458, el sistema 200 ve hacia delante para percibir si existe otro paso atómico que se tenga que ejecutar para la tarea seleccionada. Si ya no existen pasos atómicos adicionales que se tengan que ejecutar, el sistema 200 verifica, en 464, para detectar si el usuario ha seleccionado un modo de paso - a - paso. De ser asi, el sistema 200 ejecuta cada paso atómico individual solamente después de que éste recibe una entrada de parte del usuario que indique que el usuario está listo para avanzar al siguiente paso atómico en la lista de pasos atómicos. Esta entrada se recibe en 470. Si el sistema 200 no está en modo de paso - a - paso, el sistema regresa al paso 428 y ejecuta el siguiente paso en la lista de pasos atómicos como se describe anteriormente. Si en el paso 458 no existen pasos atómicos adicionales para ejecutar, el sistema 200 ha terminado de ejecutar la tarea deseado en el paso 476. Las Figuras 5A a 5J ilustran tomas de pantalla representativas de los pasos representados en una secuencia de comandos ACW 211 y ejecutados por el sistema 200 en la realización de una tarea que corresponde al comando del usuario 206 "Editar la variable de la ruta". El conjunto de tomas de pantalla en las Figuras 5A -5J muestran al Intérprete ACW 230 ejecutando las series de pasos atómicos requeridos para completar la tarea "Editar la variable de la ruta". El Intérprete ACW 230 ejecuta cada paso y solamente se detiene cuando la entrada del usuario asi lo requiere . La Figura 5A muestra el primer paso de la secuencia ilustrativa en la ventana 500. La acción que se muestra es para "abrir el panel de control". ? continuación se detalla la parte de la secuencia de comandos ACW que corresponde a este paso:
<Id paso="idO"> <BloqueSinc> <Texto>Abierto <B>Panel ControlK/BX/Texto> <AcciónUI Acción="NINGUNA" Textoül TipoElementoUI="NINGUNO"> <AcciónAtaj o> <Comando>control . e e</Comando> <Argumentos/> </AcciónAtaj o> </AcciónüI> </BloqueSinc> </Paso>
El texto 501 para desplegar visualmente en la ventana 500 es "Abrir Panel de Control". El Intérprete ACW 230 ejecuta este paso por medio de ejecutar un atajo llamado control.exe, y despliega visualmente la ventana del panel de control bajo la ventana 500 como se muestra en la Figura 5?. La Figura 5B ilustra el segundo paso en la secuencia de pasos atómicos. La acción ilustrada en la ventana 510 es para "Hacer clic en el icono del sistema" en el panel de control. A continuación se detalla la parte de la secuencia de comandos ACW que corresponde a este paso.
<Id paso="id2"> <BloqueSinc> <Texto>Hacer clic <B>Sistema</B> icono . </Texto> <AcciónUI Acción="CLK" TextoUI="Sistema"
TipoElementoUI="LISTA"> <AcciónAutomatización> <Comando>INVOCAR</Comando> <Elemento> <ElementoLógico NombreClase="Vista32ListaSis" TextoSinProcesar="Sistema" IDPersistente="l"/> </Elemento> <Ruta> <ElementoLógico NombreClase="#32769" IDPersistente="X:NoSoportado"/> <ElementoLógico NombreClase="ClaseWGabinete" TextoSinProcesar="PanelControl" IDPersistente="X : NoSoportado"/> <ElementoLógico NombreClase=SHELLDLL_VistaDef"
IDPersistente="X:NoSoportado"/> <ElementoLógico NombreClase="ListaSisVista32" TextoSinProcesar="VistaFolder" IDPersistente="l"/> <ElementoLógico NombreClase="ListaSisVista32" Texto3inProcesar="Sistema" IDPersistente="l"/> </Ruta> </AcciónAutomatización> </AcciónUI> </BloqueSinc> </Paso> El texto 511 que se despliega visualmente en la ventana 510 es "Hacer clic en el icono del Sistema". El Intérprete ACW 230 encuentra el icono del Sistema 515 en la ventana del panel de control usando la información de la Ruta contenida en el archivo de la secuencia de comandos. El Intérprete ACW 230 usa la información de la Ruta para localizar el. icono programáticamente en la pantalla usando algo de tecnología de automatización (por ejemplo, Automatización UI de Windows) . Cuando el Intérprete ACW 230 encuentra el icono, el intérprete llama al método "invocar" en el icono (usando la Automatización UI de Windows) para hacer clic sobre éste. Las Figuras 5C a 5F muestran el adelantamiento de los pasos atómicos de la tarea por medio del Intérprete ACW 230. En la Figura 5C, el sistema 200 ha abierto una ventana 522 que contiene la información en el menú del sistema 515 destacado en la Figura 5B. La Figura 5C ilustra el siguiente paso atómico en la secuencia requerida para la tarea. La ventana 520 se presenta en la inferíase gráfica de usuario y da instrucciones al usuario para hacer clic en la pestaña Advanced (Avanzada) en la ventana 522. Al mismo tiempo el Intérprete ACW 230 localiza la pestaña Advanced 524 en la ventana 522, y la destaca. Entonces, el sistema 200 ejecuta un comando de clic (nuevamente por medio de llamar al método "invocar") en la pestaña Advanced ocasionando que la ventana 520 despliegue visualmente las opciones disponibles al usuario bajo la pestaña Advanced. En la Figura 5D, el sistema 200 abre la ventana 530 en la interfase gráfica de usuario y despliega visualmente al usuario las instrucciones para este paso. La ventana 530 contiene las instrucciones para que el usuario ejecute este paso por medio de desplegar visualmente el texto 531 instruyendo al usuario que haga "Clic en el botón Environment Variables" 532. Al mismo tiempo el Intérprete ACW 230 localiza el botón Environment Variables 532 en la ventana 522 y destaca el botón 532 en la GÜI . Entonces el sistema 200 ejecuta un . comando de clic en el botón Environment Variables 532 ocasionando que se abra la ventana 542 como se ilustra en la Figura 5E. Puesto que existen pasos adicionales requeridos para completar la tarea, el sistema 200 despliega visualmente al usuario el siguiente conjunto de instrucciones en la ventana 540. La ventana 540 instruye al usuario a que haga "Clic en el icono Path" 541. Al mismo tiempo el Intérprete ACW 230 localiza el icono Path 543 en la ventana 542 y la destaca para el usuario. Entonces el sistema 200 ejecuta un comando de clic en el icono de ruta 543 ocasionando que aparezca la ventana 550 como se ilustra en la Figura 5F. Nuevamente se le presentan instrucciones al usuario para completar este siguiente paso en la secuencia de los pasos atómicos. La ventana 550 instruye al usuario que haga clic en el botón Edit 553 hasta el texto 551. Al mismo tiempo el Intérprete ACW 230 localiza el botón de edición 553 en la ventana 542 y destaca el botón de edición 553 en la GUI. Entonces el sistema 200 ejecuta un comando de clic, haciendo clic en el botón de edición 553, lo que ocasiona que se abra la ventana 562 como se ilustra en la Figura 5G. La Figura 5G muestra un paso en la tarea que requiere entrada del usuario. En este paso, se requiere que el usuario haga cambios a la variable de la ruta. Esta información está presente en una caja. Cuando el usuario termina, el usuario tiene que presionar el botón Next (Siguiente) 564 en la ventana 550 para que el Intérprete ACW 230 continúe ejecutando los pasos necesarios en el asistente. A continuación se muestra la parte correspondiente de la secuencia de comandos ACW en una modalidad de la presente invención .
<Id Paso="id6"> <BloqueSinc> <Texto>Hacer cambios de variable deseados</Texto> <AcciónUI Acción="ACCIONUSUARIO" TextoUIS TipoElementoUI="NINGUNO"/> </BloqueSinc> </Paso>
La acción se pone en lista como una ACCIONUSUARIO (ÜSERACTION) lo cual permite que el Intérprete ACW sepa que se espera la entrada del usuario en este paso, y que no puede proceder hasta que el usuario termine. La ventana 550 cambia para destacar una segunda instrucción 563 para el usuario. Esta instrucción instruye al usuario a hacer los cambios deseados a la ruta. Puesto que se requiere la entrada del usuario en este paso, el sistema 200 no avanza hasta que el usuario introduce la información deseada y hace clic en Next. Entonces el sistema 200 ocasiona que se abra la ventana 570 instruyendo al usuario a que haga clic en el botón "OK" 572. Al mismo tiempo el Intérprete ACW 230 localiza y destaca el botón 572 en la ventana 562, como se ilustra en la Figura 5H. Las Figuras 51 y 5J ilustra los pasos requeridos para completar la tarea deseada. Después de hacer clic en el botón "OK" 572 en la Figura 5H, el sistema 200 y el Intérprete ACW 230 despliegan visualmente las instrucciones para que el usuario haga clic en los botones "OK" 582 y 592 en la ventana 580 y 590 respectivamente y destaca este botón en las respectivas ventanas 542 y 522. Una vez que se completan los pasos atómicos, el sistema 200 regresa a un estado de espera para aguardar otro comando del usuario 206. La Figura 6 ilustra un diagrama de flujo para crear una secuencia de comandos ACW para una tarea especifica. En 610, un autor determina si existe contenido para la tarea relevante. Los ejemplos de este contenido pueden incluir documentos HELP, artículos KB, plazas de grupos de noticias, etcétera. Si ya existe el documento para la tarea, el autor proporciona el documento a un importador en 620. El importador está configurado para analizar sintácticamente el documento para identificar los pasos atómicos contenidos en el mismo, y para convertir aquellas instrucciones contenidas en el documento a una secuencia de comandos ACW que puedan ser ejecutados por medio del Intérprete ACW 230. El número de pasos que se pueden correctamente analizar sintácticamente depende de la estructura del archivo. Generalmente, los archivos HELP tienen indicios en sus estructuras. Por ejemplo, el texto que aparece en la GUI frecuentemente está en un formato de negritas. Esos indicios se pueden usar en el análisis sintáctico. En el paso 630, presumiendo que la tarea seleccionada esté en un documento HELP, se analiza sintácticamente el documento HELP por medio del importador con el propósito de identificar el componente de los pasos atómicos del documento HELP, asi como el orden de aquellos pasos atómicos. En una modalidad, el importador analiza sintácticamente el documento help para identificar palabras claves en el documento HELP tal como "click" (clic) , "tab" (pestaña) , button" (botón) , "menú" (menú) , etcétera, palabras que están en letras negritas en el texto del documento HELP. Estas palabras claves se convierten en comandos que son ejecutables por medio del Intérprete ACW 230. Sin embargo, también se pueden usar otros métodos de análisis sintáctico de la tarea . En el paso 640, el autor analiza si se convirtió exitosamente el documento analizado sintácticamente en una secuencia de comandos ACW. El autor puede usar cualquier método conocido para verificar la hipótesis del análisis sintáctico. Si el análisis sintáctico no tuvo éxito, entonces el autor corrige los errores del análisis sintáctico, y puede crear partes de la secuencia de comandos que el importador no pudo analizar sintácticamente. Estos pasos no forman parte de esta invención y se puede realizar como se desee . Si el autor, en 610, determina que no existe ningún contenido para la tarea requerida, el autor creará una nueva secuencia de comandos ACW para la tarea usando un entorno de autoría de tareas ACW, esta autorización que se indica por medio del paso 550. En una modalidad, la herramienta de autoría es una macrograbadora que graba los pasos que realiza el autor contra la GUI al realizar la tarea, y produce una secuencia de comandos ACW que describe los pasos realizados para completar esta tarea. En 670, el autor puede verificar que la secuencia de comandos ACW generada sea exacta. Este paso puede ser una verificación manual o automática de la secuencia de comandos ACW para garantizar que se ha transferido un número mínimo de errores al producto final. Por ejemplo, si la secuencia de comandos ACW tiene un error ortográfico, el Intérprete ACW 230 no puede encontrar ese elemento y se destaca este error al autor. Después del paso ya sea 670 o 640, la secuencia de comandos ACW se almacena en una base de datos de secuencias de comandos en el paso 680. Por medio de integrar la autoría de tareas en la autoría del contenido de HELP/artículos KB, el costo de las tareas/asistentes de autoría se reducen de manera importante . Aun cuando la presente invención ha sido descrita con referencia a modalidades particulares, las personas con experiencia en la técnica reconocerán que se pueden hacer cambios en forma y detalle sin alejarse del espíritu y alcance de la invención.
Claims (30)
1. Un método para ejecutar una tarea en un sistema de computadora que tiene una interfase gráfica de usuario (GUI), que comprende los pasos de: recibir un comando a partir del indicativo del usuario de una tarea que se va a ejecutar; identificar una tarea, que tiene una pluralidad de subtareas y una orden de tarea, en una base de datos de tareas que coincide con el comando del usuario; ejecutar cada una de la pluralidad de subtareas en orden de tarea usando un módulo del sistema de la computadora; y desplegar visualmente al usuario cada subtarea de la tarea en la GUI .
2. El método de la reivindicación 1 que adicionalmente comprende los pasos de: destacar cada paso en la GUI a medida que se ejecuta cada subtarea; y proporcionar una ventana en la GUI que describa la subtarea que se está ejecutando.
3. El método de la reivindicación 2 que adicionalmente comprende los pasos de: recibir una indicación del usuario antes de avanzar a la siguiente subtarea; y avanzar a la siguiente subtarea en el orden de la tarea .
4. El método de la reivindicación 3 en donde el método adicionalmente comprende: proporcionar una ventana que tiene instrucciones para el usuario en lenguaje natural.
5. El método de la reivindicación 4 que adicionalmente comprende los pasos de: detectar automáticamente un estado en curso del sistema de computadora; y desplegar visualmente en la ventana las opciones para el usuario con base en el estado que se detecte.
6. El método de la reivindicación 4 que adicionalmente comprende el paso de: presentar al usuario una ventana de diálogo que contiene información útil para determinar cuál opción escoger cuando se le presentan al usuario opciones múltiples.
7. Un método para ejecutar automáticamente una tarea de la interfase gráfica de usuario (GUI) en un sistema de computadora, que comprende los pasos de: recibir el indicativo de entrada de un usuario de una tarea deseada; identificar una tarea seleccionada en una base de datos, con base en la entrada del usuario, cada tarea en la base de datos que comprende una pluralidad de subtareas; y ejecutar programáticamente cada una de la pluralidad de subtareas que corresponden a la tarea seleccionada.
8. El método de la reivindicación 7, en donde ejecutar programáticamente las subtareas comprende invocar un componente de automatización GUI.
9. El método de la reivindicación 8 en donde el sistema de computadora incluye un componente GUI existente y en donde invocar el componente de automatización GUI comprende : realizar automáticamente las subtareas contra el componente GUI con el componente de automatización GUI.
10. El método de la reivindicación 7 en donde ejecutar programáticamente adicionalmente comprende: analizar sintácticamente la tarea seleccionada para identificar la pluralidad de subtareas que corresponden a la tarea seleccionada .
11. El método de la reivindicación 7, en donde ejecutar programáticamente adicionalmente comprende: proporcionar al usuario con una indicación de cada una de la pluralidad de subtareas a medida que se ejecuta cada una de las subtareas.
12. El método de la reivindicación 7, en donde ejecutar programáticamente adicionalmente comprende: esperar una indicación del usuario antes de ejecutar la siguiente de una de la pluralidad de subtareas.
13. El método de la reivindicación 12, en donde ejecutar programáticamente adicionalmente comprende: recibir la indicación del usuario; y ejecutar la siguiente de una pluralidad de subtareas.
14. El método de la reivindicación 7, en donde ejecutar programáticamente adicionalmente comprende: proporcionar al usuario una indicación de la entrada adicional del usuario requerida cuando una de la pluralidad de subtareas requiere una entrada adicional del usuario.
15. El método de la reivindicación 14, en donde ejecutar adicionalmente comprende: recibir del usuario la entrada adicional para la subtarea; y avanzar a la siguiente de una pluralidad de subtareas.
16. El método de la reivindicación 7, en donde la base de datos es una base de datos que contiene documentos HELP asociados con un programa de aplicación.
17. El método de la reivindicación 7, en donde la base de datos es una base de datos que contiene documentos asociados con la solución de problemas de una aplicación.
18. Un elemento legible por computadora que contiene instrucciones ejecutables por computadora que cuando son ejecutados ocasionan que una computadora realice los pasos de : recibir del usuario una entrada indicativa de una tarea deseada; identificar una tarea seleccionada que se va a ejecutar contra una interfase gráfica de usuario (GüI) ; tener una pluralidad de subtareas y ser almacenadas en una base de datos; y ejecutar programáticamente la pluralidad de subtareas que corresponden a la tarea seleccionada contra la GUI.
19. El elemento legible por computadora de la reivindicación 18, en donde ejecutar programáticamente comprende : ejecutar la pluralidad de subtareas recibida con un módulo de automatización GUI.
20. El método de la reivindicación 18, que adicionalmente contiene instrucciones para realizar los pasos de : analizar sintácticamente la tarea seleccionada para identificar la pluralidad de subtareas para la tarea seleccionada.
21. El método de la reivindicación 18, que adicionalmente contiene instrucciones para realizar los pasos de : desplegar visualmente en un dispositivo de despliegue visual cada una de la pluralidad de subtareas a medida que se ejecuta cada subtarea.
22. El método de la reivindicación 21, que adicionalmente contiene instrucciones para realizar los pasos de : esperar una indicación de parte del usuario antes de ejecutar una subtarea subsecuente; recibir la indicación del usuario; y ejecutar la subtarea subsecuente.
23. El método de la reivindicación 18, que adicionalmente contiene instrucciones para realizar los pasos de : desplegar visualmente en un dispositivo de despliegue visual una ventana asociada con la subtarea cuando una de la pluralidad de subtareas requiere una entrada del usuario; recibir la entrada requerida del usuario; y ejecutar la subtarea.
24. Un método para configurar un archivo HELP que cuando se despliega visualmente incluye una pluralidad de subtareas legibles por humanos que es necesario realizar contra una interfase gráfica de usuario (GUI) para realizar una tarea de tal manera que se pueda ejecutar el archivo HELP por medio de una computadora, que comprende: identificar la pluralidad de tareas que corresponden a cada tarea en el archivo HELP; incluir en el archivo HELP la pluralidad de subtareas en un formato ejecutable por computadora.
25. El método de la reivindicación 24 en donde el paso de incluir adicionalmente comprende el paso de: almacenar la pluralidad de subtareas ejecutables por computadora como una porción adicional del archivo HELP.
26. El método de la reivindicación 24 en donde en el paso de almacenar se almacena la pluralidad de subtareas ejecutables por computadora como un archivo separado, y que adicionalmente comprende el paso de: almacenar un apuntador en el archivo HELP que apunta al archivo separado.
27. El método de la reivindicación 24 en donde incluir en el archivo HELP adicionalmente comprende: escribir una representación estructurada del archivo help mientras que crea una pluralidad de instrucciones que son desplegadas visualmente a un usuario.
28. Una estructura de datos que representa una tarea ejecutable en una computadora contra una interfase gráfica de usuario (GUI), que comprende: una descripción escrita de una pluralidad de subtareas que se van a ejecutar para completar la tarea, y un conjunto de instrucciones ejecutables por computadora las cuales, cuando se ejecutan, ejecutan programáticamente la pluralidad de subtareas de la descripción escrita contra la GUI.
29. La estructura de datos de la reivindicación 28 en donde las instrucciones ejecutables por computadora son almacenadas en un archivo que contiene la descripción escrita .
30. La estructura de datos de la reivindicación 20 en donde la descripción escrita y las instrucciones ejecutables por computadora son almacenadas en archivos separados, y el archivo que contiene la descripción escrita contiene un apuntador que apunta al archivo que contiene las instrucciones ejecutables por computadora.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/337,745 US20040130572A1 (en) | 2003-01-07 | 2003-01-07 | Active content wizard: execution of tasks and structured content |
Publications (1)
Publication Number | Publication Date |
---|---|
MXPA03011916A true MXPA03011916A (es) | 2005-04-11 |
Family
ID=32507443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
MXPA03011916A MXPA03011916A (es) | 2003-01-07 | 2003-12-18 | Asistente de contenido activo: ejecucion de tareas y contenido estructurado. |
Country Status (10)
Country | Link |
---|---|
US (1) | US20040130572A1 (es) |
EP (1) | EP1437648A3 (es) |
JP (2) | JP2004213677A (es) |
KR (1) | KR101038395B1 (es) |
CN (1) | CN1530817A (es) |
AU (1) | AU2003270997B2 (es) |
BR (1) | BR0306072A (es) |
CA (1) | CA2452993A1 (es) |
MX (1) | MXPA03011916A (es) |
RU (1) | RU2345404C2 (es) |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7516103B1 (en) * | 2001-03-09 | 2009-04-07 | Whitefence, Inc. | Method and apparatus for facilitating electronic acquisition and maintenance of goods and services via the internet |
US6996781B1 (en) * | 2001-10-31 | 2006-02-07 | Qcorps Residential, Inc. | System and method for generating XSL transformation documents |
US20040130572A1 (en) * | 2003-01-07 | 2004-07-08 | Aravind Bala | Active content wizard: execution of tasks and structured content |
US20050114785A1 (en) * | 2003-01-07 | 2005-05-26 | Microsoft Corporation | Active content wizard execution with improved conspicuity |
US8739146B2 (en) * | 2003-07-30 | 2014-05-27 | International Business Machines Corporation | Systems and methods for generating and distributing executable procedures for technical desk-side support |
US20050027536A1 (en) * | 2003-07-31 | 2005-02-03 | Paulo Matos | System and method for enabling automated dialogs |
US7890948B2 (en) * | 2003-10-30 | 2011-02-15 | Inernational Business Machines Corporation | Methods and apparatus for customizing user-interface control in existing application |
US7559057B2 (en) * | 2003-12-05 | 2009-07-07 | International Business Machines Corporation | Alignment and generalization of demonstrated procedure traces |
US7360161B2 (en) * | 2003-12-12 | 2008-04-15 | Sap Aktiengesellschaft | Refreshing a transaction screen |
WO2006016877A1 (en) | 2004-07-08 | 2006-02-16 | Microsoft Corporation | Automatic text generation |
CN101421776B (zh) * | 2004-07-08 | 2012-03-21 | 微软公司 | 用于生成内容的自动图像捕捉 |
JP2008506183A (ja) * | 2004-07-08 | 2008-02-28 | マイクロソフト コーポレーション | 自動的に生成されたコンテンツのインポート |
US7620895B2 (en) * | 2004-09-08 | 2009-11-17 | Transcensus, Llc | Systems and methods for teaching a person to interact with a computer program having a graphical user interface |
US7574625B2 (en) * | 2004-09-14 | 2009-08-11 | Microsoft Corporation | Active content wizard testing |
PL1666074T3 (pl) | 2004-11-26 | 2008-10-31 | Baestarro Gmbh & Co Kg | Lampa bakteriobójcza |
EP1672483A1 (de) | 2004-12-20 | 2006-06-21 | Siemens Aktiengesellschaft | Erfassung von Daten in einem Datenverarbeitungssystem |
US20060184880A1 (en) * | 2005-02-17 | 2006-08-17 | Microsoft Corporation | Discoverability of tasks using active content wizards and help files - the what can I do now? feature |
US7587668B2 (en) * | 2005-02-17 | 2009-09-08 | Microft Corporation | Using existing content to generate active content wizard executables for execution of tasks |
US7328199B2 (en) * | 2005-10-07 | 2008-02-05 | Microsoft Corporation | Componentized slot-filling architecture |
US7822699B2 (en) * | 2005-11-30 | 2010-10-26 | Microsoft Corporation | Adaptive semantic reasoning engine |
US7606700B2 (en) * | 2005-11-09 | 2009-10-20 | Microsoft Corporation | Adaptive task framework |
US20070106496A1 (en) * | 2005-11-09 | 2007-05-10 | Microsoft Corporation | Adaptive task framework |
US7933914B2 (en) * | 2005-12-05 | 2011-04-26 | Microsoft Corporation | Automatic task creation and execution using browser helper objects |
US20070130134A1 (en) * | 2005-12-05 | 2007-06-07 | Microsoft Corporation | Natural-language enabling arbitrary web forms |
US7831585B2 (en) * | 2005-12-05 | 2010-11-09 | Microsoft Corporation | Employment of task framework for advertising |
US20070203869A1 (en) * | 2006-02-28 | 2007-08-30 | Microsoft Corporation | Adaptive semantic platform architecture |
US7996783B2 (en) * | 2006-03-02 | 2011-08-09 | Microsoft Corporation | Widget searching utilizing task framework |
US20070294260A1 (en) * | 2006-06-16 | 2007-12-20 | Tom Lam | Software emulation tutorials |
WO2008091282A2 (en) * | 2006-07-11 | 2008-07-31 | Carnegie Mellon University | Apparatuses, systems, and methods to automate procedural tasks |
US20080034288A1 (en) * | 2006-08-02 | 2008-02-07 | International Business Machines Corporation | Text-Driven Macros Integrated with a Help System of a Computer Program |
US8977951B2 (en) * | 2006-08-21 | 2015-03-10 | Adobe Systems Incorporated | Methods and apparatus for automated wizard generation |
US9299039B1 (en) * | 2006-08-23 | 2016-03-29 | A9.Com, Inc. | Managing task lists utilizing integrated information requests |
US8595636B2 (en) * | 2006-11-16 | 2013-11-26 | International Business Machines Corporation | Method and system for mapping GUI widgets |
US8640034B2 (en) * | 2006-11-16 | 2014-01-28 | International Business Machines Corporation | Remote GUI control by replication of local interactions |
US8281234B2 (en) * | 2007-03-20 | 2012-10-02 | Microsoft Corporation | Definable application assistant |
US8739120B2 (en) | 2007-12-03 | 2014-05-27 | Adobe Systems Incorporated | System and method for stage rendering in a software authoring tool |
JP4964173B2 (ja) * | 2008-03-03 | 2012-06-27 | ヤフー株式会社 | 表示制御方法及びプログラム |
US8271951B2 (en) * | 2008-03-04 | 2012-09-18 | International Business Machines Corporation | System and methods for collecting software development feedback |
US8700385B2 (en) * | 2008-04-04 | 2014-04-15 | Microsoft Corporation | Providing a task description name space map for the information worker |
EP2141588A1 (en) * | 2008-07-02 | 2010-01-06 | Alcatel, Lucent | A method for generating a wizard application, corresponding device, and computer program product therefore |
US20100205529A1 (en) * | 2009-02-09 | 2010-08-12 | Emma Noya Butin | Device, system, and method for creating interactive guidance with execution of operations |
US9285987B2 (en) * | 2009-08-31 | 2016-03-15 | Kyocera Mita Corporation | Operating device and image forming apparatus with display format receiver for receiving instructions from a user for selecting a display format |
JP5433521B2 (ja) * | 2010-02-19 | 2014-03-05 | 東芝テック株式会社 | 情報処理装置およびその動作制御のためのプログラム |
US9524279B2 (en) * | 2010-10-28 | 2016-12-20 | Microsoft Technology Licensing, Llc | Help document animated visualization |
US8751930B2 (en) * | 2010-11-02 | 2014-06-10 | International Business Machines Corporation | Seamlessly sharing and reusing knowledge between an administrator console and user interaction |
US20120272146A1 (en) * | 2011-04-21 | 2012-10-25 | Honeywell International Inc. | Automatic application wizard |
EP2538320B1 (de) * | 2011-06-22 | 2015-01-07 | TTS Knowledge Products GmbH | Verfahren und System zur Unterstützung einer Bedienung eines Computerprogramms |
RU2506636C2 (ru) * | 2011-08-01 | 2014-02-10 | Общество с ограниченной ответственностью "Алгоритм" | Способ информационного поиска (варианты) и компьютерная система для его осуществления |
US20130081027A1 (en) * | 2011-09-23 | 2013-03-28 | Elwha LLC, a limited liability company of the State of Delaware | Acquiring, presenting and transmitting tasks and subtasks to interface devices |
US9710768B2 (en) | 2011-09-23 | 2017-07-18 | Elwha Llc | Acquiring and transmitting event related tasks and subtasks to interface devices |
US8856741B2 (en) | 2011-09-30 | 2014-10-07 | Adobe Systems Incorporated | Just in time component mapping |
US10743945B2 (en) * | 2012-10-02 | 2020-08-18 | Radlink, Inc. | Surgical method and workflow |
US20140115459A1 (en) * | 2012-10-24 | 2014-04-24 | Michael Norwood | Help system |
EP2846258A1 (en) | 2013-09-04 | 2015-03-11 | Roche Diagniostics GmbH | Method and analysis system for processing biological samples |
US20150095823A1 (en) * | 2013-10-02 | 2015-04-02 | Assurant, Inc. | Mobile computing device instructional graphical overlay systems and related methods |
US9934507B2 (en) * | 2014-08-11 | 2018-04-03 | International Business Machines Corporation | Mapping user actions to historical paths to determine a predicted endpoint |
US20170315825A1 (en) * | 2016-05-02 | 2017-11-02 | John C. Gordon | Presenting Contextual Content Based On Detected User Confusion |
EP3504653B1 (en) | 2016-08-29 | 2022-08-03 | Beckman Coulter, Inc. | Remote data analysis and diagnosis |
EP3533065A1 (en) | 2016-10-26 | 2019-09-04 | Beckman Coulter, Inc. | Remote monitoring of laboratory instruments |
US11150923B2 (en) * | 2019-09-16 | 2021-10-19 | Samsung Electronics Co., Ltd. | Electronic apparatus and method for providing manual thereof |
CN112766750B (zh) * | 2021-01-25 | 2024-05-31 | 中国原子能科学研究院 | 任务模型的构建方法及系统 |
Family Cites Families (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5117496A (en) * | 1988-05-23 | 1992-05-26 | Hewlett-Packard Company | Method for recording and replaying mouse commands by recording the commands and the identities of elements affected by the commands |
US5689647A (en) * | 1989-03-14 | 1997-11-18 | Sanyo Electric Co., Ltd. | Parallel computing system with processing element number setting mode and shortest route determination with matrix size information |
US5201046A (en) * | 1990-06-22 | 1993-04-06 | Xidak, Inc. | Relational database management system and method for storing, retrieving and modifying directed graph data structures |
US5481667A (en) * | 1992-02-13 | 1996-01-02 | Microsoft Corporation | Method and system for instructing a user of a computer system how to perform application program tasks |
US5535422A (en) * | 1992-03-26 | 1996-07-09 | International Business Machines Corporation | Interactive online tutorial system for software products |
US5600789A (en) * | 1992-11-19 | 1997-02-04 | Segue Software, Inc. | Automated GUI interface testing |
US5550967A (en) * | 1993-01-27 | 1996-08-27 | Apple Computer, Inc. | Method and apparatus for generating and displaying visual cues on a graphic user interface |
US5859638A (en) * | 1993-01-27 | 1999-01-12 | Apple Computer, Inc. | Method and apparatus for displaying and scrolling data in a window-based graphic user interface |
AU1258195A (en) * | 1993-11-17 | 1995-06-06 | Collegeview | Method and apparatus for displaying three-dimensional animated characters upon a computer monitor's screen |
JPH07253865A (ja) * | 1994-03-16 | 1995-10-03 | Matsushita Electric Ind Co Ltd | 操作ガイダンス装置 |
JPH07295940A (ja) * | 1994-04-21 | 1995-11-10 | Sharp Corp | 電子機器 |
US5602982A (en) * | 1994-09-23 | 1997-02-11 | Kelly Properties, Inc. | Universal automated training and testing software system |
US6226785B1 (en) * | 1994-09-30 | 2001-05-01 | Apple Computer, Inc. | Method and apparatus for storing and replaying creation history of multimedia software or other software content |
US5671351A (en) * | 1995-04-13 | 1997-09-23 | Texas Instruments Incorporated | System and method for automated testing and monitoring of software applications |
US5825356A (en) * | 1996-03-18 | 1998-10-20 | Wall Data Incorporated | Help system with semitransparent window for disabling controls |
US5715415A (en) * | 1996-06-05 | 1998-02-03 | Microsoft Corporation | Computer application with help pane integrated into workspace |
IL119746A (en) * | 1996-12-03 | 2000-06-01 | Ergolight Ltd | Computerized apparatus and methods for identifying usability problems of a computerized system |
US5917489A (en) * | 1997-01-31 | 1999-06-29 | Microsoft Corporation | System and method for creating, editing, and distributing rules for processing electronic messages |
US6233726B1 (en) * | 1997-02-05 | 2001-05-15 | Sybase, Inc. | Development system with reference card and parameter wizard methodologies for facilitating creation of software programs |
US6198479B1 (en) * | 1997-06-25 | 2001-03-06 | Samsung Electronics Co., Ltd | Home network, browser based, command and control |
US6239800B1 (en) * | 1997-12-15 | 2001-05-29 | International Business Machines Corporation | Method and apparatus for leading a user through a software installation procedure via interaction with displayed graphs |
US6104393A (en) * | 1998-06-11 | 2000-08-15 | International Business Machines Corporation | Integration of procedural and object-oriented user interfaces |
US6061643A (en) * | 1998-07-07 | 2000-05-09 | Tenfold Corporation | Method for defining durable data for regression testing |
US6307544B1 (en) * | 1998-07-23 | 2001-10-23 | International Business Machines Corporation | Method and apparatus for delivering a dynamic context sensitive integrated user assistance solution |
US6263629B1 (en) * | 1998-08-04 | 2001-07-24 | Clark Schwebel Tech-Fab Company | Structural reinforcement member and method of utilizing the same to reinforce a product |
US6504554B1 (en) * | 1998-09-01 | 2003-01-07 | Microsoft Corporation | Dynamic conversion of object-oriented programs to tag-based procedural code |
US6219047B1 (en) * | 1998-09-17 | 2001-04-17 | John Bell | Training agent |
US6308146B1 (en) * | 1998-10-30 | 2001-10-23 | J. D. Edwards World Source Company | System and method for simulating user input to control the operation of an application |
US6745170B2 (en) * | 1999-02-08 | 2004-06-01 | Indeliq, Inc. | Goal based educational system with support for dynamic characteristic tuning |
US6502234B1 (en) * | 1999-01-15 | 2002-12-31 | International Business Machines Corporation | Component based wizard for creating wizards |
US6574791B1 (en) * | 1999-01-15 | 2003-06-03 | International Business Machines Corporation | Component based designer for modifying and specializing wizards |
US6340977B1 (en) * | 1999-05-07 | 2002-01-22 | Philip Lui | System and method for dynamic assistance in software applications using behavior and host application models |
WO2000070417A1 (en) * | 1999-05-17 | 2000-11-23 | The Foxboro Company | Process control configuration system with parameterized objects |
US7000187B2 (en) * | 1999-07-01 | 2006-02-14 | Cisco Technology, Inc. | Method and apparatus for software technical support and training |
JP3634199B2 (ja) * | 1999-08-05 | 2005-03-30 | 富士通株式会社 | 電子文書作成支援装置,及び、電子文書作成支援用データ及び電子文書作成支援プログラムを格納したコンピュータ可読媒体 |
US6532023B1 (en) * | 1999-08-12 | 2003-03-11 | International Business Machines Corporation | Recording selected applet events of a user interaction sequence |
US6662225B1 (en) * | 1999-11-16 | 2003-12-09 | Ricoh Company, Ltd. | Remote system usage monitoring with flexible packaging of data |
JP2001356934A (ja) * | 2000-03-02 | 2001-12-26 | Texas Instr Inc <Ti> | ハードウェアシステムとインタラクトするソフトウェアシステムの構成方法およびデジタルシステム |
US6502102B1 (en) * | 2000-03-27 | 2002-12-31 | Accenture Llp | System, method and article of manufacture for a table-driven automated scripting architecture |
US7624356B1 (en) * | 2000-06-21 | 2009-11-24 | Microsoft Corporation | Task-sensitive methods and systems for displaying command sets |
US7051317B2 (en) * | 2001-06-29 | 2006-05-23 | National Instruments Corporation | System and method for specifying a computer-implemented process using different programming methodologies |
JP2003015793A (ja) * | 2001-07-03 | 2003-01-17 | Matsushita Electric Works Ltd | ネットワーク上の監視対象の情報を監視画面上にダイナミックに変化させて表示する方法、ネットワーク上の監視対象の情報を監視画面上にダイナミックに変化させて表示するシステム、およびこのシステムを実現するためのユーザインタフェースプレイヤープログラム |
US6959294B2 (en) * | 2001-07-10 | 2005-10-25 | Microsoft Corporation | Context-based help engine and dynamic help |
US6966013B2 (en) * | 2001-07-21 | 2005-11-15 | International Business Machines Corporation | Method and system for performing automated regression tests in a state-dependent data processing system |
US7185286B2 (en) * | 2001-08-28 | 2007-02-27 | Nvidia International, Inc. | Interface for mobilizing content and transactions on multiple classes of devices |
US6948152B2 (en) * | 2001-09-14 | 2005-09-20 | Siemens Communications, Inc. | Data structures for use with environment based data driven automated test engine for GUI applications |
US7024658B1 (en) * | 2001-09-28 | 2006-04-04 | Adobe Systems Incorporated | Extensible help facility for a computer software application |
US7055137B2 (en) * | 2001-11-29 | 2006-05-30 | I2 Technologies Us, Inc. | Distributed automated software graphical user interface (GUI) testing |
US7475126B2 (en) * | 2002-03-15 | 2009-01-06 | Nortel Networks Limited | Method and apparatus for system lineup and testing |
US6862682B2 (en) * | 2002-05-01 | 2005-03-01 | Testquest, Inc. | Method and apparatus for making and using wireless test verbs |
US20030222898A1 (en) * | 2002-06-03 | 2003-12-04 | International Business Machines Corporation | Integrated wizard user interface |
US8874503B2 (en) * | 2002-07-15 | 2014-10-28 | Jmw Productivity, Llc | Method, system and apparatus for organizing information for managing life affairs |
US7305659B2 (en) * | 2002-09-03 | 2007-12-04 | Sap Ag | Handling parameters in test scripts for computer program applications |
US20040130572A1 (en) * | 2003-01-07 | 2004-07-08 | Aravind Bala | Active content wizard: execution of tasks and structured content |
US20050114785A1 (en) * | 2003-01-07 | 2005-05-26 | Microsoft Corporation | Active content wizard execution with improved conspicuity |
US7694223B2 (en) * | 2003-06-04 | 2010-04-06 | Sony Computer Entertainment Inc. | Methods and systems for recording user actions in computer programs |
US20050050135A1 (en) * | 2003-08-25 | 2005-03-03 | Josef Hallermeier | Handheld digital multimedia workstation and method |
US7426734B2 (en) * | 2003-10-24 | 2008-09-16 | Microsoft Corporation | Facilitating presentation functionality through a programming interface media namespace |
US20050228644A1 (en) * | 2004-03-31 | 2005-10-13 | Bea Systems, Inc. | Generic user interface testing framework with rules-based wizard |
US7346846B2 (en) * | 2004-05-28 | 2008-03-18 | Microsoft Corporation | Strategies for providing just-in-time user assistance |
CN101421776B (zh) * | 2004-07-08 | 2012-03-21 | 微软公司 | 用于生成内容的自动图像捕捉 |
JP2008506183A (ja) * | 2004-07-08 | 2008-02-28 | マイクロソフト コーポレーション | 自動的に生成されたコンテンツのインポート |
WO2006016877A1 (en) * | 2004-07-08 | 2006-02-16 | Microsoft Corporation | Automatic text generation |
US7574625B2 (en) * | 2004-09-14 | 2009-08-11 | Microsoft Corporation | Active content wizard testing |
US7587668B2 (en) * | 2005-02-17 | 2009-09-08 | Microft Corporation | Using existing content to generate active content wizard executables for execution of tasks |
US20060184880A1 (en) * | 2005-02-17 | 2006-08-17 | Microsoft Corporation | Discoverability of tasks using active content wizards and help files - the what can I do now? feature |
US7937684B2 (en) * | 2006-06-15 | 2011-05-03 | Research In Motion Limited | System and method for enabling assisted visual development of incoming message handling operations for applications on a communication device |
-
2003
- 2003-01-07 US US10/337,745 patent/US20040130572A1/en not_active Abandoned
- 2003-12-11 CA CA002452993A patent/CA2452993A1/en not_active Abandoned
- 2003-12-15 EP EP03028648A patent/EP1437648A3/en not_active Ceased
- 2003-12-18 AU AU2003270997A patent/AU2003270997B2/en not_active Ceased
- 2003-12-18 MX MXPA03011916A patent/MXPA03011916A/es active IP Right Grant
- 2003-12-19 BR BR0306072-1A patent/BR0306072A/pt not_active IP Right Cessation
-
2004
- 2004-01-06 RU RU2004100523/09A patent/RU2345404C2/ru not_active IP Right Cessation
- 2004-01-06 KR KR1020040000751A patent/KR101038395B1/ko not_active IP Right Cessation
- 2004-01-07 JP JP2004002455A patent/JP2004213677A/ja active Pending
- 2004-01-07 CN CNA200410001642XA patent/CN1530817A/zh active Pending
-
2010
- 2010-04-02 JP JP2010085998A patent/JP2010191977A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP1437648A3 (en) | 2006-01-18 |
RU2345404C2 (ru) | 2009-01-27 |
US20040130572A1 (en) | 2004-07-08 |
CA2452993A1 (en) | 2004-07-07 |
JP2004213677A (ja) | 2004-07-29 |
KR101038395B1 (ko) | 2011-06-01 |
BR0306072A (pt) | 2005-05-17 |
AU2003270997A1 (en) | 2004-07-22 |
RU2004100523A (ru) | 2005-06-20 |
EP1437648A2 (en) | 2004-07-14 |
JP2010191977A (ja) | 2010-09-02 |
AU2003270997B2 (en) | 2009-09-24 |
KR20040063823A (ko) | 2004-07-14 |
CN1530817A (zh) | 2004-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2345404C2 (ru) | Средство разработки активного содержимого: исполнение задач и структурированного содержимого | |
US7587668B2 (en) | Using existing content to generate active content wizard executables for execution of tasks | |
EP1763865B1 (en) | Automatic image capture for generating content | |
KR101087312B1 (ko) | 자동으로 생성된 콘텐츠의 임포테이션 | |
US5748191A (en) | Method and system for creating voice commands using an automatically maintained log interactions performed by a user | |
CN100361076C (zh) | 在含有图形用户界面的计算机上执行任务的方法 | |
US7636897B2 (en) | System and method for property-based focus navigation in a user interface | |
US20050033713A1 (en) | Automatic text generation | |
US20030081003A1 (en) | System and method to facilitate analysis and removal of errors from an application | |
JP2008547128A (ja) | セマンティックリッチオブジェクトによる動的なユーザエクスペリエンス | |
Grayling | Fear and loathing of the help menu: A usability test of online help | |
US7574625B2 (en) | Active content wizard testing | |
Heinonen et al. | Understanding initial API comprehension | |
Ghazali et al. | Enhancing the Developer Experience (DX) in Docker Supported Projects |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FG | Grant or registration |