Abstract:
Method and apparatus for providing a user customizable help system for a data processing environment which utilizes a graphical interface to identify solutions and/or topics of interest. This graphical help system displays partitioned groupings of help topics organized in a intuitively functional, positional manner such that a user will instinctively know where to find the desired help topic. These partitioned groupings of help topics preferably represent hardware platforms, operating environments, application groupings, or groupings of functions within an application. Further, and within each of the partitioned groupings, the invention contemplates providing multiple “views” of help topics, each “view” corresponding to a different type of user of the data processing system. By providing multiple views, the help system can be easily tailored to better address differences in experience, sophistication, and job requirements between widely disparate users of the same data processing system.

Description:
CROSS REFERENCES TO CO-PENDING APPLICATIONS 
     The present application is related to U.S. patent application Ser. No. 08/852,654, filed May 7, 1997, entitled “Multi-Platform Helper Utilities”, U.S. patent application Ser. No. 08/852,509, filed May 7, 1997, entitled “User Assistance for Data Processing Systems”, and U.S. patent application Ser. No. 08/852,654, filed May 7, 1997, entitled “Method and Apparatus for Providing a Hyperlink within a Computer Program That Access Information Outside of the Computer Program”, all of which are assigned to the assignee of the present invention and incorporated herein by reference. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     This invention relates to data processing systems, and more particularly to data processing systems having user assistance resources. 
     2. Description of the Prior Art 
     It is known to provide documentation for the purpose of permitting a user to operate a data processing system. With the earliest data processing systems, this documentation often took the form of user manuals that described the operation and utilization of the corresponding data processing system. While proving somewhat useful, a large set of hard copy manuals for a complete computer and set of corresponding applications are often quite voluminous, making the task of finding a solution to even a simple question difficult. Further, hard copy manuals typically require a large amount of physical space, are expensive to buy, and demand significant human resource to maintain and keep current. 
     As systems were designed to be more interactive, it became common to provide user documentation within the data processing system hardware and software itself. A first step in this evolutionary process was to simply provide electronic versions of the previously available hard copy manuals. The electronic manuals were typically divided into groups including those that were dedicated to the computer system itself (hardware manuals), those that were dedicated to the computer operating system (systems manuals), and those that were dedicated to the application programs (application manuals). Providing the manuals in electronic form addresses some of the problems of the earlier hard copy manuals, including reducing acquisition and maintenance costs and allowing users in remote locations to access the manuals directly via their computer system. 
     While these electronic user manuals provide some advantages over the hard copy manuals, a number of problems remain. Like the hard copy manuals, the electronic user manuals typically only included an index and a table of contents. Some limitations of the table of contents/index approach include: the user seeking help must know exactly what words or phrases to use when seeking help, and the list of available topics in the table of contents/index still may be very large, thus limiting the speed and precision with which a user is able to obtain the assistance the user seeks. Some electronic manuals include a keyword search capability, and more sophisticated electronic manuals include hyperlinks between related sectors. 
     The above problems are more acute when dealing with multi-platform computing environments. Today, multi-platform systems are widely in use. In such a system, a user&#39;s application program may reside on one computer system, the user&#39;s data may reside on another computer system, while the user may be running the application from yet a third computer system. A user at a personal workstation may not even know on which computer system their application is running, much less where to look for help information relating to the application. 
     Furthermore, today&#39;s distributed, multi-platform computer systems can present unique problems of moving information between computer systems. User manuals for a particular computer system often do not contemplate the types of system-to-system configurations and interactions that multi-platform users face. Such interoperability issues are often completely outside the scope of all of the user documentation. 
     SUMMARY OF THE INVENTION 
     The present invention overcomes many of the disadvantages associated with the prior art by providing a user customizable help system for a data processing environment which utilizes a graphical interface to identify solutions and/or topics of interest. This graphical help system displays partitioned groupings of help topics organized in a intuitively functional, positional manner such that a user will instinctively know where to find the desired help topic. 
     These partitioned groupings of help topics may represent hardware platforms, operating environments, application groupings, or groupings of functions within an application. Within each of the partitioned groupings, the invention contemplates providing multiple “view types” of help topics. In an illustrative embodiment, “view types” correspond to different types of users of the data processing system. It is contemplated that other embodiments of the “view type” concept might include view type groupings for data manipulation (printing, storage, and removal) or applications (middleware, tools and utilities). By providing multiple views, the help system can be easily tailored to better address differences in experience, sophistication, and job requirements between widely disparate users of the same data processing system. 
     In one illustrative embodiment of the present invention, two “view” selections are provided. The first selection corresponds to a “system view” and the second selection corresponds to a “user view”. The “system view” might be used by a computer system administrator or application developer, while the “user view” might be activated by a general user of the data processing system. 
     The “system view” of the illustrative embodiment preferably contains help topic pushbuttons that are graphically partitioned by groupings (such as computer hardware platforms, computer operating environments, sets of applications, or functions within a particular application) which will provide help on topics of specific interest to system administrators such as setting file access permissions, user passwords, or diagnostic utilities. 
     The “user view” preferably contains help topic pushbuttons that are graphically partitioned by groupings (such as computer hardware platforms, computer operating environments, sets of applications, or functions within a particular application) which will provide help on topics of specific interest to general system users such as using electronic mail, a database management system, a spreadsheet, or file transfer utilities. Thus, the present invention can be a carefully tailored, graphical alternative to a standard table of contents, allowing for a more intuitive approach to finding topics of interest for distinct classes of users. 
     In another embodiment of the present invention, a system and methodology for implementing user assistance functions for users of data processing systems having multiple computer operating environments is contemplated. Preferably, a user is presented with a one screen graphical overview of the entire data processing environment, logically partitioned into functional units. Within each functional unit, the help topics most relevant to the type of user requesting the help information are presented. As an example, the screen of help topics might be graphically partitioned into groups representing a OS 2200 environment, a UnixWare environment, a Windows NT environment, and a Personal Computer Workstation Windows 95 operating environment. This graphically tailored, partitioned approach to presentation of help topics is more intuitive than a text based table of contents approach. The system may also provide user assistance functions concerning interoperability of diverse applications, whether hosted on the same computer platform or hosted on different computer platforms. 
     In another illustrative embodiment, the help system has one or more screens of user selectable help topics. These help topics are graphically partitioned into two or more groups of topics corresponding to hardware platforms within the data processing system. As an example, the screen of help topics might be graphically partitioned into groups representing a UNISYS 2200 mainframe computer, a local file server computer, a desktop personal computer, and a laptop computer. 
     In another illustrative embodiment, the present invention graphically partitions one or more screens of user selectable help topics into groups of topics corresponding to sets of applications within the data processing system. As an example, the screen of help topics might be graphically partitioned into groups representing an office suite of applications such as Microsoft Office 97, or an internet toolkit containing applications such as a web browser, HTML toolkit, JAVA toolkit, and an E-mail application. 
     In yet another illustrative embodiment, the present invention groups one or more screens of user selectable help topics by functional blocks of a selected computer application. Preferably, the functional blocks are interrelated via a functional diagram. This functional diagram may include interconnections between the functional blocks which indicate topographical relationships between the functional blocks in the application. These topographical relationships may identify an ordered, positionally relevant set of functional topics, graphically displayed in such a manner that an application user may know intuitively where to seek help for an application subtask. An example of such a functional diagram might be Microsoft Excel, with functional blocks corresponding to importing/exporting files, worksheets, charts, file management, printing, and using macros. The help topic pushbuttons within the groupings provide access points to corresponding help information. The help information may reside in a dedicated help database, a universal help database, etc. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     Other objects of the present invention and many of the attendant advantages of the present invention will be readily appreciated as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, in which like reference numerals designate like parts throughout the figures thereof and wherein: 
     FIG. 1 is a block diagram of the computer-based environment of the present invention; 
     FIG. 2 is a block diagram of a preferred embodiment of the present invention wherein help topics are partitioned by operating environment, and the user view is selected; 
     FIG. 3 is a block diagram of a preferred embodiment of the present invention wherein help topics are partitioned by operating environments, and the system view is selected; 
     FIG. 4 is a block diagram of a preferred embodiment of the present invention wherein help topics are partitioned by hardware platform; 
     FIG. 5 is a block diagram of a preferred embodiment of the present invention wherein help topics are partitioned by sets of applications; and 
     FIG. 6 is a block diagram of a preferred embodiment of the present invention wherein help topics are partitioned by functional blocks within an application. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     The detailed descriptions which follow are presented largely in terms of algorithms and symbolic representations of operations of data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. 
     An algorithm is here, generally, conceived to be an self-consistent sequence of steps leading to a desired result. These steps are those requiring physical manipulations of physical qualities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It proves convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers or the like. It should be kept in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. 
     Furthermore, the manipulations performed are often referred to in terms, such as adding or comparing, which are commonly associated with mental operations performed by a human operator. No such capability of a human operator is necessary, or desirable in most cases, in any of the operations described herein which form part of the present invention; the operations are machine operations. Useful machines for performing the operations of the present invention include general purpose digital computers or other similar devices. In all cases, it should be kept in mind the distinction between the method operations in operating a computer and the method of computation itself. The present invention relates to method steps for operating a computer in processing electrical or other (e.g. mechanical, chemical) physical signals to generate other desired physical signals. 
     The present invention also relates to apparatus for performing these operations. This apparatus may be specially constructed for the required purposes or it may comprise a general purpose computer as selectively activated or reconfigured by a computer program stored in the computer. The algorithms presented herein are not inherently related to a particular computer system or other apparatus. In particular, various general purpose computer systems may be used with computer programs written in accordance with the teachings of the present invention, or it may prove more convenient to construct. more specialized apparatus, to perform the required method steps. This required structure for such machines will be apparent from the description given below. 
     In sum, the present invention preferably is implemented for practice by a computer, e.g., a source code expression of the present invention is input to the computer to control operations therein. It is contemplated that a number of source code expressions, in one of many computer languages, could be utilized to implement the present invention. A variety of computer systems can be used to practice the present invention, including, for example, a personal computer, an engineering work station, an enterprise server, etc. The present invention, however, is not limited to practice on any one particular computer system, and the selection of a particular computer system can be made for many reasons. 
     FIG. 1 is a block diagram of the computer-based environment of the present invention. A user  10  interacts with a data processing system  12  to perform a number of computer based tasks. The data processing system includes one or more processors  14 , which execute operating system software as well as application programs. The processor  14  is found in all general purpose computers and almost all special purpose computers. 
     In a preferred embodiment, the data processing system consists of multiple processors  14 ,  15 , and  17  interconnected through a local area network  11 . In this embodiment, the user will mainly interact with a personal computer workstation utilizing a processor  14  having an Intel architecture, running the Windows  95  operating environment. The personal computer workstation, may in turn, be networked to one or more of the following: a Unisys 2200 mainframe computer running OS 2200  15 , a server running Microsoft Windows NT (not shown), and/or a server running the UNIX operating system  17 . 
     The user  10  enters information into the data processing system  12  by using a well-known input device  16  such as a mouse, keyboard, or a combination of the two devices. It should be understood, however, that the input device  16  may actually consist of a card reader, magnetic or paper tape reader, or other well-known input device (including another computer system). A mouse or other cursor control device is typically used as an input device  16  as a convenient means to input information to the data processing system  12  to select command modes, edit input data, and the like. Visual feedback of the currently active computer process is given to the User  10  though a textual or graphical representation on a display  18 . Such a display  18  may take the form of any of several well-known varieties of CRT displays. The application or other operating software being executed by the processor  14  stores information relating to the currently executing procedure in memory  19 . The memory  19  may take the form of a semiconductor memory, magnetic disks, optical disk, magnetic tape or other mass storage devices. 
     FIG. 2 is a block diagram of a preferred embodiment of the present invention wherein help topics are partitioned by computer operating environment, and the user view is selected. In this embodiment, the data processing system illustrated is the CLEARPATH HMP IX system, commercially available from the Unisys Corporation, combining Unisys 2200 and UNIX or Windows NT operating environments and a industry compatible desktop computer running the Microsoft Windows 95 or NT workstation operating environment. 
     The graphical help system will display one or more screens of user selectable help topics  20  at a personal computer workstation. In this illustrated embodiment, the graphical help system is a Microsoft Windows 95 application program residing and executing on a personal computer workstation. In other embodiments, the graphical help system can reside and/or execute on other hardware platforms or operating environments. 
     Preferably, the standards established for Windows applications are utilized, including: a minimize window pushbutton  22 , a restore window pushbutton  24 , and a close window pushbutton  26 . 
     The overview screen of help topics  20  is further partitioned into groupings of help topics corresponding to computer operating environments within the data processing system. In this embodiment, the groupings include the UNISYS OS 2200 operating environment  28 , the Windows NT operating environment  38 , the UnixWare operating environment  32 , and the Windows personal computer workstation operating environment  34 . The UNISYS OS 2200 operating environment  28  and UnixWare or Windows NT operating environment  32  are coupled via a Fiber Distributed Data Interface (FDDI). The UNISYS OS 2200 operating environment  28  and UnixWare or Windows NT operating environment  32  or  38  are coupled to the Windows NT operating environment  30  and Windows personal computer workstation operating environment  34  via an external LAN. These hardware and software elements, along with supporting documentation, are incorporated herein by reference. 
     Within each of the operating environment groupings  28 ,  32 ,  34 , and  38 , there are user selectable help topic pushbuttons  36  which link to a displayable help topic information screen when the pushbutton  36  is activated. In the illustrated embodiment, the pushbutton will link to UNISYS PathMate help topics, but other embodiments may also link to application help systems, or even a browsable internet web site (see co-pending Unisys U.S. patent application Ser. No. 08/852,654, filed May 7, 1997, entitled “Method and Apparatus for Providing a Hyperlink within a Computer Program That Access Information Outside of the Computer Program”). 
     Operating environment groupings such as elements  32  and  38  may sometimes overlap each other on the overview screen  20 . In the illustrated embodiment, the Windows NT operating environment help topic display area  37  is in the display foreground, overlapping a large portion of the help topic display area for the UnixWare operating environment  32  (currently non-visible in the display background). To allow for this situation, each of the operating environment groupings may contain a grouping label  32  and  38  which is always displayed. To bring a non-visible portion of a help topic display area  37  from the background to the foreground, a user simply has to position a screen pointer over the grouping label  38  or help topic display area  37  portion of the operating environment grouping and click a mouse button. 
     The overview screen  20  may also include a help topics pushbutton  52 . When a user activates this pushbutton  52 , the overview screen  20  closes and a help topics window with Contents, Index, and Find tabs is opened. 
     The illustrated embodiment also includes user selectable pushbuttons for a system view  40  and a user view  42 . This feature allows different types of users to have different sets of help topics available within a shared set of operating environment groupings. FIG. 2 illustrates a screen of help topics  20  partitioned into groupings of operating environments  28 ,  32 ,  34  and  38  wherein help topics  36  are tailored to a general user of the data processing system. Such help topic pushbuttons  36  might provides help on using E-mail  44 , a database system such as Microsoft Access  46 , a spreadsheet such as Microsoft Excel  48 , or file management utilities  50 . 
     FIG. 3 is a block diagram of a preferred embodiment of the present invention wherein help topics are partitioned by operating environments  28 ,  32 ,  34  and  38 , and the system view pushbutton  42  is selected. In this system view, help topics  36  are tailored to a generally more sophisticated system user of the data processing system (such as a system administrator or applications developer), rather than a general user view, as illustrated in FIG.  2 . In all other material respects, FIG.  2  and FIG. 3 are similar. 
     Help topic pushbuttons in the system view might provide assistance on configuring the Open Programming Environment (OPE)  54 , the mapper pushbutton  56  might provide assistance in transferring a copy of a MAPPER report over electronic mail, or the SysAdmin pushbutton  58  may provide help on managing user id&#39;s, password and file protection utilities. 
     FIG. 4 is a block diagram of a preferred embodiment of the present invention wherein help topics are partitioned by hardware platform. The graphical help system displays one or more screens of user selectable help topics  20  at a personal computer workstation. In this illustrated embodiment of the present invention, the graphical help system is a Microsoft Windows 95 application program residing and executing on a personal computer workstation, and preferably, conforms to standards established for Windows applications, incorporating such features as a minimize window pushbutton  22 , a restore window pushbutton  24 , and a close window pushbutton  26 . 
     The screen of help topics  20  is further partitioned into groupings of help topics corresponding to computer hardware platforms residing within the data processing system. In this embodiment, groupings are shown for the model 2200 large scale mainframe hardware platform  60 , commercially available from UNISYS Corporation, a UNIX hardware platform  62 , also commercially available from UNISYS Corporation, a Windows NT server hardware platform  64 , a desktop personal computer hardware platform  66 , and a laptop personal computer platform  68 . The 2200 platform  60  is coupled to the UNIX platform  62  via an internal local area network (LAN) or FDDI. The 2200 platform  60  and UNIX platform  62  are coupled to the file server platform  64  and the personal computer hardware platform  68  via an external LAN or FDDI connection. These hardware and software elements, along with supporting documentation, are incorporated herein by reference. 
     Within each of the hardware platform groupings  60 ,  62 ,  64 ,  66 , and  68 , there are user selectable help topic pushbuttons  36  which link to a displayable help topic information screen when the pushbutton  36  is activated. In the illustrated embodiment, the pushbuttons may link to UNISYS PathMate help topics, but other embodiments may also link to application help systems, or even a browsable internet web site. 
     The overview screen  20  may also include a help topics pushbutton  52 . When a user activates this pushbutton  52 , the overview screen  20  closes and a help topics window with Contents, Index, and Find tabs is opened. 
     The illustrated embodiment also includes user selectable pushbuttons for a system view  40  and a user view  42 . This feature allows different types of users to have different sets of help topics available within a shared set of hardware platform groupings. 
     FIG. 5 is a block diagram of a preferred embodiment of the present invention wherein help topics are partitioned by sets of applications. The graphical help system displays one or more screens of user selectable help topics  20  at a personal computer workstation. In this illustrated embodiment of the present invention, the graphical help system is a Microsoft Windows 95 application program residing and executing on a personal computer workstation, and preferably conforms to standards established for Windows applications, incorporating such features as a minimize window pushbutton  22 , a restore window pushbutton  24 , and a close window pushbutton  26 . 
     The screen of help topics  20  is further partitioned into groupings of help topics corresponding to sets of computer applications within the data processing system. In this embodiment, there are groupings shown for the Microsoft Office  97  application set  70 , an internet toolkit application set  72 , and a developer&#39;s toolkit application set  74 . 
     Within each of the application set groupings  70 ,  72  and  74 , there are user selectable help topic pushbuttons  36  which provide a displayable help topic information screen when -the pushbutton  36  is activated. In the illustrated embodiment, the pushbuttons may provide link to UNISYS PathMate help topics, but other embodiments may also provide access to application help systems, or even a browsable internet web site. 
     The overview screen  20  may also include a help topics pushbutton  52 . When a user activates this pushbutton  52 , the overview screen  20  closes and a help topics window with Contents, Index, and Find tabs is opened. 
     The illustrated embodiment also includes user selectable pushbuttons for a system view  40  and a user view  42 . This feature allows different types of users to have different sets of help topics available within a shared set of application program groupings. 
     FIG. 6 is a block diagram of a preferred embodiment of the present invention wherein help topics are partitioned by functional blocks within an application. The graphical help system will display one or more screens of user selectable help topics  20  at a personal computer workstation. In this illustrated embodiment of the present invention, the graphical help system is a Microsoft Windows 95 application program residing and executing on a personal computer workstation, and preferably, conforms to standards established for Windows applications, incorporating such features as a minimize window pushbutton  22 , a restore window pushbutton  24 , and a close window pushbutton  26 . 
     The screen of help topics  20  is further partitioned into functional groupings within a computer application residing within the data processing system. In this embodiment, there are functional groupings shown for the Microsoft Office 97 Excel spreadsheet application  76 , such as: an import functional block  78 , a database functional block  80 , a charting functional block  82 , a worksheet functional block  84 , a file management functional block  86 , a printing functional block  88 , a macro functional block  90 , and an export functional block  94 . 
     This functional diagram of a computer application includes interconnections  92  between the functional blocks  76 ,  78 ,  80 ,  82 ,  84 ,  86 ,  88  and  90  which indicate topographical relationships between the functional blocks in the application. These topographical relationships will break an application down into a ordered, positionally relevant set of functional topics, graphically displayed in such a manner that an application user will know intuitively where to seek help for an application subtask. As an example, in the illustrated embodiment, the import functional block  78  is positioned to the left of the charting and worksheet functional blocks  82  &amp;  84 , while the printing and export functional blocks  88  &amp;  94  are positioned to the right of the charting and worksheet functional blocks  82  &amp;  84 . This topographically ordered, left-to-right arrangement of functional blocks and associated help topics will not only allow a user to easily locate assistance materials, but will also provide the user with an ordered, “roadmap” to both the organization and use of the computer application. 
     Within each of the functional groupings  78 ,  80 ,  82 ,  84 ,  86 ,  88 , and  90 , there are user selectable help topic pushbuttons  36  which preferably link to a displayable help topic information screen when the pushbutton  36  is activated. In the illustrated embodiment, the pushbuttons may link to UNISYS PathMate help topics, but other embodiments may also provide access to application help systems, or even a browsable internet web site. 
     The overview screen  20  may also include a help topics pushbutton  52 . When a user activates this pushbutton  52 , the overview screen  20  closes and a help topics window with Contents, Index, and Find tabs is opened. 
     The illustrated embodiment also includes user selectable pushbuttons for a system view  40  and a user view  42 . This feature allows different types of users to have different sets of help topics available within a shared set of application functional block groupings. 
     Having thus described the preferred embodiment of the present invention, those of skill in the art will readily appreciate the many additional embodiments which may be implemented using the teachings found herein and within the scope of the claims hereto attached.