GB2337612A - Integrated help system - Google Patents

Integrated help system Download PDF

Info

Publication number
GB2337612A
GB2337612A GB9811025A GB9811025A GB2337612A GB 2337612 A GB2337612 A GB 2337612A GB 9811025 A GB9811025 A GB 9811025A GB 9811025 A GB9811025 A GB 9811025A GB 2337612 A GB2337612 A GB 2337612A
Authority
GB
United Kingdom
Prior art keywords
help
application
window
user
task
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB9811025A
Other versions
GB9811025D0 (en
Inventor
Ginette Thibault
Mike Mcgrath
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsemi Semiconductor ULC
Original Assignee
Mitel 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 Mitel Corp filed Critical Mitel Corp
Priority to GB9811025A priority Critical patent/GB2337612A/en
Publication of GB9811025D0 publication Critical patent/GB9811025D0/en
Priority to CA002272208A priority patent/CA2272208A1/en
Publication of GB2337612A publication Critical patent/GB2337612A/en
Withdrawn legal-status Critical Current

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)

Abstract

A help system for directly performing a predetermined task in a application executed on a computer comprises: a function 4 for registering a window handle of a predetermined window of the computer application from which the predetermined task may be executed; a send command function 6 for transmission to the application along with a predetermined function code representing the predetermined task and the window handle as a parameter, for causing the computer application to execute the predetermined task; and a function for unregistering, 9, the window handle.

Description

1-NUGRATED HELP SYSTEM
FIELD OF THE RAON
2337612 This invention relates in general to help systems within computer applications, and more specifically to a Windowso-based help system which directly controls an associated Windowsa) application.
BACKGROUND OF THE INVENTION
AS computers proliferate through modem day society, increasing numbers of persons previously unfamiliar with the operation of such computers are being required to learn how to use them. When a person uses a computer application (i.e. program) for the first time, help is often required in understanding the operation and use of the pro and especially when the is user does not know how to perform a certain task within the application. Therefore, according to the prior art, most computer applications incorporate a so-called "Help" function which allows the user to query the application for help on use of the program.
Such prior art prior art help systems are typically activated in response to the user selecting Help from the top level menu or taskbar of the application. After selecting the Help command, the application typically presents the user with a selection of Help Topics in a sub menu. In response to the user selecting from one of the Help Topic sub- menus, the application launches an executable help system file (e.g. Winhelp.exe in Windows,').
Execution of the help system file typically presents the user with a plurality of help system tools (e.g. Content, Index, Find, etc.). In response to selecting from one of the help system tools, the help system file retrieves the required help text for display to the user. The user is thereby able to read through the help text in order to understand how to use the application or implement a certain task, after which the user exits from, or minimizes, the help system in order to actually use the application or implement the desired task.
Such prior art help systems suffer from the disadvantage that that once launched, the help system has no way of corrununicating with the application with which it is associated.
Due to this fact, the user must continuously switch between the help system and the c 2 computer application in order to complete the task at hand. This adds unnecessary stress and time to performing the original task.
One example of prior art help systems may be found in applications which run under the Windows9511' operating system, such as Microsoft Word for Windows9STm. According to the help system in Word for Windows95 1., comprehensive help topics are provided in a context sensitive environment in response to the user selecting the Nflerosoft Word Help Topics submenu under Help. A separate Answer Wizard sub-menu may be selected under the Help menu item, which seemingly causes specific tasks (e.g. open Printers folder) to be executed by the application itself. However, since the sed Wizards are separate from the actual help system when the user does not benefit from the comprehensive context sensitive textual information contained within the help systenL Much time and effort is expended by software developers in creating and including this context sensitive information in the help systems of their applications to assist the user in understanding the task or is application. In essence, according to such prior art systems, a user is forced between having the Wizard execute a complicated task on his or her behalf, without deriving any benefit from the help system in terms of learning how to use the application, or resorting to the traditional help system for context sensitive help which will allow the user to actually leam the operation of the application but which requires the user to toggle between the help system and application in order to implement the task.
U.S. Patent No. 5,481,667 Mcrosoft'&) discloses a help system which communicates with an application via a DLL (Dynamic Link Library) so as to query the application for a list of tasks available within a current context and displaying these tasks to the user. The user is then required to return to the application in order to actually perform any of the tasks.
U.S. Patent No. 4,648,062 (IBM) describes a system whereby the user can execute application commands from within a Help system which is integrated into the application itself This prior art system is implemented in a pre-Windows enviroment, and is entirely text based. The system disclosed in this IBM patent provides a form of "context sensitive help" in which help command are integrated directly into the application rather than being available wilthin a full-featured and independent Help system as is provided by modem day Windows9511 applications which, in addition to providing context sensitive help, also provide 3 on-line help, help index, full text searching, etc. Such modem day help systems provide significantly enhanced help functionality to end users over text-based context-sensitive help which is integrated into an application, as descibed in the IBM '062 patent, since they are designed by specialized technical writers who create the help system from the perspective of an end user rather than from the perspective of the computer application developer (i.e. mthey are more "user friendly").
U.S. Patent No. 5,546,521 (IBM) describes a system which utilizes an underlying application which can be aware of the help facility and interact with a dynamic table in a io shared memory space, but there is no teaching of any mechanism for the help system to actually control the application.
SUlyY OF THE INVEN71ON According to the present invention, a system is provided for allowing a help system to execute tasks within an application. By implementing the system of the present invention within a Help environment, the user benefits from all of the comprehensive context sensitive information of traditional text-base help systems while allowing the user to initiate assisted execution of the task in the manner of prior art Wizards, but from within the help system rather than from within the application itself.
According to the preferred embodiment, a macro is provided, written in a computer programming language and exported to an application by a Dynamic Link Library (DLL), which creates a link between the Help system and the main window of the application, thereby permitting Windows-based Help systems to directly control associated Windowse applications. This overcomes the prior art problem wherein, once launched by an application, the help systems have had no way of communicating with the application. With the system of the present invention, the user can click a led "hot spoC within a help topic which results in commands and data being sent to the application (e.g. to open an options window for entering configuration settings).
BRIEF DESCRIP71ON OF THE DRAWINGS 4 An embodiment of the invention is described herein below with reference to the accompanying drawings, in which:
Figure 1 is a flowchart showing an algorithm embodying the method according to the present invention:
Figure 2 is an Application Window with a Demo Task menu selected, according to an illve example of the present invention; Figure 3 is a sample dialog labelled DemoHelpLink which is launched by starting the Demo Task application of Figure 1 Figure 4 is the Application Window of Figure 1 with a Help Menu selected; Is Figure 5 is a Windows95" main help window associated with the DemoHelpLink application; Figure 6 is a secondary help window within the Windows95" help system which incorporates a button which, when clicked, results in commands and data being sent yo the application, 'm accordance with the principles of the present invention; Figure 7 shows an example of a secondary help window with button, according to a further illustrative example; and Figures 8 and 9 show secondary and tertiary help wondows according to a third illustrative example.
DETAILED DESCRIPTION OF THE PREFERRED EMBODB4ENT
In order to describe the operation of the present invention, an example is set forth herein below, wherein the help system of the prefened embodiment is used within a main application (refened to herein as DemoHelpLink) to invoke a predetermined task (referred to herein as DemoTask). For the purpose of this example, the DemoHelpLink application was created using Nficrosoft'O Visual C++ App wizard software.
With reference to the flowchart of Figure 1, at step 1, a user is presented with a main application window, as shown in Figure 2, for the DemoHelpLink application of the illustrative example. The preferred embodiment utilizes Windows-based applications but may be implemented using other computer platforms. In order to invoke the exemplary task, the user clicks on DemoTask appearing in the task bar of the main window display, and then clicks on Start from the DemoTask menu (step 2 in Figure 1). According to this example, the invoked task launches a sample dialog as shown in Figure 3.
In the event that the user requires help in executing the DemoTask fimction, according to the system of the present invention, the user first clicks on Help in the main window task bar, as shown in Figure 4 (step 3 in Figure 1). In response to clicking on Help, the main application calls RegisterMainAppHwndo which resides in the standard Windows HelpLinkAll (step 4 in Figure 1). The RegisterMainAppHwndo registers a serial num which uniquely identifies the main window (referred to herein as a window handle) with the HelpLink.dll. The code for the RegisterMainAppHwndo program is as follows:
extern "C" -decispec (dllexport) RegisterMainAppHwnd(HWND hWnd) update shared variable with current main appIs window handle main-hWnd - hWnd; return 0; Afterwards, the main application runs WinHelp.exe, resulting in generation of the main Windowse help window of Figure 5. The user can then double click on a topic within the Contents tab of the main Help window (in the present example the How Does HelpLink Work topic). This causes the name of the help file associated with the DemolielpLink Application to be supplied to WinHelp.exe as a parameter, resulting in generation of a secondary window in the help system (step 5 in Figure 1).
6 Upon accessing the secondary window (Figure 6), in step 6 of Figure 1 the system automatically registers the SendWMCommand using the syntax, RegisterRoutine(HelpLink-dU, SendWMCommand, U=SU). Once registered, the user can cause a task command to be sent to the main application from the help system for executing a task (in the present example the "start demo MW command). The user does this by double clicking on the task button within the secondary window (in the present example the "HelpLink" button), which causes a macro to be executed for sending the command to the main application (in his case the macro is of the form %!SendwmCommand(32771)). The source code for the Sendommand is as follows:
Is extern "C" int FAR PASCAL SendWMCommand (WPARAM nCommandId) if (main hWnd!=NULL){ //, -send message to main application window :: SendMe s sage (main-hWnd, WM-COMMAND, nCommandId, 0); return 0; success else // no application has registered; pop up an error // dialog box ::MessageBox (NULL, "Main Apph Wnd was", "HelpLink.dll", MB-SYSTEMMODAL); return 1; // failure As indicated above, the SendWMCommand function (step 6 in Figure 1) sends a WM-COMMAND message to the main application window (i.e. the main window of the running program). The message contains a function code 32771 which represents the code which informs the computer to start the DemoTask application. Ile WM - COMAND message is sent using the Win32 API function SendMessageo. The Windows- operating system, which is the preferred operating environment for the system according to the preferred embodiment, knows which application window should receive this message since the aforementioned window handle (i.e. a parameter of the SendMessage function) was previously registered by the main application.
7 lle main application window receives the WM-COMWAND message, and processes the "start demo task" fimction code (i.e. step 2 in Figure 1). lle function code is written such that it performs exactly as if the user had selected Demo Task, then Start from the application main window menu as described above. The value 32771 is hard- coded, or set as a constant; in the present example but preferably the value is defined in a h file with the following syntax: #define ID-START-DEMO-TASK 32771.
If, rather than clicking the "HelpLink" button in the secondary window, the user wishes to read the help text files in the usual manner (step 7 in Figure 1), the user may do so and then exit from the help system (step 8 in Figure 1).
After the user has finished and exits the main application, the application calls a function UnregisterMain.AppHwnd (in HelpLink.dH) to allow the dll to reset the window handle (step 9 in Figure 1). This prevents the dll from accidentally sending a message to a is window which no longer exists. The code for the UnregisterMainAppHwnd is as follows:
-decispec (dllexport) UnregisterMainAppHwnd (HWND hWnd) update shared var with NULL window handle only if the window unregistering is the one that is currently registered i.e. a 2d app could have superceded the one attempting to unregister.
if(hWnd == main-hWnd) main-hWnd = 0; TRACE ("Unregister was successful") else TRACE CUnregister request ignored"); return 0; It will be understood by a person of ordinary skill in the art that several computer applications may run simultaneously, all of which are capable of launching help (WinHelp.exe). However, the WinHelp.exe file runs as a single instance only. Therefore, a second application launching the WinBelp.exe, file will cause the WinHelp. exe file to display the second application's help information, superseding the displayed help of the first application to call the WinHelp.exe file.
8 Since the WinHelp.exe file communicates only with one main application, the HelpLink button of the illustrative embodiment set forth herein, is set up similarly such that it contains a single variable that points to the current main application window handle.
It should also be noted that when an application calls the function RegisterMainApp11wnd, the new window handle overwrites the old handle and when an application calls UnregisterMainAppHwnd, the current window handle is zeroed only if it matches the new window handle passed to it, for preventing conflicts between multiple applications. An example of this feature is as follows:
A first application, referred to herein as App 1, re its window handle (e. g. 1234) by calling RegisterMainApplIwncl. Then, a second application, referred to herein as App 2, registers its window handle (e.g. 5678) by calling RegisterMainAppHwnd. The new is handle overwrites the previous value (1234). When App 1 is closed, it calls UnregisterMainAppHwnd, supplying the handle 1234. However, the request is ignored since the current window handle value no longer equals 1234 (App 2 remains registered until it calls UnregisterMainAppHwnd).
An example of a practical application of the helpo system of the present invention is shown in Figure 7, which shows a secondary help window (similar to the window of Figure 6) for a computer-telephony application sold by Nfitel Corporation under the name: Mitel Personal Assistant.. One option offered to the user of this application is to change the sound devices. A secondary Help window is depicted in Figure 7, for instructing a user on the fourstep procedure for changing sound devices within this application. According to the present invention, the first step set forth in the Help window can be automatically implemented by clicking on the indicated button, without leaving the help system. Ile user can then select the desired sound device, as explained in the second step of the Help window, click Apply, and the finnish implementing the option by clicking OK A further example showing a more complex procedure using the HelpLink feature of the present invention, is shown in Figures 8 and 9. In the secondary help window depicted in 9 Figure 8, the first step includes a highlighted text portion labelled trunk range limits which, when clicked on by the user generates a teriary help window (Figure 9). The first step in the teriary window includes a HelpLink button which, if clicked on by the user results in commands and data being sent to the MAT application for pointing to the Min/Max Settings in the Conrig menu and then automatically clicking on Trunk Range Limits, thereby avoiding the necessity of manually invoking each of the steps.
It will be appreciated that, although one embodiment of the invention has been described in detail, various changes and modifications may be made. For example, although io a Windowso-based operating system has been set forth as the preferred embodiment, any computer operating system may be used as a substitute. All such changes and modifications may be made without departing from the sphere and scope of the invention as defined by the claims appended hereto.
WHAT IS CLAUVIED IS:
1. A method of enabling a help system to directly control an associated computer application, comprising the steps of.
a) registering a window handle of a predetermined window of said computer application from which a predetermined task may be executed, b) executing said help system with a parameter supplied thereto for associating a predetermined help file for said computer application with said help systm whereby said help system generates a primary help window identif said predetermined help file; c) in response to user selection of said predetermined help file from within said primary window (i) generating and displaying a secondary window having a predetermined task execution means and (ii) registering a predetermined send command function for sending commands to said computer program from said help system in the event of user selection of said task execution means; is d) in response to user selection of said task execution means calling said send command function with a predetermined fimction code representing said predetermined task and said window handle as a parameter, whereby said send command function is transmitted to said predetermined window of said computer application in response to which said computer application executes said predetermined task; and e) unregistering said window handle.
2. The method of claim 1 wherein said predetermined function code is symbolically defined in a h file.
2s 3. The method of claim 2, wherein said send command function is transmitted to said predetermined window using an API functiorL 4. A help system for directly performing a predetermined task in an application executed on a computer, comprising:
a) means for registering a window handle of a predetermined window of said computer application from which said predetermined task may be executed; 11 b) means for calling a send command function with a predetermined Rmction code representing said predetermined task and said window handle as a parameter, whereby said send command ftmction is transmitted to said predetermined window of said computer application in response to which said computer application executes said predetermined task; and c) means for unregistering said window handle.
5. The help system of claim 4, wherein said help system is implemented using an executable help application.
6. The help system of claim 5, wherein said means for registering said window handle further comprises a function of the form RegisterMainAppHwndo characterized by source code of the form:
extern "C" -decispec (dllexport) RegisterMainAppHwnd(HWND hWnd) update shared variable with current main appIs window handle main hWnd - hWnd; return 0; 7. The help system of claim 5, wherein said send command fimction further comprises a macro of the forin %!SendWMCommand(code), wherein (code) represents said predetermined function code.
8. Ile help system of claim 7, wherein said macro is characterized by source code of the form:
extern "C" int FAR PASCAL SendWMCommand (WPARAM nCommandId) if (main hWnd!=NULL){ send message to main application window SendMessage (main-hWnd, WM-COMMAND, nCommandId, 0) return 0; success 12 else { // no application has registered; pop up an error // dialog box :Mess ageBox (NULL, "Main Apph Wnd was", "HelpLink.dll" 41 return 1; // failure MB-SYSTEMMODAL); 9. The help system of claim 5 wherein said means for unregistering said window handle further comprises a function of the form UnregisterMainAppHwnd characterized by source code of the form:
is decispec (dllexport) UnregisterMainAppHwnd(HWD hWnd) update shared var with NULL window handle only if the window unregistering is the one that is currently registered - i.e. a 2' app could have superceded the one attempting to unregister.
if(hWnd == main-hWnd) main-hWnd = 0; TRACE C'Unregister was successful") TRACE CUnregister request ignored"); return 0;
GB9811025A 1998-05-21 1998-05-21 Integrated help system Withdrawn GB2337612A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
GB9811025A GB2337612A (en) 1998-05-21 1998-05-21 Integrated help system
CA002272208A CA2272208A1 (en) 1998-05-21 1999-05-19 Integrated help system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB9811025A GB2337612A (en) 1998-05-21 1998-05-21 Integrated help system

Publications (2)

Publication Number Publication Date
GB9811025D0 GB9811025D0 (en) 1998-07-22
GB2337612A true GB2337612A (en) 1999-11-24

Family

ID=10832529

Family Applications (1)

Application Number Title Priority Date Filing Date
GB9811025A Withdrawn GB2337612A (en) 1998-05-21 1998-05-21 Integrated help system

Country Status (2)

Country Link
CA (1) CA2272208A1 (en)
GB (1) GB2337612A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8918739B2 (en) 2009-08-24 2014-12-23 Kryon Systems Ltd. Display-independent recognition of graphical user interface control
US9098313B2 (en) 2009-08-24 2015-08-04 Kryon Systems Ltd. Recording display-independent computerized guidance
US9405558B2 (en) 2009-08-24 2016-08-02 Kryon Systems Ltd. Display-independent computerized guidance
US9569231B2 (en) 2009-02-09 2017-02-14 Kryon Systems Ltd. Device, system, and method for providing interactive guidance with execution of operations

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5581684A (en) * 1994-08-01 1996-12-03 Ddtec Sa Application-external help system for a windowing user interface
US5602982A (en) * 1994-09-23 1997-02-11 Kelly Properties, Inc. Universal automated training and testing software system
WO1997035253A1 (en) * 1996-03-18 1997-09-25 Wall Data Incorporated Interactive computer help system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5581684A (en) * 1994-08-01 1996-12-03 Ddtec Sa Application-external help system for a windowing user interface
US5602982A (en) * 1994-09-23 1997-02-11 Kelly Properties, Inc. Universal automated training and testing software system
WO1997035253A1 (en) * 1996-03-18 1997-09-25 Wall Data Incorporated Interactive computer help system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WordPerfect Version 6.1, 12 Sept 1994. See Help/Coach/Show Me function *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9569231B2 (en) 2009-02-09 2017-02-14 Kryon Systems Ltd. Device, system, and method for providing interactive guidance with execution of operations
US8918739B2 (en) 2009-08-24 2014-12-23 Kryon Systems Ltd. Display-independent recognition of graphical user interface control
US9098313B2 (en) 2009-08-24 2015-08-04 Kryon Systems Ltd. Recording display-independent computerized guidance
US9405558B2 (en) 2009-08-24 2016-08-02 Kryon Systems Ltd. Display-independent computerized guidance
US9703462B2 (en) 2009-08-24 2017-07-11 Kryon Systems Ltd. Display-independent recognition of graphical user interface control

Also Published As

Publication number Publication date
GB9811025D0 (en) 1998-07-22
CA2272208A1 (en) 1999-11-21

Similar Documents

Publication Publication Date Title
US5535323A (en) Method of and system for displaying context sensitive and application independent help information
US5301326A (en) Method and system for controlling the execution of an application program
US5748191A (en) Method and system for creating voice commands using an automatically maintained log interactions performed by a user
US6020886A (en) Method and apparatus for generating animated help demonstrations
Schmandt et al. Augmenting a window system with speech input
US6493006B1 (en) Graphical user interface having contextual menus
US5786818A (en) Method and system for activating focus
US5377303A (en) Controlled computer interface
US7600046B2 (en) Event notification
EP0798634A1 (en) Method and system for creating user interface independent programs
US20020154161A1 (en) Method and system for providing universal remote control of computing devices
GB2315139A (en) Selecting operations in an object-oriented user interface
MXPA03011916A (en) Active content wizard: execution of tasks and structured content.
US20040039989A1 (en) Structured forms with configurable labels
JP2003015874A (en) Expert system for generating user interface
GB2337612A (en) Integrated help system
Kumar et al. Automatic generation of speech interface for GUI tools/applications using accessibility framework
Bertz et al. Plan-based assistance in the webbrowser firefox.
Auslanda d/pcDos.
Hayward A menu driven, user friendly interface to UNIX
Herman et al. Design of a Graphical User Interface for Laboratory Instruments
Zhang et al. An example oriented on-line java tutorial for university students
JPH06242941A (en) Interactive processing system
Hunt et al. JavaBeans and ActiveX
Riches et al. Examining Home Remote and its Components

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)