KR20070039099A - 상태-기반 컴퓨터 도움말 유틸리티 - Google Patents

상태-기반 컴퓨터 도움말 유틸리티 Download PDF

Info

Publication number
KR20070039099A
KR20070039099A KR1020077002123A KR20077002123A KR20070039099A KR 20070039099 A KR20070039099 A KR 20070039099A KR 1020077002123 A KR1020077002123 A KR 1020077002123A KR 20077002123 A KR20077002123 A KR 20077002123A KR 20070039099 A KR20070039099 A KR 20070039099A
Authority
KR
South Korea
Prior art keywords
user
help
window
help utility
application
Prior art date
Application number
KR1020077002123A
Other languages
English (en)
Inventor
프랑크 리-데 린
프랑시스 디온 브이. 칼로
Original Assignee
소니 일렉트로닉스 인코포레이티드
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 소니 일렉트로닉스 인코포레이티드 filed Critical 소니 일렉트로닉스 인코포레이티드
Publication of KR20070039099A publication Critical patent/KR20070039099A/ko

Links

Images

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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • G06F11/1616Error detection by comparing the output signals of redundant hardware where the redundant component is an I/O device or an adapter therefor
    • G06F11/162Displays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • G06F16/2448Query languages for particular applications; for extensibility, e.g. user defined types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24562Pointer or reference processing operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • 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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

도움말 유틸리티 어플리케이션(20)은 데이터 입력 단계들의 시퀀스의 각 단계와 연관된 정보를 제공하여 사용자가 실시간으로 단계별 프로세스를 이행하도록 돕는다. 도움말 유틸리티 어플리케이션(20)은 사용자가 도움이 필요한 시퀀스의 특정 단계를 결정하여 컨텍스트-기반 기능을 제공한다. 도움말 유틸리티 어플리케이션(20)은 또한, 한 개 이상의 특정 단계들에서 사용자가 입력한 데이터에 기초하여 분기하는 컨텍스트-기반 기능을 제공한다.
도움말 유틸리티 어플리케이션, 컨텍스트-기반 기능, 윈도우 상태 정보, 사용자 인터랙션 컨트롤, 지시 디스플레이 박스, 데이터 입력 세트, 포인터, 스크립트, 분기/포킹 정보, 피킹 메커니즘

Description

상태-기반 컴퓨터 도움말 유틸리티{STATE-BASED COMPUTER HELP UTILITY}
본 발명은 일반적으로 컴퓨터 도움말 유틸리티에 관한 것이다.
일부 컴퓨터 도움말 어플리케이션들은 문자를 디스플레이하여, 사용자가, 컴퓨터에서 프로세서를 이행함에 따라 무슨 데이터 입력과 설정이 필요한지를 판정하기 위해 판독하도록 한다. 다른 도움말 어플리케이션들은, 예를 들어, 사용자가 특정 디스플레이된 컨트롤 위에 포인터(즉, 마우스 포인터)를 이동할 때 도움말 정보를 디스플레이한다. 그러나, 본 명세서에서 비판적으로 인식되는 바와 같이, 문자 파일은 종종 사용자를 혼란스럽게 하고, 포인트-기반 도움말 기능은 사용자에게 다음에 무슨 단계를 수행할지를 나타내지 않는다.
컴퓨터 도움말 기능을 사용하는 대신에, 사용자는 고객 서비스 센터에 연락하여, 사용자가 특정 프로세스를 이행하도록 인도하고 사용자가 이행해야 하는 다양한 데이터 입력 선택들을 설명할 수 있는 사람과 작업을 할 수 있다. 불행히도, 그런 고객 서비스 센터는 종종 사용자가 연락하기에 어려울 수 있고(예를 들어, 높은 통화량으로 인해), 또한 운영하기에 비용이 들 수 있다. 상술된 비판적 관찰로부터, 본 명세서에 본 발명이 제공된다.
도움말 어플리케이션은 데이터 입력 단계들의 시퀀스에서 각 단계와 연관된 정보를 제공하여 실시간으로 단계별 프로세스를 이행하도록 사용자를 돕는다. 도움말 어플리케이션은 사용자가 도움말이 필요한 시퀀스의 특정 단계를 결정하여 컨텍스트 기능을 제공한다. 도움말 어플리케이션은 또한 한 개 이상의 특정 단계들에서 사용자 액션에 기초한 분기(branching)에 의해 컨텍스트-기반 기능을 제공한다.
따라서, 컴퓨팅 플랫폼에서 실행되는 도움말 유틸리티 어플리케이션이 개시된다. 도움말 유틸리티 어플리케이션은, 제1 사용자 인터랙션 시나리오와 연관된 제1 지시 디스플레이 박스(instruction display box)를 디스플레이하는 단계를 포함하는 동작들을 위한 코드화된 지시를 포함한다. 제1 지시 디스플레이 박스는, 원하면, 제1 데이터 입력 필드를 통해서 입력되는 데이터와 연관된 문자 지시를 포함할 수 있다. 상기 방법의 동작은 또한, 제2 사용자 인터랙션 시나리오와 연관된 제2 지시 디스플레이 박스를 자동으로 디스플레이하는 단계를 포함하고, 제2 지시 디스플레이 박스는 제2 데이터 입력 필드를 통해 입력되는 데이터와 연관된 문자 지시를 포함한다. 제2 지시 디스플레이 박스의 자동 디스플레이는 제1 데이터 입력 필드를 통한 데이터 입력의 이행에 기초된다.
일부 실시예들에서, 제2 데이터 입력 필드를 통해 입력되는 데이터와 연관되는 문자 지시는 제1 데이터 입력 필드를 통해 입력되는 데이터에 기초된다. 도움말 유틸리티의 방법 동작들은 지시 디스플레이 박스와 데이터 입력 필드를 가시적으로 연관시키는 한 개 이상의 포인터들을 디스플레이하는 단계를 더 포함할 수 있다.
다른 양태에서, 컴퓨터 도움말 유틸리티는, 클라이언트 셋업 어플리케이션의 상태를 결정하는 수단, 그리고 상기 셋업 어플리케이션과 관련된 다음 단계를 실시간으로 결정하는 수단을 포함한다. 상기 실시간 결정 수단에 응답하여, 다음 단계에 데이터의 입력에서 도움말 정보를 제공하는 수단이 제공된다.
본 발명의 제2 양태의 비제한적 구현에서, 상기 상태 결정 수단은 사용자에게 디스플레이되고 있는 클라이언트 프로세스 윈도우를 도움말 지시와 상관시킨다. 도움말 유틸리티는 도움말이 필요할 수 있는 클라이언트 어플리케이션의 단계들을 포함하는 스크립트를 사용할 수 있다. 클라이언트 어플리케이션의 단계들과 관련되는 도움말 유틸리티와 연관된 정보는 다음의 것들 중의 한 개 이상을 포함할 수 있다: 사용자에게 디스플레이하기 위한 지시 또는 쿼리(queries)를 디스플레이하는 문자, 현재 단계를 식별하는 윈도우 또는 컨트롤, 다음 단계가 무엇이어야 하는지를 판정하는 테스트를 실행할 수 있는 기능의 설명, 그리고 스크립트의 다양한 다른 부분들의 어디로 점프할지를, 클라이언트 어플리케이션의 상태에 기초하여, 나타내는 분기/포킹(forking) 정보. 또한, 컴퓨터 하드웨어 및/또는 소프트웨어, 예를 들어, 무선 카드의 다양한 상태 및/또는 능력을 결정하기 위해 테스트가 실행될 수 있다.
본 발명의 제2 양태의 추가적 비제한적인 구현에서, 도움말 유틸리티는 클라이언트 어플리케이션의 메시지 큐(queue)로 삽입되는 후크(hook)를 사용하여 스크립트의 다른 부분으로 자동으로 진행한다. 상기 후크는, 사전결정된 동작들이 수행되었을 때 발생하는 표준 윈도우 메시지들의 서브세트를 검색한다. 사전결정된 동작들은 윈도우 상태 및 컨트롤 상의 사용자 동작들을 포함할 수 있다.
또는, 도움말 유틸리티는, 클라이언트 프로세스에서 사용자가 다음 단계로 진행해야 하는지를 판정하기 위해서 미리 피크(peek)하기 위해 일정한 간격으로 트리거링(triggering)하는 피킹 메커니즘을 사용하여 스크립트의 다른 부분으로 자동으로 진행할 수 있다. 피킹 메커니즘은, 사용자에 의해 조작되는 버튼을 확인하여, 및/또는 닫힌 이전이나 현재 윈도우를 확인하여, 및/또는 열린 새 윈도우를 확인하여, 도움말 유틸리티의 다음 단계로 진행할 수 있다.
다른 양태에서, 사용자에게 컴퓨터 도움말을 제공하는 방법은, 적어도 한 개의 클라이언트 어플리케이션과 관련된 적어도 한 개의 스크립트를 실행하는 도움말 유틸리티를 제공하는 단계를 포함한다. 상기 방법은 또한, 사용자가 클라이언트 어플리케이션에서 어디에 있는지에 기초하여, 사용자가 클라이언트 어플리케이션에서 취해야 하는 다음 단계를 결정하는 단계를 포함한다. 이를 기초로 하여, 상기 방법은 사용자에게 도움말 정보의 디스플레이를 위해 스크립트의 대응하는 부분을 식별한다.
본 발명의 세부 사항은, 그것의 구조와 동작 모두에서, 유사 참조부호가 유사 부분을 참조하는, 첨부된 도면들을 참조하여 가장 잘 이해될 수 있다.
도 1은 본 발명의 시스템 아키텍쳐의 블럭도이다.
도 2는 전체 논리의 흐름도이다.
도 3과 도 4는 어떻게 어플리케이션 윈도우가 식별될 수 있는 지를 나타내는 도해이다.
도 5 내지 도 7은 본 발명의 일 실시예에 따라서, 사용자 인터페이스 디스플레이와 연관된 도움말 어플리케이션 기능을 나타내는 도해이다.
도 8 및 도 9은 본 발명의 일 실시예에 따라서, 사용자 인터페이스 디스플레이와 연관된 도움말 어플리케이션 기능을 나타내는 도해이다,
본 명세서에 기재된 실시예들은 다양한 실시예들을 설명한다. 본 발명을 더욱 명료히 기재하기 위해, 잘 공지된 특정 기능들과 특징들은 본 설명에서 생략되었다. 코딩은 당업자에게 잘 공지된 다양한 방식으로 수행될 수 있고, 본 설명의 관점에서 루틴(routine)이다.
먼저, 도 1을 참조하면, 현재의 도움말 유틸리티를 사용할 수 있는 컴퓨팅 디바이스(10)가 도시된다. 컴퓨팅 디바이스(10)는, 데스크톱이나 랩톱 컴퓨터(예를 들어, Sony Corporation이 만든 VAIO 컴퓨팅 시스템), 게이밍(gaming) 컴퓨터 시스템, 또는 휴대용 컴퓨팅 플랫폼(예를 들어, 팜톱(palmtop) 컴퓨터, PDA(personal digital assistant), 셀룰러 전화 핸드셋 등)과 같은 임의의 적절한 디바이스일 수 있다. 도시된 바와 같이, 컴퓨팅 디바이스(10)는, 키보드, 키패드, 마우스, 조이스틱, 트랙볼 등과 같은, 하지만 이에 제한되지는 않는, 한 개 이상의 입력 디바이스(12), 그리고 모니터, 프린터, 네트워크 등과 같은, 하지만 이에 제한되지는 않는, 한 개 이상의 출력 디바이스(14)를 포함할 수 있다. 입력 디바이 스(12)를 사용하여 컴퓨팅 디바이스(10)의 프로세서(16)로 정보가 입력될 수 있고, 프로세서(16)로부터의 데이터가 아래 설명되는 디스플레이를 포함하는 출력 디바이스(14)에 디스플레이될 수 있다. 원하면, 블루투스, Wi-Fi, 다른 RF(예를 들어, CDMA, TDMA, GSM), 또는 다른 통신 시스템과 같은, 하지만 이에 제한되지는 않는, 무선 통신 시스템(18)을 사용하여, 프로세서(16)는, 다른 컴퓨터들과 통신할 수 있다.
본 발명에 따라서, 소프트웨어-구현된 도움말 유틸리티 어플리케이션(20)은 프로세서(16)에 의해 액세스되어, 디바이스(10)를 사용하는 사용자에게 실시간으로 단계별 도움을 제공할 수 있다. 비제한적인 예를 통해서, 무선 통신 시스템(18)을 컨트롤하는 무선 통신 시스템 어플리케이션(22)과 같은 클라이언트 프로세스의 셋업에서 사용자를 돕기 위해 도움말 유틸리티 어플리케이션(20)이 사용될 수 있다.
도 2는 본 발명의 전체 논리를 나타낸다. 블럭(24)에서 시작하면, 도움말 유틸리티 어플리케이션(20)은 도움말 지시가 필요할 수 있는 클라이언트 프로세스(22)의 상태를 먼저 판정한다. 일 실시예에서, 도움말 유틸리티 어플리케이션(20)은, 사용자가 한 개 이상의 쿼리(들)에 응답하도록 프롬프팅(prompting)하고나서 상기 쿼리(들)에 대한 사용자 응답을 검사하여 이 상태를 결정한다. 다른 구현에서, 도움말 유틸리티 어플리케이션(20)은 코드화된 기능을 사용하여 컴퓨팅 플랫폼의 상태를 결정한다.
후자의 구현에 대해 더 구체적으로, 도움말 유틸리티(20)에 기능 라이브러리가 포함되어, 컴퓨팅 디바이스(10)의 특정 상태들에 대해 테스트하여, 도움말 유틸 리티(20)에게 어디로 분기할지를 알려주는 값들을 리턴할 수 있다. 예를 들어, 특정 에러가 검출되면, 도움말 유틸리티(20)는, 사용자에게 어떻게 그 문제를 고칠 수 있는 지를 지시하는 도움말 유틸리티(20)의 부분으로 분기할 것이다. 에러가 존재하지 않으면, 도움말 유틸리티는 대응하는 단계들을 생략한다. 임의의 경우에, 이들 기능은 컴파일될 필요가 없고, 그 보다는, 실행시에 로딩(loading)되고 언로딩(unloading)될 수 있다.
컴퓨팅 디바이스(10)의 상태의 확인에서, 도움말 유틸리티 어플리케이션(20)은, 예를 들어, 클라이언트 프로세스(22)에 의해 디스플레이되고 있는 특정 윈도우를 식별할 수 있고, 그것에 기초하여, 시스템 상태와, 사용자가 수행해야 하는 현재와 다음 동작에 대해 사용자에게 제공하기 위해 무슨 도움말 정보가 관련되는 지를 판정할 수 있다. 다수의 운영 시스템은 윈도우 타이틀이나 클래스가 제공되면 윈도우를 검색하는 "FindWindow"라고 지칭되는 메커니즘을 제공하고, 이것이 현재 윈도우를 고유하게 식별하기에 충분할 때, 도움말 유틸리티는 상기 윈도우와 관련된 도움말 정보를 상관시킨다. 그러나, 본 명세서에서 인식되는 바와 같이, 특정 윈도우의 타이틀과 클래스가 다양하거나, 또는 윈도우를 고유하게 식별하기에 너무 일반적일 수 있다. 이 경우, 도움말 유틸리티(20)는 윈도우의 추가 특성들을 사용한다.
더 잘 이해하기 위해 도 3과 도 4를 잠시 참조하면, 타이틀명(28)을 갖거나 갖지 않을 수 있는 비제한적 윈도우(26)의 예가 도시된다. 추가 특성은 윈도우(26)에 고유한 문자열(32)을 포함하는 윈도우 탭(30)을 포함할 수 있다. 그러므 로, 추가 특성은 문자의 톱-다운 시퀀스, 컨트롤 ID, 및/또는 클래스-유형을 포함할 수 있다. 일례로서, 무선 셋업 윈도우 중의 하나에서, 클라이언트 프로세스가 통신 시스템 어플리케이션(22)일 때, 윈도우명은, 언제 사용자가 그의 카드를 삽입했는지, 그가 얼마나 많은 카드를 가졌는지 등에 따라, 변할 수 있지만, 상기 윈도우는 "나의 무선 네트워크 설정을 구성하기 위해 윈도우를 사용하시오"라는 문자열을 갖는다. 다른 윈도우가 이와 동일한 문자열과 동일한 톱-다운 레벨을 가질 확률이 희박하므로, 이 특성은 윈도우(26)와 상관되어 윈도우(26)를 식별한다. 원하면, 고유하게 윈도우를 식별하는 신뢰성 레벨을 증가시키기 위해, 한 개의 윈도우에 복수의 래치(latches)가 사용될 수 있고, 예를 들어, 윈도우(26)를 식별하기 위해 문자열(32)과 함께 나타나는 버튼(34)이 또한 사용될 수 있다. 전체 문자열을 사용하는 대신에, 다른 윈도우 식별 특성들로는 조합 해쉬(hash of combination), 레벨, 컨트롤 ID 등을 포함할 수 있다. 또는, 전체 시퀀스는, 조합 그리고, 그러므로, 윈도우(26)를 식별할 수 있는 고유의 32-비트(또는 64 비트, 128 비트 등) 값으로 분해될 수 있다.
도 2를 다시 참조하면, 일단 도움말 유틸리티 어플리케이션(20)이 특정 프로세스의 상태를 결정하면, 블럭(36)에서, 도움말 유틸리티 어플리케이션(20)은 사용자의 다음 동작이 무엇이어야 하는지를 자동으로 결정한다. 그러므로, 사용자가 수행하는 특정 프로세스의 각 단계에서, 도움말 유틸리티 어플리케이션(20)은 그 상황에 적절한 프로세스의 다른 부분으로 분기할 수 있다.
더 구체적으로, 도움말이 필요할 수 있는 클라이언트 어플리케이션(22)의 프 로세스의 단계들을 포함하는 도움말 유틸리티 어플리케이션(20)에 의해 스크립트(예를 들어, XML로)가 사용될 수 있다. 클라이언트 어플리케이션(22)의 각 단계와 관련되는 도움말 유틸리티(20)의 도움말 정보(stepinfo 객체로서 지칭됨)는 다음 정보의 조합을 포함할 수 있다. stepinfo 객체는, 도 5 내지 도 7에 도시되고 더 자세히 아래에 설명되는, 현재 단계를 식별하기 위한 컴퓨터 상의 윈도우 또는 컨트롤과, 사용자에게 디스플레이하기 위한 지시 또는 쿼리를 디스플레이하기 위한 문자를 포함할 수 있다. stepinfo 객체는 또한, 다음 단계가 무엇이어야 하는지와 이것을 언제 디스플레이하는지를 판정하기 위해 테스트를 실행할 수 있는 기능에 대한 설명과, 모니터링되고 있는 다른 유형의 윈도우에 프로그램을 완전히 통합하기 위한 수정자(modifiers)를 포함할 수 있다. 또한, stepinfo 객체는, 시스템의 상태에 기초하여, 이 스크립트의 다양한 다른 부분들의 어디로 점프할지를 나타내는 분기/포킹 정보를 포함할 수 있다.
그러므로, 도움말 유틸리티가 다음 프로세스로 자동으로 진행되어야 하는 것 및/또는 셋업 프로세스가 언제 변경되어야 하는지가 결정될 수 있다. 아래 더 논의되는 도움말 유틸리티의 동적인 셋업 윈도우와 대응하는 클라이언트 어플리케이션(22) 윈도우 사이에서, 사용자로 하여금, 계속 앞과 뒤로 이동하도록 하기보다는, 언제 사용자가 다음 단계로 이동하는지 또는, 그렇지 않으면, 환경을 변경하는지가 판정될 수 있다. 이것은 2개의 메커니즘으로 달성될 수 있다. 도움말 유틸리티(20)가 정보를 랜더링하는 현재 클라이언트 어플리케이션(22) 윈도우의 메시지 큐(queue)로 후크가 삽입될 수 있고, 이 후크는, 일반 동작들이 수행될 때 발생하 는 표준 윈도우 메시지들의 서브세트를 검색한다. 이것들은 윈도우 상태 정보(최소화, 최대화, 닫힘, 활성화)와 특정 컨트롤 상의 사용자 동작(예를 들어, 버튼이 클릭됨)을 포함할 것이다. 사용될 수 있는 제2 메커니즘은, 클라이언트 프로세스(22)의 다음 단계로 사용자가 진행하는지의 여부를 판정하기 위해 미리 "피킹(peeking)"하기 위해 일정 간격으로 트리거링하는 피킹 메커니즘이다. 이 피킹 메커니즘은, 활성화된 사용자 인터랙션 소자, 닫힌 이전과 현재 윈도우, 및 열린 새 윈도우를 검색하여 도움말 유틸리티의 다음 단계로 진행할 수 있다.
일단, 사용자의 다음 동작이 무엇이어야 하는지와 시스템의 현재 상태가 무엇인지를 판정한 후, 아래 추가로 기재된 도움말 정보가 블럭(38)에 디스플레이된다.
도 5 내지 도 7을 참조하면, 예를 들어, 도 1에 도시된 모니터(14) 상에 윈도우(100)가 디스플레이된다. 윈도우(100)는, 예를 들어, WINDOWS 운영 시스템 내의 무선 네트워크 설정을 구성하는 어플리케이션과 같은 클라이언트 프로세스(22)와 연관된다. 설명을 위해 도시된 비제한적 실시예에서, 윈도우(100)는, 각각이 사용자에 의해 입력되는 데이터를 요구하는 3개의 필드(102, 104, 및 106)를 포함할 수 있다. 이들 필드들과, 아래 기재되는 유사한 것들은 직접 입력과 드롭 다운(drop down) 메뉴와 같은 다양한 방식으로 데이터를 수신할 수 있다. 그런 필드들은 또한, 체크 박스 또는 라디오 버튼을 선택하는 것과 같은, 데이터를 입력하는 다른 방식들을 설명한다.
도 5에 도시된 바와 같이, 윈도우(100)를 생성하는 어플리케이션이 제1 필 드(102)에 데이터를 수신할 준비가 되면, 도움말 유틸리티 어플리케이션(20)은 문자 지시를 포함하는 지시 디스플레이 박스(108)를 생성한다. 지시 디스플레이 박스(108)의 문자 지시는 사용자에게 제1 필드(102)에 무엇을 입력할지를 알려준다. 사용자를 더 돕기 위해, 포인터(10)가 지시 디스플레이 박스(108)로부터 제1 필드(102)로 확장하여, 지시 디스플레이 박스(108)의 문자 지시가 제1 필드(102)와 연관됨을 강조할 수 있다. 일부 예들에서, 2개 이상의 지시 디스플레이 박스(108)가 디스플레이되어, 예를 들어, 드롭-다운 메뉴에 제공된 여러 개의 가능한 선택을 설명할 수 있다.
일단 사용자가 제1 필드(102)에 데이터를 입력하면, 도움말 유틸리티 어플리케이션(20)은 입력된 데이터를 검사하여, 그것이 정확한지의 여부를 판정할 수 있다. 만약 그렇다면, 도움말 유틸리티 어플리케이션(20)은 제2 필드(104)와 연관된 데이터로 진행한다. 제1 필드(102)에 입력된 데이터가 부정확하면, 도움말 유틸리티 어플리케이션(20)은, 예를 들어, 사용자가 정확한 데이터를 입력하도록 추가로 프롬프팅하는 원래 디스플레이된 문자 지시 또는 수정된 지시를 사용하여, 지시 디스플레이 박스(108)의 디스플레이를 반복할 수 있다. 일부 실시예들에서, 도움말 유틸리티 어플리케이션(20)은 제1 필드(102)에(또는, 아래 기재된 것처럼, 제2와 제3 필드(104, 106)에서) 입력된 데이터를 검사하지 않는다.
사용자가, 도 6의 일련의 X에 의해 표현된, 제1 필드(102)의 데이터를 입력 후, 제2 필드(104)는 데이터를 수용할 준비가 되었다. 도 6에 도시된 바와 같이, 도움말 유틸리티 어플리케이션(20)은 디스플레이로부터 지시 텍스트 박스(108)와 그것의 연관된 포인터(110)를 제거하고나서, 다른 세트의 문자 지시를 포함하는 지시 디스플레이 박스(112)를 디스플레이한다. 지시 디스플레이 박스(112)의 문자 지시(도시 생략)는 사용자에게 제2 필드(104)에 무엇을 입력할지를 알려준다. 사용자를 더 돕기 위해, 포인터(114)가 지시 디스플레이 박스(112)로부터 제2 필드(104)로 실행하여, 지시 디스플레이 박스(112)의 문자 지시가 제2 필드(104)와 연관되었슴을 강조할 수 있다.
사용자가, 도 7에 도시된 일련의 X에 의해 나타낸, 제2 필드(104)에 데이터를 입력 후, 제3 필드(106)는 데이터를 수용할 준비가 된다. 도 7에 도시된 바와 같이, 도움말 유틸리티 어플리케이션(20)은 디스플레이로부터 도 6에 도시된 지시 텍스트 박스(112)와 그것의 연관된 포인터(114)를 제거하고나서, 다른 세트의 문자 지시를 포함하는 다른 지시 디스플레이 박스(116)를 디스플레이한다. 지시 디스플레이 박스(116)의 문자 지시(도시 생략)는 사용자에게 제3 필드(106)에 무엇을 입력할지를 알려준다. 사용자를 더 돕기 위해, 포인터(118)가 지시 디스플레이 박스(116)로부터 제3 필드(104)로 확장하여, 지시 디스플레이 박스(116)의 문자 지시가 제3 필드(104)와 연관되었슴을 강조할 수 있다.
도 5 내지 도 7에 도시된 디스플레이는, 본 발명에 따라서 단계별 기능과 사용될 수 있는 다양한 디스플레이를 나타낸다. 이 기능은 2개 이상의 윈도우와 사용할 수 있다.
더 구체적으로, 도 8과 도 9를 참조하면, 도 5 내지 도 7에 도시된 윈도우(100)를 설명하는 것과 유사한 방식으로 윈도우(200)가 디스플레이될 수 있다. 상술된 것처럼, 도움말 유틸리티 어플리케이션(20)은 지시 디스플레이 박스(206)와 연관된 포인터(208)를 디스플레이하여, 사용자가 제1 필드(202)에 데이터를 입력하는 것을 돕는다. 그러나, 도 5 내지 도 7에 예시된 실시예와는 달리, 도 9에 도시된 것처럼, 사용자에 의해 이행되고 있는 클라이언트 프로세스(22)는 제2 윈도우(210)에 포함되는 필드들을 통해 데이터가 입력되도록 요구할 것이다. 따라서, 사용자에 의해 이행되고 있는 프로세스는 윈도우(200)를 대체하거나 또는 추가하는 제2 윈도우(210)를 디스플레이한다. 제1 필드(202)에 입력된 특정 데이터(일련의 X로서 도시됨)로 인해, 이 제2 윈도우(210)가 디스플레이될 수 있다. 예를 들어, 제1 필드(202)에 다른 데이터가 입력되었다면, 제2 윈도우(210)에 디스플레이되는 필드들이 다를 수 있다. 윈도우(210) 디스플레이의 결과로서, 도움말 유틸리티 어플리케이션(20)은 윈도우(210)의 필드(214)에 사용자가 데이터를 입력하는 것을 돕는 문자 지시(도시 생략)를 포함하는 지시 디스플레이 박스(212)를 디스플레이하고, 원하면, 포인터(216)가 지시 디스플레이 박스(212)로부터 필드(214)로 확장하여 사용자가 필드(214)에 데이터를 입력하는 것을 더 도울 수 있다. 윈도우(210) 필드들이 다르면, 지시 디스플레이 박스(212)의 문자는 다른 필드들과 연관될 것이다.
이 방식으로, 도움말 유틸리티 어플리케이션(20)은, 사용자가 요구된 데이터를 입력하도록 돕는 컨텍스트형, if-then 기능을 제공한다. 즉, 필드(202)의 한 개의 데이터 입력은 윈도우(210)의 일 실시예와 그것의 필드(214)를 트리거링하고, 반면 이것은 도움말 유틸리티 어플리케이션(20)이 디스플레이 지시 박스(212)에 한 개의 지시 세트를 디스플레이하도록 프롬프팅한다. 다른 경우, 필드(202)의 제2 데이터 입력은 윈도우(210)의 제2 실시예와 그것의 필드(214)를 트리거링하고, 반면 이것은 도움말 유틸리티 어플리케이션(20)이 디스플레이 지시 박스(212)에 제2 지시 세트를 디스플레이하도록 프롬프팅한다.
도움말 유틸리티 어플리케이션(20)은 상술된 것과 유사한 방식으로 계속하여 윈도우(210)의 다른 필드들에서 요구되는 데이터로 사용자를 돕는다. 윈도우(210)에서 사용자를 도운 후, 예를 들어, 윈도우(200)로의 복귀, 데이터 입력을 요구하는 다른 윈도우의 열기, 또는 프로세스의 종료와 같이, 도움말 유틸리티 어플리케이션(20)은 사용자가 이행하고 있는 프로세스에 의해 요구된 추가 입력들로 사용자를 계속 도울 수 있다.
그러므로, 본 발명에 따라서, 사용자는 컴퓨터에 어플리케이션을 셋업하는 것과 같은 프로세서를 이행하면서 단계별 실시간의 도움을 얻을 수 있다. 추가로, 도움말 유틸리티 어플리케이션(20)이, 무슨 동작이, 만약 있다면, 이행되었는지를 판정하고 도움말 기능이 다음 요구된 단계를 시작하므로, 도움말은 컨텍스트형이다. 또한, 도움말은 사용자의 이전 데이터 필드 입력과 같은 if-then 조건에 기초하여 분기한다. 도움말 유틸리티 어플리케이션(20)의 이 기능은, 사용자가 읽도록 도움말 파일을 제공하거나(종종, 사용자가 "도움말" 컨트롤을 선택하면 분리된 윈도우에 디스플레이됨), 또는 사용자가 특정 컨트롤 위에 마우스를 이동하면 팝업 도움말 윈도우를 디스플레이하는 시스템들과 비교된다.
본 명세서에 도시되고 상세히 설명된 바와 같은 특정 상태-기반 컴퓨터 도움 말 유틸리티가 본 발명의 상술된 목적을 완전히 달성할 수 있지만, 그것이 본 발명의 현재 선호되는 실시예이므로 본 발명에 의해 널리 고려되는 주제를 나타내고, 본 발명의 범위가 당업자에게는 명백할 수 있는 다른 실시예들을 모두 포함하고, 따라서 본 발명의 범위가, 단독 소자로의 참조가, 명백히 그렇게 명시되지 않는 한, "단지 한 개만"을 의미하려 의도되지 않고, 그보다는 "한 개 이상"을 의미하는 것으로서 의도되는, 첨부된 청구범위에 의해서만 제한됨을 이해할 것이다. 본 발명이 현재 청구범위에 의해 제한되므로, 디바이스 또는 방법이 본 발명에 의해 해결되기 위해 탐구되는 모든 문제를 해결할 필요는 없다. 더욱이, 소자, 컴포넌트, 또는 방법 단계가 청구범위에 명백히 기재되었는지의 여부에 무관하게, 본 개시의 소자, 컴포넌트 또는 방법 단계가 일반인에게 제공되도록 의도되지는 않는다. 본 명세서에서 부재한 표현 정의와 청구항 용어에는, 본 명세서 및 파일 이력과 조화될 수 있는 모든 일반적이고 익숙한 의미가 부여되어야 한다.

Claims (11)

  1. 컴퓨팅 플랫폼(10) 상에 실행되는 도움말 유틸리티 어플리케이션(20)으로서,
    제1 사용자 인터랙션과 연관된 제1 지시 디스플레이 박스(instruction display box;108)를 디스플레이하는 동작 - 상기 제1 지시 디스플레이 박스(108)는 제1 데이터 입력 필드(102)에 입력되어야 하는 데이터와 연관되는 문자 지시를 포함함 -; 및
    제2 사용자 인터랙션과 연관되는 제2 지시 디스플레이 박스(112)를 자동으로 디스플레이하는 동작 - 상기 제2 지시 디스플레이 박스(112)는 제2 데이터 입력 필드(104)를 통해 입력되는 데이터와 연관된 문자 지시를 포함함 -을 포함하는 지시가 코드화되고,
    상기 제2 지시 디스플레이 박스(112)의 자동적 디스플레이는 상기 제1 데이터 입력 필드(102)를 통한 데이터 입력의 완료에 기초하는 도움말 유틸리티 어플리케이션(20).
  2. 제1항에 있어서, 상기 제2 데이터 입력 필드(104)를 통해 입력되는 데이터와 연관되는 상기 문자 지시는 상기 제1 데이터 입력 필드(102)를 통해 입력되는 상기 데이터에 기초하는 도움말 유틸리티 어플리케이션(20).
  3. 제1항에 있어서,
    상기 제1 지시 디스플레이 박스(108)와 상기 제1 데이터 입력 필드(102)를 가시적으로 연관시키는 제1 포인터(110)를 디스플레이하는 동작; 및
    상기 제2 지시 디스플레이 박스(112)와 상기 제2 데이터 입력 필드(104)를 가시적으로 연관시키는 제2 포인터(114)를 디스플레이하는 동작
    을 포함하는 도움말 유틸리티 어플리케이션(20).
  4. 제1항에 있어서, 상기 제1 데이터 입력 필드(102)는 제1 윈도우에 디스플레이되고, 상기 제2 데이터 입력 필드(104)는 제2 윈도우에 디스플레이되는 도움말 유틸리티 어플리케이션(20).
  5. 도움말 유틸리티로서,
    클라이언트 셋업 어플리케이션의 상태를 결정하는 수단(24);
    상기 셋업 어플리케이션과 관련된 다음 단계를 실시간으로 결정하는 수단(36); 및
    상기 실시간 결정 수단에 응답하여, 상기 다음 단계에 데이터 입력에서 도움말 정보를 제공하는 수단(38)
    을 포함하는 도움말 유틸리티.
  6. 사용자에게 컴퓨터 도움말을 제공하는 방법으로서,
    적어도 한 개의 클라이언트 어플리케이션(22)과 관련된 적어도 한 개의 스크 립트를 실행하는 도움말 유틸리티(20)를 제공하는 단계;
    상기 클라이언트 어플리케이션(22)의 어디에 사용자가 있는지에 기초하여, 상기 클라이언트 어플리케이션(22)에서 상기 사용자가 취해야 하는 다음 단계를 결정하는 단계; 및
    그것에 기초하여, 상기 사용자에게 도움말 정보를 디스플레이하기 위해 상기 스크립트의 대응하는 부분을 식별하는 단계
    를 포함하는 방법.
  7. 제6항에 있어서, 상기 클라이언트 어플리케이션(22)의 단계들과 관련되는 상기 도움말 유틸리티와 연관되는 정보는, 상기 사용자에게 디스플레이하기 위한 지시 또는 쿼리(queries)를 디스플레이하기 위한 문자, 현재 단계를 식별하는 윈도우 또는 컨트롤, 상기 다음 단계가 무엇이어야 하는지를 판정하기 위한 테스트를 실행할 수 있는 기능에 대한 설명, 상기 클라이언트 어플리케이션(22)의 상태에 기초하여, 상기 스크립트의 다양한 다른 부분들의 어디로 점프하는지를 나타내는 분기(branching)/포킹(forking) 정보, 및 디바이스 상태들의 결정 중의 2개 이상을 포함하는 방법.
  8. 제7항에 있어서, 상기 도움말 유틸리티(20)는 상기 클라이언트 어플리케이션(22)의 메시지 큐(queue)로 삽입되는 후크(hook)를 사용하여 상기 스크립트에서 다른 부분으로 자동적으로 진행하고, 상기 후크는, 사전결정된 동작들이 수행될 때, 발생하는 표준 메시지들의 서브세트를 검색하는 방법.
  9. 제7항에 있어서, 상기 사전결정된 동작들은, 윈도우 상태 정보, 및 사용자 인터랙션 컨트롤에 대한 사용자 동작 중에 적어도 하나를 포함하는 방법.
  10. 제7항에 있어서, 상기 도움말 유틸리티(20)는, 상기 사용자가 상기 클라이언트 프로세스의 다음 단계로 진행하는 지의 여부를 판정하기 위해 미리 피킹(peaking)하기 위해 일정 간격으로 트리거링(triggering)하는 피킹 메커니즘을 사용하여 상기 스크립트의 다른 부분으로 자동적으로 진행하는 방법.
  11. 제10항에 있어서, 상기 피킹 메커니즘은, 사용자에 의해 조작되는 버튼의 확인, 닫힌 이전 또는 현재 윈도우의 확인, 및 열린 새 윈도우의 확인 중의 적어도 한 개에 의해 상기 도움말 유틸리티(20)의 다음 단계로 진행하는 방법:
KR1020077002123A 2004-07-29 2005-07-12 상태-기반 컴퓨터 도움말 유틸리티 KR20070039099A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US59286704P 2004-07-29 2004-07-29
US60/592,867 2004-07-29
US10/996,414 US20060026531A1 (en) 2004-07-29 2004-11-23 State-based computer help utility
US10/996,414 2004-11-23

Publications (1)

Publication Number Publication Date
KR20070039099A true KR20070039099A (ko) 2007-04-11

Family

ID=35733840

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077002123A KR20070039099A (ko) 2004-07-29 2005-07-12 상태-기반 컴퓨터 도움말 유틸리티

Country Status (6)

Country Link
US (1) US20060026531A1 (ko)
EP (1) EP1782167A4 (ko)
JP (2) JP2008508597A (ko)
KR (1) KR20070039099A (ko)
TW (1) TW200622894A (ko)
WO (1) WO2006019721A2 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7970637B2 (en) 2006-06-27 2011-06-28 Microsoft Corporation Activity-centric granular application functionality
US8364514B2 (en) * 2006-06-27 2013-01-29 Microsoft Corporation Monitoring group activities
US20070300225A1 (en) * 2006-06-27 2007-12-27 Microsoft Coporation Providing user information to introspection
CN102081518A (zh) * 2009-11-30 2011-06-01 国际商业机器公司 提供动态帮助信息的装置和方法
US8355966B1 (en) * 2010-02-26 2013-01-15 Intuit Inc. Payroll e-file and e-pay assistant
EP2511817A1 (en) * 2011-04-12 2012-10-17 Samsung Electronics Co., Ltd. Display apparatus and control method thereof
EP2538320B1 (de) * 2011-06-22 2015-01-07 TTS Knowledge Products GmbH Verfahren und System zur Unterstützung einer Bedienung eines Computerprogramms
US8972567B2 (en) 2012-02-08 2015-03-03 Sage Software, Inc. Selectively triggering execution of services in a computing environment
US9542361B2 (en) * 2012-05-15 2017-01-10 Google Inc. Collapsible text input box
JP6121724B2 (ja) * 2013-01-21 2017-04-26 Kddi株式会社 端末、アプリケーションの操作補助方法およびプログラム
US10579400B2 (en) * 2016-11-11 2020-03-03 International Business Machines Corporation Path-sensitive contextual help system
DE102018217688B4 (de) * 2018-10-16 2022-04-28 Audi Ag Hydraulisch dämpfendes Lager für ein Kraftfahrzeug
US20220398112A1 (en) * 2021-06-11 2022-12-15 International Business Machines Corporation User interface accessibility navigation guide
US20240061693A1 (en) * 2022-08-17 2024-02-22 Sony Interactive Entertainment Inc. Game platform feature discovery

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5477447A (en) * 1992-05-27 1995-12-19 Apple Computer, Incorporated Method and apparatus for providing computer-implemented assistance
JP2654543B2 (ja) * 1994-09-06 1997-09-17 日本電気株式会社 音響ディスプレイ装置
US6021403A (en) * 1996-07-19 2000-02-01 Microsoft Corporation Intelligent user assistance facility
US5794259A (en) * 1996-07-25 1998-08-11 Lextron Systems, Inc Apparatus and methods to enhance web browsing on the internet
JPH10154057A (ja) * 1996-09-27 1998-06-09 Hitachi Ltd 能動的利用者支援方法
JP2000112605A (ja) * 1998-09-30 2000-04-21 Meidensha Corp アプリケーションの操作支援装置
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
JP3589400B2 (ja) * 1999-12-22 2004-11-17 インターナショナル・ビジネス・マシーンズ・コーポレーション サーバクライアントシステム、ネットワークサーバ、クライアント、フォーム提供方法、記憶媒体、およびプログラム伝送装置
JP2001338257A (ja) * 2000-05-29 2001-12-07 Kawatetsu Techno-Construction Co Ltd 会計自動仕訳システム
US7103661B2 (en) 2000-07-12 2006-09-05 John Raymond Klein Auto configuration of portable computers for use in wireless local area networks
JP2002108815A (ja) * 2000-09-27 2002-04-12 Obic Business Consultants Ltd 入力ガイダンス機能付業務制御システム並びにその制御プログラムを記録したパッケージ記録媒体
US6828988B2 (en) 2001-02-27 2004-12-07 Microsoft Corporation Interactive tooltip
JP2003005880A (ja) * 2001-06-18 2003-01-08 Skg:Kk ガイダンス提示方法
US7024626B2 (en) * 2001-11-30 2006-04-04 Apple Computer, Inc. System and method of producing user interface information messages
JP2003241878A (ja) * 2002-02-15 2003-08-29 Nec Corp データ入力方法およびデータ入力プログラム
US7512649B2 (en) * 2002-03-22 2009-03-31 Sun Microsytems, Inc. Distributed identities
US6988240B2 (en) * 2002-03-29 2006-01-17 Global Knowledge, Inc. Methods and apparatus for low overhead enhancement of web page and markup language presentations
US7890865B2 (en) * 2002-05-09 2011-02-15 Microsoft Corporation Methods and apparatuses for providing message information in graphical user interfaces based on user inputs
JP2004013836A (ja) * 2002-06-11 2004-01-15 Digital Soken:Kk 情報端末装置
JP2004110393A (ja) * 2002-09-18 2004-04-08 Seiko Epson Corp セットアップ支援方法及びセットアップ支援用プログラム
US20040243307A1 (en) * 2003-06-02 2004-12-02 Pieter Geelen Personal GPS navigation device

Also Published As

Publication number Publication date
JP2008508597A (ja) 2008-03-21
EP1782167A4 (en) 2012-10-03
US20060026531A1 (en) 2006-02-02
WO2006019721A2 (en) 2006-02-23
EP1782167A2 (en) 2007-05-09
WO2006019721A3 (en) 2006-09-08
TW200622894A (en) 2006-07-01
JP2011192296A (ja) 2011-09-29

Similar Documents

Publication Publication Date Title
KR20070039099A (ko) 상태-기반 컴퓨터 도움말 유틸리티
US7594176B1 (en) Automated retrieval, evaluation, and presentation of context-sensitive user support
US7398469B2 (en) Automated test system for testing an application running in a windows-based environment and related methods
US9280451B2 (en) Testing device
US7529977B2 (en) Automated extensible user interface testing
US20110271185A1 (en) Providing a context-aware help content using a transparent overlay on a touch sensitive screen
US20080016456A1 (en) Method and system for providing docked-undocked application tabs
US7793223B2 (en) Methods, systems, and computer program products for managing user focus change between applications
US20050278652A1 (en) User interface controls
US20050273729A1 (en) Information processor and file processing method
US7627833B2 (en) System and method for object-oriented graphically integrated command shell
CN109343926A (zh) 应用程序图标的显示方法、装置、终端和存储介质
Adamo et al. Combinatorial-based event sequence testing of Android applications
CN111330280B (zh) 游戏中的数据处理方法、装置、存储介质与电子设备
CN106708558B (zh) 关闭应用程序的方法和装置
CN113326539B (zh) 针对小程序进行隐私数据泄露检测的方法、装置及系统
US20050091400A1 (en) View routing in user interface applications
CN113986768A (zh) 应用程序稳定性测试方法、装置、设备及介质
CN100480964C (zh) 基于状态的计算机帮助实用应用
Almrayat et al. Evaluating the Impact of GUI Similarity between Android Applications to Measure their Functional Similarity
CN115185423B (zh) 近期任务显示方法、装置、电子设备及存储介质
US6989821B2 (en) Method of managing a graphical user interface
KR101385210B1 (ko) 문자입력장치 및 그의 단어제공방법
US20200236000A1 (en) System and Method for Automated Cross-Application and Infrastructure Dependency Mapping
Liang et al. Summarizing the crowdsourced testing

Legal Events

Date Code Title Description
A201 Request for examination
E601 Decision to refuse application