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
Application number
MXPA03011916A
Other languages
English (en)
Inventor
Bala Aravind
Original Assignee
Microsoft Coroporation
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 Microsoft Coroporation filed Critical Microsoft Coroporation
Publication of MXPA03011916A publication Critical patent/MXPA03011916A/es

Links

Classifications

    • AHUMAN NECESSITIES
    • A45HAND OR TRAVELLING ARTICLES
    • A45DHAIRDRESSING OR SHAVING EQUIPMENT; EQUIPMENT FOR COSMETICS OR COSMETIC TREATMENTS, e.g. FOR MANICURING OR PEDICURING
    • A45D29/00Manicuring or pedicuring implements
    • A45D29/17Nail cleaners, e.g. scrapers
    • 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
    • G06F9/453Help systems
    • AHUMAN NECESSITIES
    • A46BRUSHWARE
    • A46BBRUSHES
    • A46B2200/00Brushes characterized by their functions, uses or applications
    • A46B2200/10For human or animal care
    • A46B2200/1006Brushes for cleaning the hand or the human body
    • A46B2200/1013Brushes 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)

REIVINDICACIONES
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.
MXPA03011916A 2003-01-07 2003-12-18 Asistente de contenido activo: ejecucion de tareas y contenido estructurado. MXPA03011916A (es)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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