BRPI0808886A2 - Assistente de aplicação definível - Google Patents

Assistente de aplicação definível Download PDF

Info

Publication number
BRPI0808886A2
BRPI0808886A2 BRPI0808886-1A BRPI0808886A BRPI0808886A2 BR PI0808886 A2 BRPI0808886 A2 BR PI0808886A2 BR PI0808886 A BRPI0808886 A BR PI0808886A BR PI0808886 A2 BRPI0808886 A2 BR PI0808886A2
Authority
BR
Brazil
Prior art keywords
application
wizard
computer
steps
assistant
Prior art date
Application number
BRPI0808886-1A
Other languages
English (en)
Inventor
S Sridhar
Original Assignee
Microsoft Corp
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 Corp filed Critical Microsoft Corp
Publication of BRPI0808886A2 publication Critical patent/BRPI0808886A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems

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)

Description

"ASSISTENTE DE APLICAÇÃO DEFINÍVEL" Fundamentos
Esta seção tem por objetivo apresentar o contexto básico deste pedido de patente, não sendo sua intenção descrever um problema específico a ser resolvido.
Ao longo do tempo, os softwares se tornaram cada vez mais complicados. A variedade adicional de tarefas que os softwares podem realizar torna o próprio software mais complexo. Embora se tenham reunidos esforços numa tentativa de tornar os softwares mais intuitivos e fáceis de usar, a complexidade na conclusão de tarefas aumentou. Antigamente, os usuários consultariam um manual para obter ajuda, mas os manuais raramente discutem problemas complexos. Além disso, foram criadas macros para automatizar tarefas repetitivas, mas muitas tarefas precisam ser adaptadas especificamente.
Sumário
A intenção deste Sumário é a de apresentar, de maneira simplificada, uma seleção de conceitos que são descritos em detalhes a seguir na Descrição Detalhada. O presente Sumário não tem a intenção de identificar aspectos cruciais ou essenciais da matéria reivindicada e não deve ser usado para limitar o âmbito da matéria reivindicada.
É revelado um assistente de aplicação. Para criar um assistente de aplicação, o usuário seleciona armazenar uma série de etapas, sendo que uma ou mais das etapas envolvem uma aplicação de computador subjacente. As etapas são criadas, e, durante cada etapa, podem ser criadas anotações. As anotações podem estar relacionadas ou não à aplicação subjacente. Assim que as etapas estiverem completas, as etapas e anotações são armazenadas como arquivos do assistente de aplicação, que podem ser lidos, modificados, excluídos ou usados para criar assistentes de aplicação adicionais. Em uso, o assistente de aplicação guia o usuário durante uma tarefa. Um relatório de andamento apresenta uma condição ao usuário e dá a ele a opção de escolher entre avançar ou retroceder através do assistente de aplicação.
Desenhos
A Fig. 1 é um diagrama de blocos de um sistema de computação que pode operar de acordo com as reivindicações;
A Fig. 2 é um fluxo grama de um método de criação de um assistente de aplicação;
A Fig. 3 é uma ilustração de um assistente de aplicação;
A Fig. 4 é um fluxograma da utilização do assistente de aplicação; e
A Fig. 5 é uma ilustração de um indicador de andamento.
Descrição
Embora o texto a seguir apresente uma descrição detalhada de várias concretizações diferentes, deve-se compreender que o âmbito legal da descrição é definido pelas concretizações apresentadas no final desta patente. A descrição detalhada deve ser interpretada apenas como exemplificativa e não descreve todas as concretizações possíveis, visto que descrever todas as concretizações possíveis seria pouco prático, senão impossível. Várias concretizações alternativas que ainda se enquadrem no âmbito das reivindicações podem ser implementadas, usando ou a tecnologia atual ou tecnologias desenvolvidas após a data de depósito desta patente.
Deve-se compreender também que, a não ser que um termo seja expressamente definido nesta patente usando a expressão “Conforme usado no presente documento, o termo é, pelo presente, definido de modo a significar...” ou uma expressão semelhante, não há a intenção de estender o significado de tal termo, seja expressa ou implicitamente, 0 para além de seu significado usual ou comum, e tal termo não deve ser interpretado como limitado em âmbito baseando-se em qualquer declaração feita em qualquer seção desta patente (que não seja a linguagem das reivindicações). Na medida em que qualquer termo citado nas reivindicações ao término desta patente é referido, nesta patente, de maneira consistente com um único significado, isto é feito somente a título de clareza para não con5 fundir o leitor, e não há a intenção de que tal termo reivindicado seja limitado, implicitamente ou de outra maneira, àquele único significado. Por fim, a não ser que o elemento reivindicado seja definido pela citação da palavra “meio” e uma função sem o a citação de nenhuma estrutura, não há a intenção de que o âmbito de qualquer elemento reivindicado seja interpretado com base na aplicação do Código dos Estados Unidos 35 § 112, parágrafo sexto.
ÍO A Fig. 1 ilustra um exemplo de um ambiente de sistema de computação adequado
100 no qual um sistema para as etapas do método e aparelho reivindicados podem ser implementadas. O ambiente de sistema de computação 100 é apenas um exemplo de um ambiente de computação adequado e não tem a intenção de implicar em qualquer limitação ao âmbito de uso ou ao método ou aparelho das reivindicações. Tampouco se deve interpretar >5 o ambiente de computação 100 como tendo qualquer dependência ou exigência com relação a qualquer um dos componentes ilustrados, ou combinação desses, no ambiente operacional exemplificativo 100.
As etapas do método e aparelho reivindicados são operacionais com vários ambientes ou configurações diferentes de sistema de computação de uso geral ou específico. 50 Exemplos de sistemas, ambientes e/ou configurações de computação bem conhecidos que podem ser adequados para uso com os métodos ou aparelho das reivindicações incluem, sem a isto se restringir, computadores pessoais, computadores servidores, dispositivos portáteis ou laptop, sistemas com múltiplos processadores, sistemas baseados em microprocessador, componentes eletrônicos programados pelo consumidor, PCs de rede, microcomJ5 putadores, computadores de grande porte, ambientes de computação distribuída que incluem qualquer um dos sistemas ou dispositivos acima, entre outros.
As etapas do método e aparelho reivindicados podem ser descritas no contexto geral de instruções executadas por computador, tais como módulos de programa sendo executados por um computador. Geralmente, os módulos de programa incluem rotinas, programas, objetos, estruturas de dados etc., que efetuam tarefas específicas ou implementam tipos de dados abstratos específicos. Os métodos e aparelhos também pode ser praticados 5 em ambientes de computação distribuída, nos quais as tarefas são efetuadas por dispositivos de processamento remoto são ligados por meio de uma rede de comunicações. Em um ambiente de computação distribuída, os módulos de programa podem estar localizados tanto em meios de armazenamento de computador remotos quanto locais, incluindo dispositivos de armazenamento em memória.
Com referência à Fig. 1, um sistema exemplificativo para implementação das eta
pas do método e aparelho reivindicado inclui um dispositivo de computação de uso geral na forma de um computador 110. Os componentes do computador 110 podem incluir, sem a isto se restringir, uma unidade de processamento 120, uma memória de sistema 130 e um barramento de sistema 121 que acopla vários componentes do sistema, incluindo a memória 15 do sistema, à unidade de processamento 120. O computador 110 geralmente inclui uma variedade de meios legíveis por computador. Meios legíveis por computador podem ser qualquer meio disponível que pode ser acessado por computador 110 e que inclui tanto meios voláteis e não-voláteis quanto meios removíveis e não-removíveis.
A memória de sistema 130 inclui meios de armazenamento de computador na for20 ma de memória volátil e/ou não-volátil, tal como memória somente para leitura (ROM) 131 e memória de acesso aleatório (RAM) 132. Um sistema básico de entrada/saída 133 (BIOS), contendo as rotinas básicas para ajudar a transferir informações entre os elementos dentro do computador 110, tal como durante a inicialização, é geralmente armazenado na ROM 131. A RAM 132 geralmente contém dados e/ou módulos de programa que podem ser a25 cessados a qualquer momento e/ou que estão sendo operados pela unidade de processamento 120. A título exemplificativo, e sem limitação, a Fig. 1 ilustra o sistema operacional 134, programas aplicativos 135, outros módulos de programa 136, e dados de programa 137.
O computador 110 também pode incluir outros meios de armazenamento de com30 putador removíveis/não-removíveis e voláteis/não-voláteis. A título meramente exemplificativo, a Fig. 1 ilustra uma unidade de disco rígido 140 que lê ou grava em meios magnéticos não-removíveis e não-voláteis, uma unidade de disco magnético 151 que lê ou grava em um disco magnético removível e não-volátil 152, e uma unidade de disco óptica 155 que lê ou grava em um disco óptico removível e não-volátil 156, tal como um CD-ROM ou outros mei35 os ópticos. A unidade de disco rígido 141 é geralmente conectada ao barramento do sistema 121 por meio de uma interface de memória não-removível, tal como a interface 140, e a unidade de disco magnético 151 e a unidade de disco óptico 155 são geralmente conectadas ao barramento de sistema 121 por uma interface de memória removível, tal como a interface 150.
As unidades e seus meios de armazenamento de computador associados, discutidos acima na Fig. 1, fornecem o armazenamento de instruções legíveis por computador, 5 estruturas de dados, módulos de programa e outros dados para o computador 110. Na Fig. 1, por exemplo, a unidade de disco rígido 141 é ilustrada armazenando o sistema operacional 144, os programas aplicativos 145, outros módulos de programa 146, e dados de programa 147. Observe que esses componentes podem ou ser os mesmos ou ser diferentes do sistema operacional 134, dos programas aplicativos 135, dos outros módulos de programa 10 136 e dos dados de programa 137. O sistema operacional 144, os programas aplicativos 145, os outros módulos de programa 146 e os dados de programa 147 recebem números diferentes neste documento para mostrar que se tratam, no mínimo, de cópias diferentes. Um usuário pode entrar com comandos e informações no computador 20 por meio de dispositivos de entrada, tais como um teclado 162 e o dispositivo de apontamento 161, normal15 mente chamado de mouse, trackball ou superfície de toque. Esses e outros dispositivos de entrada são geralmente conectados à unidade de processamento 120 por meio de uma interface de entrada do usuário 160 que é acoplada ao barramento do sistema, mas que pode ser conectada por outra interface e estruturas de barramento, tais como uma porta paralela, porta de jogo ou um barramento serial universal (USB). Um monitor 191, ou outro tipo de 20 dispositivo de exibição, também é conectado ao barramento de sistema 121 por meio de uma interface, tal como uma interface de vídeo 190. Além do monitor, os computadores também podem incluir outros periféricos de saída, tais como alto-falantes 197 e impressora 196, que podem ser conectados por meio de uma interface periférica de saída 190.
O computador 110 pode operar em um ambiente em rede usando conexões lógicas 25 com um ou mais computadores remotos, tal como o computador remoto 180. O computador remoto 180 pode ser um computador pessoal, um servidor, um roteador, um PC de rede, um dispositivo não hierarquizado ou outro nó comum da rede, e geralmente inclui muitos ou todos os elementos supramencionados com relação ao computador 110, apesar de apenas um dispositivo de armazenamento em memória 181 haver sido ilustrado na Figura 1. As co30 nexões lógicas ilustradas na FIG. 1 incluem uma rede local (LAN) 171 e uma rede de área ampla (WAN) 173, mas também pode incluir outras redes. Tais ambientes de rede são comuns em escritórios, redes de computador a nível empresarial, intranets e a Internet.
Quando usado em um ambiente em rede LAN, o computador 110 é conectado à LAN 171 por meio de uma interface de rede ou adaptador 170. Quando usado em um ambiente em rede WAN, o computador 110 geralmente inclui um modem 172 ou outros meios para estabelecer comunicações pela WAN 173, tal como a Internet. O modem 172, que pode ser interno ou externo, pode ser conectado ao barramento do sistema 121 por meio da interface de entrada do usuário 160, ou por outro mecanismo apropriado. Em um ambiente em rede, os módulos de programa representados com relação ao computador 110, ou partes deles, podem ser armazenados no dispositivo de armazenamento em memória remoto. A título exemplificativo, e sem limitação, a Fig. 1 ilustra programas aplicativos remotos 185 5 residindo no dispositivo de memória 181. Apreciar-se-á que as conexões de rede ilustradas são exemplificativas e que outros meios para estabelecer uma ligação de comunicações entre os computadores podem ser usados.
A Fig. 2 é uma ilustração de um método para proporcionar um assistente de aplicação em um sistema de computador, tal como o computador 100. Em geral, muitas tarefas em um dia típico podem ser desmembradas em uma série de etapas. Algumas das etapas usam uma aplicação de computador, enquanto outras não. À medida que as aplicações de computador se tornaram mais detalhadas e sofisticadas, a possibilidade de aprender rapidamente como usar um programa de computador sem instruções é cada vez mais difícil. Antigamente, criavam-se fluxogramas e listas de verificação para ajudar a acompanhar as etapas que devem ser completadas a fim de executar uma tarefa com êxito. No entanto, tais listas não eram interativas, uma vez que os usuários poderiam facilmente pular etapas ou repetir etapas sem nem mesmo perceber. Além disso, as listas muitas vezes estavam separadas do programa de computador base. Além disso, após as listas de verificação serem criadas, era difícil mantê-las atualizadas ou de modo que refletisse o conhecimento atual do usuário.
No bloco 200, uma série de etapas pode ser selecionada para ser armazenada como parte de um assistente de aplicação. Pelo menos uma das etapas pode ser executada na aplicação no computador 100. No entanto, as etapas podem estar relacionadas a várias aplicações de computador, e algumas das etapas podem até mesmo não estar relacionadas 25 ao computador. Por exemplo, ao entrar com um pedido em uma aplicação de computador, uma primeira etapa pode exigir a abertura de uma aplicação de vendas no computador 100. Uma segunda etapa pode exigir a abertura de uma aplicação de contas a receber para certificar-se de que o cliente pagou suas contas e está autorizado a efetuar novos pedidos. Se o cliente estiver com atraso nas contas a pagar, a próxima etapa pode envolver falar com o 30 gerente de contas para determinar a razão pela qual a conta está atrasada. A etapa de falar não inclui o uso de nenhum computador. No entanto, essa etapa pode ser criada no assistente de aplicação.
O assistente de aplicação pode ser uma tela adicional no computador 100 pela qual o usuário tem a oportunidade de ler, adicionar, editar, excluir, modificar ou visualizar informações adicionais sobre a série de etapas que compõem uma tarefa. A Fig. 3 é uma ilustração de um exemplo de assistente de aplicação 300 sendo exibido. Naturalmente, o assistente de aplicação pode assumir variadas formas. Em uma concretização, o assistente de aplicação 300 é um texto dentro de uma caixa de exibição imediata que é exibida sobre uma aplicação base 310 que está sendo anotada. Em outra concretização, o assistente de aplicação 300 é uma combinação de texto, gráficos e som. Em ainda outra concretização, o assistente de aplicação 300 contém gráficos selecionados de uma aplicação envolvida em uma das etapas.
Em uma concretização, a série de etapas é realizada pelo usuário. Em macros, as macros realizam todas as etapas que a macro gravou. O assistente de aplicação 300 é diferente no sentido de que ele fornece ao usuário orientações para realizar etapas para completar uma tarefa. Em uma concretização, o assistente de aplicação 300 pode ser combina0 do com um recurso do tipo macro, em que o usuário pode escolher inserir uma macro no assistente de aplicação 300, mas o usuário ainda tem de participar na conclusão das etapas.
Ao criar o assistente de aplicação 300, é possível determinar parâmetros no assistente de aplicação 300 específico ou tipo de processo sendo criado. Por exemplo, o assis5 tente de aplicação 300 pode ser criado para todas as faturas genéricas que são criadas. Em outro exemplo, o assistente de aplicação 300 pode ser criado para faturas para um cliente específico. Além disso, em ainda outra concretização, o assistente de aplicação 300 pode ser criado para um número de fatura específico ou instância específica de um tipo de processo. Em um exemplo de processamento de texto, o assistente de aplicação 300 pode ser 0 criado para todas as letras, para um tipo específico de letra ou para letras específicas a um cliente específico. Naturalmente, outros usos dos parâmetros podem ser possíveis.
No bloco 210, pode-se permitir a adição de anotações 320 às etapas do bloco 200. As anotações 320 podem ser blocos de texto que fornecem comentários ou orientações sobre as etapas a serem realizadas. A anotação 320 também pode ser na forma de gráficos da !5 aplicação 310 que está sendo anotada. Por exemplo, uma caixa de entrada pode ser copiada da aplicação subjacente 310 e pode ser adicionada à anotação 320. Em outra concretização, a anotação 320 simplesmente contém um lembrete para que, em uma carta, um título seja usado da maneira adequada.
As anotações 320 podem ser criadas pelo usuário. Além disso, as anotações 320 IO podem ser criadas por outra parte e podem ser adicionadas ao computador do usuário 100, por exemplo, baixando o assistente de aplicação 300 ou anotação 320. Naturalmente, outras origens da anotação 320 são possíveis.
No bloco 220, a série de etapas e anotações 320 pode ser armazenada no sistema de computador como um arquivo do assistente de aplicação usando um nome de arquivo. O S5 arquivo pode ser armazenado em um computador local 100 ou em um computador remoto 100. O arquivo do assistente de aplicação pode ser armazenado com outros arquivos do assistente de aplicação em um repositório de arquivos do assistente de aplicação. Os arquivos do assistente de aplicação podem ser abertos, visualizados, modificados, excluídos ou armazenados. Além disso, os arquivos podem ser usados como a base para outros arquivos do assistente de aplicação. Por exemplo, o assistente de aplicação para uma carta de processamento de texto pode ser usado como um assistente de aplicação para uma carta es5 pecífica para um cliente específico. O formato real do arquivo do assistente de aplicação pode ser uma variedade de formatos, tal como um arquivo XML ou uma forma de um arquivo de macro, etc., e o arquivo pode, na prática, ser vários arquivos.
Os dados que são informados enquanto as etapas estão sendo gravadas podem não ser salvos como parte do arquivo do assistente de aplicação. Em uma concretização, os 10 campos de entrada são realçados para indicar que é aconselhável entrar com dados, mas os valores informados previamente não são adicionados. Em outra concretização, pode ser disponibilidade a opção de salvar os dados que são informados, de modo que eles não precisem ser informados repetidamente.
A Figura 4 pode ser uma ilustração do uso de um assistente de aplicação 300 após 15 ele ter sido criado. No bloco 400, um assistente de aplicação 300 pode ser selecionado. Como mencionado previamente, os arquivos do assistente de aplicação 300 podem ser armazenados em um repositório. O usuário pode visualizar os arquivos do assistente de aplicação 300 no repositório e selecionar o assistente de aplicação desejado 300. Caso um assistente de aplicação em particular 300 não esteja exatamente correto, um arquivo do assis20 tente de aplicação similar pode ser selecionado e o arquivo do assistente de aplicação pode ser modificado para melhor se ajustar e ser salvo novamente como um novo arquivo do assistente de aplicação.
No bloco 410, a aplicação subjacente 310 e as anotações do assistente de aplicação 300 podem ser recuperadas e exibidas. Como descrito anteriormente, o assistente de 25 aplicação 300 é diferente de uma macro, pois o assistente de aplicação 300 necessita de entrada do usuário para que o assistente de aplicação 300 prossiga. Por exemplo, o assistente de aplicação 300 fornece orientação sobre como completar uma tarefa, tal como redigir uma carta ao Diretor do USPTO, mas na prática não é ele quem escreve a carta ao Diretor do USPTO. Se o assistente de aplicação 300 estiver relacionado a uma tarefa baseada em 30 processamento de texto, o processador de texto pode ser aberto, e se a tarefa estiver relacionada a um programa de gerenciamento de relação com o cliente ("CRM"), o programa CRM pode ser aberto e, em cada caso, o assistente de aplicação 300 será aberto.
No bloco 420, é possível apresentar ao usuário a opção de ignorar o assistente de aplicação 300. Por exemplo, o assistente de aplicação 300 pode insistir que um código de país seja informado numa fatura. Se o cliente e o vendedor estiverem nos Estados unidos, o código do país pode não ser necessário. Sendo assim, o usuário terá a possibilidade de ignorar o assistente de aplicação 300. No bloco 430, o assistente de aplicação 300 pode ser suspenso pelo usuário em determinado ponto. Por exemplo, o usuário pode receber uma chamada telefônica e ser forçado a interromper o uso do assistente de aplicação 300 e consultar alguma outra informação. quando o assistente de aplicação 300 é suspenso, ele pode salvar os dados que foram informados até tal ponto e o ponto na tarefa em que ele foi suspenso. Ao reiniciar o assistente de aplicação 300, o assistente de aplicação 300 pode retornar ao ponto no qual o assistente de aplicação 300 foi interrompido. Por exemplo, se a tarefa tiver seis etapas e três estiverem completas, o assistente de aplicação 300 pode iniciar na quarta etapa. Em uma concretização, os dados que foram informados antes de o assistente de aplicação 300 ser suspenso podem ser preenchidos nos campos corretos. Dessa forma, os dados não precisarão ser informados repetidamente caso o assistente de aplicação 300 seja suspenso repetidamente.
No bloco 440, uma indicação de andamento 500 pode ser exibida, fornecendo uma indicação visual do andamento do assistente de aplicação 300. A Fig. 5 ilustra um exemplo de indicação de andamento 500 e ilustra que o assistente de aplicação atual 300 completou três dentre seis etapas 510. A indicação de andamento 500 pode indicar um tempo estimado 520 para o assistente de aplicação 300 ser concluído. A indicação de andamento 500 também pode permitir ao usuário selecionar entre avançar ou retroceder ao longo do assistente de aplicação 300. Por exemplo, o usuário poderia selecionar a seta retroceder 530 ou avançar 540 ou qualquer uma das etapas listadas 550. Em uma concretização, o indicador de progresso 500 pode fazer parte do assistente de aplicação 300. Em outra concretização, o indicador de progresso 500 está em uma janela separada. Em outra concretização, há uma ligação que leva a uma tela dedicada à exibição do indicador de andamento 500.
Embora o texto anterior apresente uma descrição detalhada de várias concretizações diferentes, deve-se compreender que o âmbito da patente é definido pelas palavras das reivindicações apresentadas no final desta patente. A descrição detalhada deve ser interpretada apenas como exemplificativa e não descreve todas as concretizações possíveis, visto que descrever todas as concretizações possíveis seria pouco prático, senão impossível. Várias concretizações alternativas que ainda se enquadrem no âmbito das reivindicações podem ser implementadas, usando ou a tecnologia atual ou tecnologias desenvolvidas após a data de depósito desta patente.
Sendo assim, diversas modificações e variações podem ser feitas nas técnicas e estruturas descritas e ilustradas na presente invenção, sem divergir da essência e do âmbito das presentes reivindicações. Logo, deve-se entender que os métodos e aparelho descritos aqui são apenas ilustrativos, não constituindo limitações sobre o âmbito das reivindicações.

Claims (20)

REIVINDICAÇÕES
1. Método de uso de um assistente de aplicação em um sistema de computador, CARACTERIZADO por compreender: gravar uma série de etapas para completar uma tarefa específica envolvendo uma ou mais aplicações de computador (200); permitir a adição de etapas, sendo que algumas delas podem não envolver o uso de uma aplicação de computador (200); permitir a adição de anotações às etapas (210); e armazenar a série de etapas e anotações em um sistema de computador (220).
2. Método, de acordo com a reivindicação 1, CARACTERIZADO por adicionalmente compreender armazenar a série de etapas e anotações como uma entidade do assistente de aplicação (220, 300) usando um nome único junto com informações descritivas associadas sobre a entidade.
3. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que as etapas se relacionam a uma multiplicidade de aplicações de computador (135,145).
4. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que as etapas se relacionam à invocação e ao uso de uma multiplicidade de entidades do assistente de aplicação (300) diferentes.
5. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que quando o assistente de aplicação (300) é criado, é opcional armazenar, visualizar e atualizar as ações do usuário, bem como as anotações associadas a cada etapa.
6. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a entidade do assistente de aplicação (300) pode ser compartilhada com um ou mais usuários, que, por sua vez, podem escolher atualizar a entidade do assistente de aplicação (300) para seu uso.
7. Método, de acordo com a reivindicação 1, CARACTERIZADO por adicionalmente compreender solicitar a entrada e interação do usuário para que o assistente de aplicação (300) prossiga (410).
8. Método, de acordo com a reivindicação 1, CARACTERIZADO por adicionalmente compreender oferecer a opção de ignorar o assistente de aplicação (300) em qualquer etapa durante o uso do assistente de aplicação (300, 420).
9. Método, de acordo com a reivindicação 1, CARACTERIZADO por adicionalmente compreender permitir que o assistente de aplicação (300) seja suspenso em um ponto (430), e, ao ser reinicializado, retornar o assistente de aplicação (300) ao ponto em que o assistente de aplicação (300) foi suspenso.
10. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que, ao usar o assistente de aplicação (300) para completar uma tarefa específica, é opcional atualizar uma ou mais etapas e/ou anotações associadas a cada etapa, e essas atualizações irão se aplicar a essa invocação específica somente do assistente de aplicação (300).
11. Método, de acordo com a reivindicação 1, CARACTERIZADO por adicionalmente compreender oferecer a opção de visualizar o histórico de invocações ou usos recentes do assistente de aplicação específico (300) até um número máximo de invocações predeterminado.
12. Método, de acordo com a reivindicação 1, CARACTERIZADO por adicionalmente compreender oferecer a opção de armazenar uma instância específica de uma invocação ou uso anterior do assistente de aplicação específico (300) junto com marcas de tempo associadas a cada etapa, bem como às ações correspondentes do usuário (200).
13. Método, de acordo com a reivindicação 9, CARACTERIZADO por adicionalmente compreender oferecer a opção de transferir as atualizações de uma ou mais etapas e/ou anotações de uma instância específica de uma invocação anterior do assistente de aplicação específico (300) para aplicá-las a todos os usos futuros desse assistente de aplicação (300).
14. Meio de armazenamento legível por computador (130, 140, 150), compreendendo instruções executáveis por computador para usar um assistente de aplicação (300) em um sistema de computador (100), as instruções executáveis por computador sendo CARACTERIZADAS por compreender instruções executáveis por computador para: gravar uma série de etapas para completar uma tarefa específica envolvendo uma ou mais aplicações de computador (200); permitir a adição de etapas, sendo que algumas delas podem não envolver o uso de uma aplicação de computador (200); permitir a adição de anotações às etapas (210); e armazenar a série de etapas e anotações como uma entidade do assistente de aplicação (220) usando um nome único, junto com informações descritivas associadas sobre a entidade.
15. Meio legível por computador, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que as instruções se relacionam a um dentre: uma multiplicidade de aplicações de computador (135, 145); e a invocação e o uso de uma multiplicidade de entidades do assistente de aplicação diferentes (300).
16. Meio legível por computador, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que quando o assistente de aplicação (300) é criado, é opcional armazenar, visualizar e atualizar as ações do usuário, bem como as anotações associadas a cada etapa.
17. Meio legível por computador, de acordo com a reivindicação 14, CARACTERIZADO por adicionalmente compreender solicitar entrada e interação do usuário para que o assistente de aplicação (300) prossiga (410) e oferecer a opção de ignorar o assistente de aplicação (420) em qualquer etapa durante o uso do assistente de aplicação (300).
18. Meio legível por computador, de acordo com a reivindicação 14, CARACTERIZADO por adicionalmente compreender instruções executáveis por computador para permitir que o assistente de aplicação (300) seja suspenso em um ponto (430), e, ao ser reinicializado, retornar o assistente de aplicação (300) ao ponto em que o assistente de aplicação (300) foi suspenso.
19. Sistema de computador compreendendo um processador para executar instruções executáveis por computador, uma memória para armazenar instruções executáveis por computador e um circuito de entrada-saída, as instruções executáveis por computador sendo CARACTERIZADAS por compreender instruções para: gravar uma série de etapas para completar uma tarefa específica envolvendo uma ou mais aplicações de computador (200); permitir a adição de etapas, sendo que algumas delas podem não envolver o uso de uma aplicação de computador (200); permitir a adição de anotações às etapas (210); armazenar a série de etapas e anotações como uma entidade do assistente de aplicação usando um nome único, junto com informações descritivas associadas sobre a entidade (220); oferecer a opção de visualizar o histórico de invocações ou usos recentes do assistente de aplicação específico (300) até um número máximo de invocações predeterminado; oferecer a opção de armazenar uma instância específica de uma invocação ou uso anterior do assistente de aplicação específico (300) junto com marcas de tempo associadas a cada etapa, bem como às ações correspondentes do usuário; e oferecer a opção de transferir as atualizações de uma ou mais etapas e/ou anotações de uma instância específica de uma invocação anterior do assistente de aplicação específico (300) para aplicá-las a todos os usos futuros desse assistente de aplicação (300).
20. Sistema de computador, de acordo com a reivindicação 19, CARACTERIZADO pelo fato de que a entidade do assistente de aplicação (300) pode ser compartilhada com um ou mais usuários, que, por sua vez, podem escolher atualizar a entidade do assistente de aplicação para seu uso.
BRPI0808886-1A 2007-03-20 2008-03-13 Assistente de aplicação definível BRPI0808886A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/688.341 2007-03-20
US11/688,341 US8281234B2 (en) 2007-03-20 2007-03-20 Definable application assistant
PCT/US2008/056917 WO2008115767A1 (en) 2007-03-20 2008-03-13 Definable application assistant

Publications (1)

Publication Number Publication Date
BRPI0808886A2 true BRPI0808886A2 (pt) 2014-09-02

Family

ID=39766354

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0808886-1A BRPI0808886A2 (pt) 2007-03-20 2008-03-13 Assistente de aplicação definível

Country Status (9)

Country Link
US (1) US8281234B2 (pt)
EP (1) EP2137635A4 (pt)
JP (1) JP2010522399A (pt)
CN (1) CN101641688B (pt)
AU (1) AU2008229094B2 (pt)
BR (1) BRPI0808886A2 (pt)
IL (1) IL200602A (pt)
RU (1) RU2461058C2 (pt)
WO (1) WO2008115767A1 (pt)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9542394B2 (en) * 2007-06-14 2017-01-10 Excalibur Ip, Llc Method and system for media-based event generation
US8954871B2 (en) * 2007-07-18 2015-02-10 Apple Inc. User-centric widgets and dashboards
ES2534459T3 (es) * 2011-06-22 2015-04-23 Tts Knowledge Products Gmbh Procedimiento y sistema de asistencia para el manejo de un programa informático
US20140075364A1 (en) * 2012-09-13 2014-03-13 Microsoft Corporation Capturing Activity History Stream
US8869174B2 (en) * 2012-12-05 2014-10-21 Mckesson Financial Holdings Method and apparatus for providing context aware logging
US20160162167A1 (en) * 2014-12-05 2016-06-09 Microsoft Technology Licensing, Llc Playback and automatic execution of a process to control a computer system
CN105488112B (zh) * 2015-11-20 2019-09-17 小米科技有限责任公司 信息推送方法及装置
US20190068526A1 (en) * 2017-08-25 2019-02-28 Facebook, Inc. Methods and systems for helper bot platform assistance
JP6920272B2 (ja) * 2018-12-26 2021-08-18 Necパーソナルコンピュータ株式会社 情報処理装置およびその操作支援方法並びに操作支援プログラム

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5317688A (en) * 1988-07-27 1994-05-31 Hewlett-Packard Company Software agent used to provide instruction to a user for a plurality of computer applications
US6162060A (en) * 1991-08-09 2000-12-19 Texas Instruments Incorporated System and method for the delivery, authoring, and management of courseware over a computer network
US5301326A (en) * 1991-09-24 1994-04-05 Microsoft Corporation Method and system for controlling the execution of an application program
US6021403A (en) * 1996-07-19 2000-02-01 Microsoft Corporation Intelligent user assistance facility
US6020886A (en) * 1996-09-04 2000-02-01 International Business Machines Corporation Method and apparatus for generating animated help demonstrations
US6678744B2 (en) 1997-10-09 2004-01-13 Ericsson Inc. Application wrapper methods and systems
US6385596B1 (en) * 1998-02-06 2002-05-07 Liquid Audio, Inc. Secure online music distribution system
US6332154B2 (en) * 1998-09-11 2001-12-18 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing media-independent self-help modules within a multimedia communication-center customer interface
US6099320A (en) * 1998-07-06 2000-08-08 Papadopoulos; Anastasius Authoring system and method for computer-based training
US6590589B1 (en) * 1998-11-30 2003-07-08 International Business Machines Corporation Automatic generation of fastpath applications
US6502234B1 (en) * 1999-01-15 2002-12-31 International Business Machines Corporation Component based wizard for creating 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
US7043193B1 (en) * 2000-05-09 2006-05-09 Knowlagent, Inc. Versatile resource computer-based training system
JP2001326714A (ja) * 2000-05-18 2001-11-22 Nec Corp 情報処理装置および情報処理方法、並びに記録媒体
KR100460015B1 (ko) 2000-11-06 2004-12-08 주식회사 링크솔루션 유알엘 링크의 서버 및 페이지 사전 확인 방법
US7203703B2 (en) * 2001-01-29 2007-04-10 General Motors Corporation Methods and apparatus for providing on-the-job performance support
CA2356017C (en) * 2001-08-29 2010-09-21 Ibm Canada Limited-Ibm Canada Limitee User interface for phased data entry
US7024658B1 (en) * 2001-09-28 2006-04-04 Adobe Systems Incorporated Extensible help facility for a computer software application
US20050204337A1 (en) * 2003-12-31 2005-09-15 Automatic E-Learning Llc System for developing an electronic presentation
US20030103068A1 (en) * 2001-12-05 2003-06-05 International Business Machines Corporation Universal server farm mass custom design tool
US7290215B2 (en) * 2002-06-03 2007-10-30 Microsoft Corporation Dynamic wizard interface system and method
US7269633B2 (en) * 2002-12-06 2007-09-11 International Business Machines Corporation Method and system for playback of dynamic HTTP transactions
KR100513093B1 (ko) * 2002-12-23 2005-09-07 한국전자통신연구원 씨.엠.엘.투를 기반으로한 리눅스 커널, 응용 소프트웨어패키지의 통합 설정과 파일목록 생성방법
US20040130572A1 (en) 2003-01-07 2004-07-08 Aravind Bala Active content wizard: execution of tasks and structured content
US7275240B2 (en) * 2003-01-08 2007-09-25 Microsoft Corporation Method and system for recording macros in a language independent syntax
ATE444520T1 (de) 2003-01-08 2009-10-15 Microsoft Corp Verfahren und system zum aufzeichnen von makros in einer sprachunabhängigen syntax
US7308678B2 (en) * 2003-01-15 2007-12-11 Microsoft Corporation Wizard framework
US20050081153A1 (en) * 2003-08-12 2005-04-14 Gbs Global Business Software And Services Limited Method for providing process-dependent data
US20050138559A1 (en) * 2003-12-19 2005-06-23 International Business Machines Corporation Method, system and computer program for providing interactive assistance in a computer application program
US9324239B2 (en) * 2004-03-19 2016-04-26 Sap Se Authoring tool to structure and create a computer-based training course, and having role-specific functions
US7627821B2 (en) * 2004-06-15 2009-12-01 Microsoft Corporation Recording/playback tools for UI-based applications
US7653896B2 (en) * 2004-06-30 2010-01-26 Microsoft Corporation Smart UI recording and playback framework
KR101087312B1 (ko) * 2004-07-08 2011-11-25 마이크로소프트 코포레이션 자동으로 생성된 콘텐츠의 임포테이션
EP1672483A1 (de) * 2004-12-20 2006-06-21 Siemens Aktiengesellschaft Erfassung von Daten in einem Datenverarbeitungssystem
US20060136816A1 (en) * 2004-12-20 2006-06-22 Microsoft Corporation File formats, methods, and computer program products for representing documents
US20060200792A1 (en) * 2005-03-07 2006-09-07 Microsoft Corporation Process templates for software creation
US7475815B2 (en) * 2005-05-13 2009-01-13 Sap Ag Wizard for answering support inquiries
US7681133B2 (en) * 2005-10-14 2010-03-16 Oracle International Corporation Declarative task-based user interfaces
US7933786B2 (en) * 2005-11-01 2011-04-26 Accenture Global Services Limited Collaborative intelligent task processor for insurance claims

Also Published As

Publication number Publication date
US8281234B2 (en) 2012-10-02
AU2008229094A1 (en) 2008-09-25
US20080235256A1 (en) 2008-09-25
JP2010522399A (ja) 2010-07-01
CN101641688A (zh) 2010-02-03
RU2461058C2 (ru) 2012-09-10
WO2008115767A1 (en) 2008-09-25
RU2009135043A (ru) 2011-03-27
EP2137635A1 (en) 2009-12-30
CN101641688B (zh) 2013-01-02
AU2008229094B2 (en) 2012-02-09
IL200602A (en) 2014-05-28
IL200602A0 (en) 2010-05-17
EP2137635A4 (en) 2010-03-17

Similar Documents

Publication Publication Date Title
BRPI0808886A2 (pt) Assistente de aplicação definível
US7877680B2 (en) Auto-generation and auto-versioning of a multi-sourced dynamic document
Whiting et al. Creating an iPhone application for collecting continuous ABC data
JP2017224277A (ja) モデル駆動手法による自動化されたユーザインターフェース(ui)テストのための方法およびシステム
US10678519B2 (en) Code generation for isomorphic data fetching
Prettyman Learn PHP 7
Paarsch et al. A gentle introduction to effective computing in quantitative research: What every research assistant should know
Helmke Ubuntu Unleashed 2019 Edition: Covering 18.04, 18.10, 19.04
Garbarino Beginning Kubernetes on the Google Cloud Platform: A Guide to Automating Application Deployment, Scaling, and Management
US20100203493A1 (en) Learning component instructional software system and method
Bresnahan Linux Essentials
Betancourt et al. Why Python?
Alkhuwayr A Study of the State of the Art UML Case Tools Suitable for Supporting Teaching and Learning of Software Design and compatible with an ALL approach to the subject
Barton et al. LLNL/ExaCMech
Helmke Ubuntu Linux Unleashed 2021 Edition
Patrick et al. Visual Basic 2005 Cookbook: Solutions for VB 2005 Programmers
Arora et al. Azure DevOps Server 2019 Cookbook: Proven Recipes to Accelerate Your DevOps Journey with Azure DevOps Server 2019 (formerly TFS)
Both Installing and Updating Software
Bresnahan et al. Mastering Linux System Administration
Izham Development of a mobile financial planner application
US20030131341A1 (en) Method, system, and product for storage of attribute data in an object oriented environment
Both et al. Find the Simplicity
Beasley et al. Master Pages
Uguina Gadella C-mulator. Design and development of an educational web application for teaching C language
Freeman et al. Getting Ready

Legal Events

Date Code Title Description
B08F Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette]

Free format text: REFERENTE A 7A ANUIDADE.

B08K Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette]

Free format text: EM VIRTUDE DO ARQUIVAMENTO PUBLICADO NA RPI 2343 DE 01-12-2015 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDO O ARQUIVAMENTO DO PEDIDO DE PATENTE, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.