WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Method of and system for displaying context sensitive and application independent help information    
United States Patent5535323   
Link to this pagehttp://www.wikipatents.com/5535323.html
Inventor(s)Miller; James S. (Arlington, MA), Ganapathi; Jagadeesan (Nashua, NH)
AbstractA method or process is disclosed for displaying help information to users of computer programs. The process is application independent and provides context sensitive help information for a particular subject selected by the user. The help information is customized to the needs of an individual user. The process also automatically provides help information for the particular subject matter selected by the user from other contexts without having the user select the other contexts or even know about the existence of the other contexts. The help information is displayed to the user without interrupting the application currently being run by the user.



 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5535323
Method of and system for displaying context sensitive and application
     independent help information - US Patent 5535323 Drawing
Method of and system for displaying context sensitive and application independent help information
Inventor     Miller; James S. (Arlington, MA) , Ganapathi; Jagadeesan (Nashua, NH)
Owner/Assignee     Digital Equipment Corporation (Maynard, MA)
Patent assignment
All assignments
Publication Date     July 9, 1996
Application Number     08/513,143
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     August 9, 1995
US Classification     715/707 715/784 715/810
Int'l Classification    
Examiner     Powell; Mark R.
Assistant Examiner     Breene; John E.
Attorney/Law Firm     Arnold, White & Durkee
Address
Parent Case     This application is a continuation of application Ser. No. 07/906,233, filed Jun. 29, 1992, now abandoned.
Priority Data    
USPTO Field of Search     395/155 395/156 395/157 395/158 395/159 395/160 395/161 395/700 345/117 345/118 345/119 345/120 345/146 434/118
Patent Tags     displaying context sensitive application independent help information
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5327529
Fults et al.

Jul,1994

[0 after 0 votes]
5287448
Nicol et al.

Feb,1994

[0 after 0 votes]
5175812
Krieger

Dec,1992

[0 after 0 votes]
5157768
Hoeber et al.

Oct,1992

[0 after 0 votes]
5122972
Richards et al.

Jun,1992

[0 after 0 votes]
5029113
Miyoski et al.

Jul,1991

[0 after 0 votes]
4992922
Brooks et al.

Feb,1991

[0 after 0 votes]
4970678
Sladowski et al.

Nov,1990

[0 after 0 votes]
4964077
Eisen et al.

Oct,1990

[0 after 0 votes]
4899276
Stadler

Feb,1990

[0 after 0 votes]
4789962
Berry et al.

Dec,1988

[0 after 0 votes]
4648062
Johnson et al.

Mar,1987

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. A method for displaying help information using a help information program to a user of a first application running on a computer having an identifiable active context, said help information program being external to said first application, and a second non-running application, said second application having a non-active context said second application being external to said help information program and said first application, said method comprising the steps of:

identifying said active context corresponding to said first application and identifying said non-active context corresponding to said second application;

identifying a user selection about which help information is sought;

determining whether said user selection corresponds to said active or said non-active context;

constructing a help information menu corresponding to said user selection; and

displaying said help information menu to the user without interrupting said first application.

2. A method for displaying help information using a help information program to a user of a first application running on a computer having an identifiable active context, said help information program being external to said first application, and a second non-running application, said second application having a non-active context, said active and said non-active context each having a corresponding context help file, said computer having a plurality of said context help files containing user customized help information for said active and non-active contexts and a directory file containing a mapping between said active and non-active contexts and said plurality of context help files corresponding therewith, said method comprising the steps of:

detecting a user selection;

identifying said active context corresponding to said first application and identifying said non-active context corresponding to said second application;

identifying a user selection about which help information is sought;

determining whether said user selection corresponds to said active or said non-active context and determining which context help file corresponds to said user selection;

constructing a help information menu from said context help file and from said help information corresponding to said user selection; and

displaying said help information menu to the user without interrupting said first application.

3. The method as set forth in claim 2, further comprising the step of:

updating said customized help information to incorporate any changes made thereto.

4. The method as set forth in claim 3 wherein said updating step occurs automatically every time a user invocation request is detected.

5. A method for displaying help information to a user of a program having an identifiable active context running on a computer, said help information being external to said program, said help information being associated with a plurality of different contexts, one of said contexts being said active context and other of said contexts being non-active contexts, each of said contexts having a corresponding help file, said computer having a plurality of said context help files containing help information corresponding to said contexts and user customized help information associated therewith and a directory file containing mapping between said plurality of different contexts and said plurality of context help files corresponding therewith, said method comprising the steps of:

(a) identifying said active context in which the user program is operating;

(b) identifying a user selection about which help information is sought;

(c) comparing said active context with a context in said directory file;

(d) if said active context matches said context in said directory file compared in step (c) comparing said user selection to said selections in said context help file corresponding to said context in said directory file compared in step (c)

(e) if said user selection corresponds to a selection in said context help file compared in step (d), constructing a first help information menu based on said active context and said user selection;

(f) if said user selection does not correspond to a selection in said context help file compared in step (d), selecting another one of said contexts in the directory and repeating steps (c) through (f) until each of said plurality of different contexts are compared to said active contexts;

(g) if said active context does not match a context in said directory file, comparing said user selection to selections in said context help files corresponding to non-matching contexts in said directory file;

(h) if said user selection corresponds to selections in context help files corresponding to non-matching contexts, constructing a second help information menu based on said non-matching contexts and said user selection;

(i) displaying said first help information menu without interrupting the program being run by the user.

6. The method of claim 5, further comprising the step of:

(j) displaying said second help information menu without interrupting the program being run by the user.

7. A system for displaying help information on a terminal screen of a user of a first application running on a computer having an active context associated with said first application, said system comprising:

a help information program said program being external to said first application;

a second non-running application said second application being external to said first application and said help information program;

means for identifying said active context corresponding to said first application and identifying said non-active context corresponding to said second application;

a database for storing customized help information based upon said active and said non-active contexts and a plurality of selections, each said active context and said non-active contexts having one or more selections associated therewith;

a processor responsive to said user selection and said active context identity for retrieving from said database customized help information;

a portion of said retrieved customized help information based upon said active context and said user selection and another portion of said retrieved help information based upon said non-active context and said user selection;

means for displaying said retrieved customized help information based upon said active context without interrupting said first application.

8. The system for displaying customized help information as set forth in claim 7, further comprising:

means for displaying said retrieved customized help information based upon said other contexts without having the user identify said other contexts and without interrupting the user application.
 Description Submit all comments and votes
 


FIELD OF THE INVENTION

The present invention relates generally to systems for providing informational assistance to users of computer programs. More specifically, the preferred embodiment of the present invention is a process or program that is application independent and provides context sensitive informational assistance which is tailored to the needs of individual users and automatically provides other context browsing without the user having to know about the existence of the other contexts.

BACKGROUND OF THE INVENTION

Most currently available software packages include dedicated help capabilities that provide users of the program with on-screen information on demand relating to the operation of the program. These dedicated help facilities are inseparably associated with a specific software package. These dedicated or "canned" help facilities are not tailored or customized to meet the needs of a specific customer or user of the software package, but rather, contain generic information about the operation of the software in an effort to assist the user with areas of anticipated difficulty or commonly asked questions.

Some known on-line help facilities allow the user to customize the information content of the information displayed. But because these on-line help facilities are built into an associated software package, they only provide assistance in a single "context." That is, these on-line help facilities are limited because they do not cross application boundaries. Of course, specific help may be provided within the application, such as the widget specific help in DECwindows, which is currently sold by the assignee of the present invention, Digital Equipment Corporation. However, no known system permits users to obtain help information in both an active or chosen context and in other non-active contexts that are not necessarily related to the application being run by the user when help is requested. Whether the user is aware or unaware of the existence of other contexts when help is requested, known help systems do not automatically provide the user with other context browsing.

Another shortcoming of presently available help facilities has manifested itself with the growing popularity of electronic mail CE-mail"). Members of a group working with E-mail often face the problem of accessing appropriate information pertaining to a wide variety of tasks. In known "E-mail" applications such as the VAX/VMS.TM. mail program sold by Digital Equipment Corporation, it is possible to seek external help by invoking an external application. However, at the time of invoking the external application, the user temporarily has to escape into a new context, thus suspending the original application (VMS Mail.TM.). Thus, the user cannot seek external help while staying in the current application context at all times.

Various forms of help facilities are also provided by known application-independent keyboard macros, file name and key word completion mechanisms, and an application called "SuperBoomerang" specifically written for the Macintosh.TM. computer.

Keyboard macros free the user from the burden of having to remember appropriate information, as well as reduce the amount of typing, by compressing user input. However, keyboard macros are either not context sensitive or not application independent. EMACS (a text editor) has context sensitive keyboard macros, but they are embedded in the single application. Several PC applications provide keyboard macros across applications, but they are not sensitive to the application to which they are sending the expanded keystrokes. Completion systems such as those in TOPS-20 and EMACS operate in a manner similar, and have precisely the same limitations.

"SuperBoomerang" is an application that runs as a standalone module. It is never directly used by the end-user, and in a sense it performs as an "application's application". "SuperBoomerang" provides automatic assistance when the user selects the "Open" command of any end-user application, by presenting a list of application-relevant files for the user's selection. Thus, the end-user is freed from the burden of having to remember and input the relevant file name(s). However, "SuperBoomerang" is not context sensitive and does not provide any capabilities similar to other context browsing.

A help facility that operates independently with respect to application programs running on a host computer system is desirable. Similarly desirable is a help facility that provides context sensitive help information which is customized to individual customer or user needs and that provides other context browsing without the user having to choose or even know about the existence of other contexts.

SUMMARY OF THE INVENTION

The present invention is a help facility process which displays application independent, context-sensitive, on demand, customizable information on screen to the user on a subject of interest chosen by the user. In the preferred embodiment, the method operates in a windowing environment which provides a means of marking and pasting selections. Examples of such environments are X-Windows.TM. (and all its variants: Motif.TM., DECWindows, etc.), Microsoft Windows.TM., and the Macintosh.TM. Operating System. The process or program of the present invention is application independent because it provides help facilities external to the application and is context sensitive because it provides appropriate customizable help information on a selected subject of interest specific to a context selected by the user. The present invention also automatically provides help information from other applications on a subject of interest selected by the user, thus enabling the user to perform other context browsing.

A user of the process of the present invention invokes the program by depressing a key or clicking a mouse or some combination thereof. The user also selects a subject on which to receive help, the active selection. The selection is made relative to a context, which qualifies the help being sought. In other words, the user seeks help with regard to a particular context. A text string or similar means, referred to as a trigger, is used to identify the current or active context. However, the application from which help is sought is not limited to the same application that the user is operating in when the selection is made and, accordingly, the user may browse through help information from other applications.

A context file contains customizable help information for a specific context and specific subjects. Programmers of the system customize the information displayed to system users in response to specific user selections. A context pattern is a string that is either exact or contains wild cards. A directory file specifies a list of mappings between a context pattern and a context name. The directory file is searched for a context pattern corresponding to the active context and the corresponding context file is searched for help information corresponding to the active selection in order to construct a help menu for the active context. In addition, the directory file is searched for context patterns that do not correspond to the active context, referred to as non-active contexts, and the corresponding context files are searched for help information corresponding to the active selection, in order to construct a help menu for the non-active contexts. System users are first provided with a help information menu constructed in response to the combination of the active context and the active selection. If no help information menu according to the active context and active selection is present, or if no item from the active context help menu is selected, the user is also provided with a help information menu constructed in accord with the non-active contexts and the active selection. Thus, a user can perform context browsing and obtain help information from the other contexts without performing multiple invocations of the applications associated with the other contexts and without even knowing that the other applications exist.

BRIEF DESCRIPTION OF THE DRAWINGS

The advantages of the present invention will become apparent upon reading the following detailed description and upon reference to the accompanying drawings, in which:

FIG. 1 is a flow chart showing the overall operation of a preferred software embodiment of the method of the present invention.

FIG. 2 is a flow chart showing the steps taken for initialization of a preferred soft embodiment of the method of the present invention.

FIG. 3 is a flow chart showing the steps taken for invocation of a preferred software embodiment of the method of the present invention.

FIG. 4 is a flow chart showing the operation of a preferred software embodiment of the method of the present invention relative to the choice of a help menu item by a user.

FIG. 5 is a simplified block diagram of a computer system suitable for executing a software program embodying the method of the present invention.

While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof have been shown by way of example in the drawings and will be described in detail herein. It should be understood, however, that the invention is not intended to be limited to the particular forms disclosed. On the contrary, the applicant's intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the appended claims.

DETAILED DESCRIPTION OF THE INVENTION

A single computer-based tool can be used in different contexts to accomplish different tasks. Thus, there is a need for help information based on the "context" in which a tool is used, rather than just the tool itself. Because this help information is based on the use to which the tool is put, the help facility should be external to the tool itself.

A simple analogy is helpful in clarifying this concept: a hammer can be indiscriminately used for pounding a nail or opening a paint can -- yet the way the hammer is used differs for these contexts. A handyman's guidebook that allows the handyman to look up information about the use of the hammer in these two distinctly different contexts performs a function analogous to the function performed by the present invention for a computer user. That is, the present invention displays help information requested by the user, through selection and invocation, regarding the use of computer tools in a variety of contexts.

All products needing a modular customizable help facility can use the method of the present invention, which displays application independent, context-sensitive, on demand, customizable information on screen to the user. The present invention allows a user of a computer software package to make a selection relating to stored information about the software package and the work flows associated therewith. In the preferred embodiment, the user makes a selection using an interactive input device, such as a mouse or key. As will be apparent to the skilled in the field, selections may also be made by invoking a program. The selection can be a text string or other representation, such as an image or graphical object of subjects of interest and is communicated to a host computer. For example, the selection may be made under Motif (or XUI), using click and drag or by double clicking MB1 (mouse button-1).

An essential feature of the present invention is that user selections of subject matters for which help information is sought are made within the context of an application. In the present description of the preferred embodiment, a context is a pair of items that specifically identify various predetermined applications on the host computer: a context pattern and a context file. The context pattern is represented using the syntax for regular expressions. In a preferred embodiment of the invention, a context name is an exact text string. Context help files containing unique help information for each context are created by a programmer and/or other users and stored at the host computer. The manner in which the help information is created and subsequently stored is well-known to those of ordinary skill. The appropriate context help file is identified based on the context for which the user requests information. The context help file is preferably an ASCII file that contains Tag and Menu definitions. The help file has the same name as the associated context and has a specific predetermined extension (for example, .TL).

The directory file preferably contains pairs consisting of (a) a regular expression and (b) a context name. At invocation, the title of the window from which the program was invoked is matched against the regular expressions to determine a context name. The directory file is stored on a mass storage device associated with a host computer. The relationship of the directory file to the present invention is fully described hereinafter. The trigger is the string that is used to determine the active or current context (for example, the window title).

In operation, a user invokes the present invention by pressing the appropriate keyboard key and/or mouse button combination and makes a selection from a specific window of the running windowing program. The title string of the window is used as the trigger to identify the current or active context. The trigger is matched against all the context patterns in the directory file until a match is found. The corresponding context and name is the desired context (with a unique extension, such as .TL is the desired help file for that context. Next, the appropriate context file is searched for the active selection (a tag) and the corresponding menu is presented to the user as help for the specific selection. In a similar manner and at the same time, all the context patterns in the directory file that do not match the trigger are used to construct a non-active context help menu. This non-active context help menu is automatically made available to the user for context browsing. Thus the user does not have to invoke the applications related to the non-active contexts or even know if other applications exist at the host computer. The construction of the non-active context help menu is completely transparent to the user.

The present invention combines three important features. These features have never been successfully combined in previous systems. First, the invention provides application independence. Second, the invention supports user customizable contexts or, in other words, is context sensitive. Third, the user can context browse, across applications without selecting or even knowing about the existence of the other applications.

The present invention is application independent since it runs on a mainframe or desk top as an independent module and provides help facilities external to the application. Since the process of the present invention is application independent, it is essentially a disembodied help server. A program embodying the method of the invention is flee-standing and does not have to be integrated into another application to be useful.

The present invention is context sensitive since it supports user-customizable help information specific to the context and selection made by the user. The user modifies the context by modifying the trigger or the context pattern in the directory file. By changing the trigger or the context pattern, the user gains access to any context supported by the host computer. This feature provides the user with flexibility in obtaining help for different contexts. Information supplied by the program is obtained from user-customizable text files. Programmers and/or end users build the contents of these text files using commonly known techniques (such as a word processor or text editor) that are not an essential feature of the invention. Each user can specify to a programmer the way in which applications are used to accomplish tasks. The programmer customizes the help needed for those tasks by tailoring available help information to the user's needs. Thus, using the present invention, software programmers and/or other users customize the help information available with regard to specific application programs and the specific needs of individual users or groups of users.

Third, the invention allows the user to browse and access help information from all contexts despite an initial determination of a specific initial context. Accordingly, using the present invention the user can browse and access information pertaining to various contexts, including contexts other than the active or current context. This feature enables the user to avoid invoking applications associated with other contexts each time information from one of these other context is requested. The help information pertaining to non-active contexts is automatically constructed and provided to the user without having the user even know that such non-active contexts exist in the directory file of the host computer.

It will be appreciated by those of ordinary skill in the field that the method of the present invention may be implemented in both software, which runs on a host system, and hardware embodiments, or a combination of software and hardware. The essential features of the present invention are described herein with respect to a software embodiment. The conversion of implementation of the method of the present invention from software to hardware is well-known to the skilled in the

The method of the present invention has three major operations: initialization, invocation, and choice. During initialization it reads in customization information (from user provided text files) that will be used to determine, at each invocation, what context is active and, for each context, what information (help items and associated data) is available. Upon invocation, the active context is determined and combined with the current selection (available from the window system) to choose a menu of help items that is then presented to the user for choice. At the same time, the non-active contexts are determined and combined with the current selection to choose a menu of non-active context help items that is also presented to the user for choice. At choice time, the user has three options: choose one of the active context help items (in which case the present invention makes the associated help text available, via the window system, for pasting into an application or performs a specified action); browse the non-active help items; or make another selection and reinvoke the program.

An example illustrates some of the benefits of the present invention. In this example, the invention frees the user from the twin burdens of remembering and typing context-dependent information.

A software program embodying the method of the present invention is started when a user begins a session. The user starts an electronic mail program to read new mail and decides to forward the first message to several members of a newly formed project team. In the send window of the electronic mail program, the user highlights a "To:" prompt and then invokes the program embodying the present invention, which detects the context -- sending mail. The highlighted "To" indicates the user's selection for help creating the "To:" list. The present invention operates to provide the user with a list of project teams, which has been entered into the appropriate help file by a programmer. This information is context-sensitive, but the user does not need to remember the details associated with creating a "To:" list. The user chooses the correct project team and is then able to "paste" (rather than type) the names of the individual team members (more information the user need not remember) into the outgoing message. The user then edits this list using the normal facilities of the mail program. Having filled in the "To:" field in the send window, the user seeks help about the "subject" field in a similar fashion. However, the current context may not contain an appropriate help item for the subject field, as this can be specific to the project being discussed. The user now wishes to explore non-active context help files, using other contexts browsing. The present invention has access to specific help files for each project with which the user is associated. These project specific help files contain information about relevant subjects. Thus, the user can pull up the help menu associated with the "subject" field, for a required project. The user identifies an item (topic) in the menu as his choice. This information can then be pasted as in the previous case (To). The user is able to accomplish all of this without having to reinvoke the "program" in a different context, or without interrupting the current context -- that of sending mail.

Referring to the drawings, FIG. 1 is a flow chart showing the overall operation of a preferred software embodiment of the method of the present invention. At step 10, the program is started. Program initialization, which is fully described hereinafter with reference to FIG. 2 is performed at step 12. Initialization involves loading the program with customization information provided by a programmer or a user of the program.

At step 14, the program waits to be notified by the host system about an invocation request that has been made by the system user. If no invocation request has been made, the waiting continues until such a request is made. It is contemplated that the present invention can be invoked via a mouse button, keystroke or any conventional means. Invocation of the present invention is fully described with reference to FIG. 3.

After detecting an invocation request, the program determines whether the contents of customization files (such as the directory file or help files) have been modified by the user prior to invocation (step 16). If the contents of the customization files have been changed, the program is re-initialized (step 18). The program employs well-known techniques to identify whether the appropriate customization file names have been modified. The specific details of how information is read by the program are not essential features of the present invention an