Abstract:
The invention relates to a human resource management system which includes an objectives module or feature, a notes module or feature and an appraisal module of feature. The objectives module enables the periodic creation and storage of performance objectives for a plurality of employees. The notes module enables the periodic creation and storage of notes relating to the objectives. The notes are correlated with the objectives for view by the user. The appraisal module enables the periodic creation of performance appraisals for the employees. The appraisal module enables the user to selectively incorporate the objectives and selectively incorporate the notes correlated thereto into the appraisal. Consequently, performance appraisals can be produced which encompass the periodic collection of information relating to specific performance objectives, thus facilitating the generation of a high quality appraisal.

Description:
[0001]    This application claims the benefit of U.S. provisional application No. 60/367,756. 
     
    
     
       FIELD OF THE INVENTION  
         [0002]    This invention relates to a method and apparatus for enhancing and facilitating ongoing personnel management and to a human resource management system.  
         BACKGROUND OF THE INVENTION  
         [0003]    Management science has become an important area of study. It has been demonstrated that better people management leads to more productive workers, happier workers, less employee turnover, and more effective and efficient organizations. This is the case for both staff, and lower-level management.  
           [0004]    Management science is not unique to any one field or domain, but rather any organizational arrangement of persons with one having some supervisory responsibility over another.  
           [0005]    Management has been described as 5% leadership and 95% communication. The challenge for many managers is in maintaining the day-to-day communication even when it appears it is not necessary, as this is often the circumstance in which a little communication may avert significant difficulties.  
           [0006]    A similar challenge occurs in evaluations or assessments of employees, as these typically involve a recalling of prior communications, regarding the status of objectives, along with occasions of praise and of criticism.  
           [0007]    The invention disclosed herein provides a framework and mechanisms for facilitating the day-to-day communication between managers and their employees, as well as assisting managers in maintaining and upgrading management skills, and their employees in job-specific development skills.  
         SUMMARY OF THE INVENTION  
         [0008]    Heretofore human resources managers have made use of a variety of heterogeneous tools to help them with their tasks, including paper notebooks, email systems, calendar applications, and in some cases, performance management systems. While these tools each offer some utility to the manager, they are not optimized for the task of people management, nor do they provide any synergy between themselves.  
           [0009]    One aspect of the invention relates to a human resource management system which includes an objectives module or feature, a notes module or feature and an appraisal module of feature. The objectives module enables the periodic creation and storage of performance objectives for a plurality of employees. The notes module enables the periodic creation and storage of notes relating to the objectives. The notes are correlated with the objectives for view by the user. The appraisal module enables the periodic creation of performance appraisals for the employees. The appraisal module enables the user to selectively incorporate the objectives and selectively incorporate the notes correlated thereto into the appraisal. Consequently, performance appraisals can be produced which encompass the periodic collection of information relating to specific performance objectives, thus facilitating the generation of a high quality appraisal.  
           [0010]    The system preferably includes an agenda module enabling the periodic creation and storage of agenda items between an employee and his or her manager. The agenda items are correlated with the objectives for view by the user. A given agenda item can be selectively converted into a note, which automatically inherits the objective associated with the agenda item. The agenda module, which is used to track current and upcoming issues for discussion, facilitates frequent interaction between managers and employees. The agenda module enables the results of such interactions and current issues to be logged as notes which form a basis for performance appraisal.  
           [0011]    The preferred embodiment includes, in addition to the foregoing modules or features: personal profile &amp; status, a calendar, an alert function. The preferred embodiment integrates and improves on the prior art by providing a single homogenous framework for the manager. A manager&#39;s day-to-day activities are supported, with individual employee agendas, status and calendar, and repositories for significant notes. Periodic activities are supported, with facilities for setting objectives and linking those to corporate objectives or to objectives up (or down) the management chain, and for appraising staff&#39;s performance against those objectives. An alert feature reminds the manager of upcoming events, overdue activities, and trends in employee behaviour which may warrant attention.  
           [0012]    In the preferred embodiment, the objectives feature supports the agenda and notes features, by automatically creating “folders” associated with each objective, used by the agenda and notes features, advantageously facilitating organization of information, and simultaneously ensuring that objectives remain visible and not forgotten.  
           [0013]    In the preferred embodiment, the agenda feature supports the notes feature, with automatic transposition of selected agenda items to the correct file of notes for the relevant employee; this further increases the likelihood of notes being kept, which increases the quality of eventual appraisals.  
           [0014]    In the preferred embodiment, the objectives feature supports the appraisal feature, with automatic structuring of an appraisal based on the performance objectives, insuring that performance objectives are not ignored at the time of an appraisal.  
           [0015]    In the preferred embodiment, the notes feature supports the appraisal feature, by permitting the manager to tag notes (e.g. as “praise” or “criticism”, or with some other assessment-based tag), allowing for the sorting of notes by these tags, and the selection and automatic inclusion of selected notes into an appraisal.  
           [0016]    In the preferred embodiment, the calendar feature supports the status feature and the directory, providing the manager an automatically generated view of all their staff&#39;s status (e.g., on vacation, in the office, on client site, etc.), and the organization as a whole to see an automatically generated directory showing status and telephone numbers for that specific day.  
           [0017]    In a preferred embodiment, the alert feature integrates with the calendar feature, providing automatic warnings for upcoming employee vacations, overdue employee vacations, and unacceptable patterns of absence.  
           [0018]    In a preferred embodiment, the alert feature integrates with the notes feature, providing automatic warnings if notes are not kept, or if certain tags are being under- or over-used (e.g. if unacceptable levels of “criticism” notes are kept).  
           [0019]    In a preferred embodiment, the alert feature integrates with the objectives feature, providing automatic warnings if objectives are not kept up to date, or if specific target objective completion dates are not met.  
           [0020]    In a preferred embodiment, the alert feature integrates with the appraisals feature, providing automatic warnings if appraisals are not kept up to date.  
           [0021]    In a preferred embodiment, the close integration of day-to-day features with periodic features provides additional advantages by allowing the periodic tasks to become a simple extension of day-to-day tasks, eliminating user confusion and learning curves associated with rarely-used tools.  
           [0022]    Advantageously, the preferred embodiment enables:  
           [0023]    collaboration, allowing a manager to share portions of employee data to facilitate enhanced communication and productivity.  
           [0024]    specialized alerting, advising or reminding manager of specific future events (e.g. preprogrammed dates), dynamically determined future events (e.g. an employee vacation), advising of system events which do not occur (e.g. desirable periodic events such as note taking, praise, vacation), advising of system events which exceed specified thresholds (e.g. a significant number of absences in a specified period).  
           [0025]    specialized reporting, allowing an organization to determine the effectiveness of its managers.  
           [0026]    a calendar status addition to a directory which is responsive to the organizational structure of an organization to allow employees&#39; data to be visible to their supervisors at all levels.  
           [0027]    tags to be associated with journal entries, with quick access to specific tagged entries, thus accelerating the compilation of specifically tagged entries into such documents as an employee appraisal. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0028]    [0028]FIG. 1 a  illustrates an example embodiment of the invention in which users from a variety of organizations use the invention by way of a common server on the internet.  
         [0029]    [0029]FIG. 1 b  illustrates an example embodiment of the invention in which users from a single organization use the invention by way of a common server on the organization&#39;s intranet.  
         [0030]    [0030]FIG. 2 illustrates an example of an organization, and is provided to facilitate detailed explanations of use of the invention.  
         [0031]    [0031]FIG. 3 (all parts) illustrates example user interface screen layouts of one possible user interface design for the invention, representing use by someone acting in a managerial role.  
         [0032]    [0032]FIG. 4 (all parts) illustrates example user interface screen layouts of one possible user interface design for the invention, representing use by someone acting in an employee role.  
         [0033]    [0033]FIG. 5 (all parts) illustrates example data structures supporting the implementation of the invention.  
         [0034]    [0034]FIG. 6 (all parts) illustrates logical flow of the invention.  
         [0035]    [0035]FIG. 7 (all parts) illustrates example user interface screen layouts of the directory function of the invention.  
         [0036]    [0036]FIG. 8 (all parts) illustrates example report output of the invention. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0037]    [0037]FIG. 1 a  illustrates an internet-based variant of the invention, particularly suited to support large numbers of users from different organizations. An application server  5  comprised of data reader for CD or diskette or the like  7 , data storage device such as hard disk  8 , operating system (not shown), application software (not shown) and CPU  13 , is connected to the internet  20  via link  16 . Preferably, the operating system will support the use of the application server by multiple users at the same time. An administrative terminal  14  is connected to the application server  5  via link  15 . User terminals  30 ,  40 , and  50  are connected to the internet via links  31 ,  41 , and  51  respectively, and would normally be comprised of a typical personal computer, with display, keyboard, mouse, CPU, and network interface. The details of application server hardware architecture, internet architecture, administrative and user terminals architecture, and link architecture are not specific to the invention and many existing alternatives are well known to those skilled in the art.  
         [0038]    It is well known in the art that an application server  5  can be advantageously spread across multiple CPUs, to increase the capacity, speed and redundancy of the system.  
         [0039]    It is also well known in the art that an application server  5  can be “mirrored” to one or more additional locations, to increase the capacity, speed, and redundancy of the system.  
         [0040]    In typical use, a user at terminal  30  would access the application through a browser application such as Microsoft™&#39;s Internet ExplorerÔ or Netscape™&#39;s NavigatorÔ. The user would provide the browser application with a network address, which would cause a request to be made through the internet to locate the required application server  5 . The CPU  13 , under control of the application software and operating system would cause appropriate HTML and other internet standard protocol codes to be sent via the TCP IP protocol or another internet standard protocol back to the user, presenting the user with a user interface as exemplified in FIG. 3 or FIG. 4, depending on whether the user is acting in a managerial role, or an employee role.  
         [0041]    The user interface would cause the user to log in (either explicitly, or implicitly through such techniques as internet “cookies”) and then provide the user with access to their data, with the methods provided by the invention.  
         [0042]    Simultaneously additional users at terminals  40  and  50  may also be accessing data at the server, supported by the server&#39;s use of the operating system.  
         [0043]    Some aspects of the invention provide third party information to the user; in this case a request from user at terminal  30  may be handled by application server  5 , which in turn may request data from a third party server  60  (which is connected to the internet through link  61 ), and then forward that data back to the user terminal  30  with or without modification.  
         [0044]    While typical use would be through a network browser, it can be appreciated that a client-server architecture may also be a beneficial model, in which case the terminal  30  would be provided and would maintain a client software (not shown) for execution on that local terminal&#39;s CPU (not shown), and that client software would exchange data with the application server  5 , eliminating the need for the transmission of user interface details. The client software can provide a similar user interface to that described in FIG. 3 (all parts).  
         [0045]    It should be recognized that while user terminals are illustrated as PCs in FIGS. 1 a  and  1   b , a full range of other user terminal devices (PDAs, tablet PCs, palm-top PCs, micro-browser equipped telephones, etc.) can be beneficially used within this architecture to access the features of the invention (necessary gateways are simply added to the network backbone). The recasting and segmenting of an application&#39;s user interface for access on such devices is well within the knowledge of those skilled in the art, and indeed, may be done automatically by existing tools and software applications, and as such is not described further herein. It may be desirable to offer a user interface with limited features (and not all of the features of this invention) on a user terminal device with limited computing power, such as a PDA.  
         [0046]    [0046]FIG. 1 b  illustrates an intranet based implementation of the invention. In this implementation a single organization of sufficient size would have an application server  5  which is located internally to the company, connected to local network  200 , serving users at user terminals  30 ,  40  and  50 . Some advantages of this arrangement are that the application server ( 5 ) is the property of the organization, and all data is maintained within the organization&#39;s internal network. The application server ( 5 ) may request data from an internal server  600  (which is connected to the intranet through a link  610 ) and then forward that data back to the user terminal  30  with or without modification.  
         [0047]    This implementation may also provide access to third party data servers  80  on the internet  70 , through a gateway  100  between the internal network  200  and the internet  70 . Support for organization users remote to the local network  200 , but connected to the internet  70 , can also be provided through the same gateway  100 , by means of a user terminal  90  connected to the internet  70  by a link  91 .  
         [0048]    In an intranet based system supporting large numbers of user terminals, it becomes more likely that some of the data described in FIG. 5 may be available on existing servers prior to the introduction of the invention (e.g. personnel data, corporate organization structure data). In this case, the application server  5  can run customized software to provide its features based on a combination of the application server&#39;s data stored at its data storage device  8 , with pre-existing data stored on internal server  600 . The user utilizing a user terminal need not be aware that the data is coming from multiple data stores.  
         [0049]    A “first time” user of the invention, in the implementation described in FIG. 1 a , would start by accessing on a user terminal the application software over the internet  20  using their internet browser. They would obtain access identification and a password to the application in exchange for payment, e.g. by credit card. In the case where a user is associated with other users within a larger organization, that larger organization may be billed directly, eliminating any requirement for an individual user to provide billing data.  
         [0050]    In the implementation described in FIG. 1 b , a “first time” user would be assigned a userid and password by their organization, and direct payment would not be required.  
         [0051]    [0051]FIG. 3 a  illustrates an example login screen for the invention. In some environments, users may have already authenticated themselves, and may bypass this screen. Users presented with a login screen would authenticate themselves by entering their email address (or user name) and password in an appropriate location on the login screen  310 , 312 , then pressing the login button  314 .  
         [0052]    Upon accessing the system, already-authenticated users would be presented with a “home” page, offering navigation to other functions, a summary of their account status and significant information, such as pending messages from their manager or their employees or notifications “alerts” of possible issues. Users presented with a login screen would be presented with a “home” page after they have been authenticated by the system. FIG. 3 b  illustrates an exemplary “home” page; it offers primary navigational control through a left menu  316 , as well as overall controls and functions in a top menu  318 . FIG. 3 b  through FIG. 3 gg  all represent example user interface screens presented to user  11  (in the organization chart of FIG. 2), and in most cases, viewing the data of user  112  (in the organization chart of FIG. 2).  
         [0053]    Any member of an organization, as depicted in example from in FIG. 2, can be a user of the system. Depending on their place in the organizational structure (“management chain”), they would be presented an appropriate user interface (further discussed with reference to FIG. 5 f ) and access to the data for their own subordinate employees.  
         [0054]    Referring to FIG. 2 as an example organizational structure, we will presume the initial user is user  1  in the figure. User  1  would be a manager to users  10 ,  11 , and  12 , who can be referred to as user  1 &#39;s subordinate employees. User  11 , for example, would act in a managerial role to users  111 ,  112 , and  113 , who can be referred to as user  11 &#39;s subordinate employees. User  11  would thus be a manager with respect to users  111 ,  112 , and  113 , and a subordinate employee with respect to user  1 . User  1  would have three subordinate employees (User  10 ,  11 ,  12 ) but many employees; for example, Users  111 ,  112 , and  113  are not User l&#39;s subordinate employee, they are still considered employees of User  1 .  
         [0055]    Thus a user can also be another user&#39;s subordinate employee. The chain of users and subordinate employees, as depicted in FIG. 2, is known as the “management chain”. Members above a particular user in the Management chain linked to that user are referred to as that user&#39;s manager; members directly below linked are referred to as that user&#39;s subordinate employee. When user  11  is using the system, he would have users  111 ,  112 , and  113  shown in his view of his staff, a potential user interface for which is shown in FIG. 3 c . This screen beneficially provides a display of or direct access to summary information about each of the user&#39;s subordinate, including:  
         [0056]    the subordinate employee&#39;s name;  
         [0057]    an indication of whether that subordinate employee has added items to their discussion agenda, signified by a number in the “new” field representing the quantity of agenda items added by the person since the user last looked at the subordinate employee&#39;s agenda/notes, and access to that subordinate employee&#39;s discussion agenda, by selecting the number;  
         [0058]    any potential warnings or issues, indicated in the “alerts” field, and accessible by selecting the alert indicator;  
         [0059]    the subordinate employee&#39;s current status, displayed and changeable by selecting the status indicator;  
         [0060]    the subordinate employee&#39;s calendar - accessed by selecting the calendar indicator;  
         [0061]    contact telephone numbers based on the subordinate employee&#39;s current status, displayed in the telephone number field;  
         [0062]    supplemental access to each subordinate employee&#39;s ongoing discussion agenda, by selecting the person&#39;s name;  
         [0063]    Note that the subordinate employee list in FIG. 3 c  may be advantageously sorted so that those employees with active alerts or new notes would be presented at the top of the list, to facilitate a quick scan of employees requiring attention where all employees can not be displayed simultaneously.  
         [0064]    All, or portions of, the subordinate employee list shown in FIG. 3 c  may also be advantageously presented within the framework of an information portal, where the portal has appropriately authenticated the accessing user&#39;s rights to such information.  
         [0065]    The user can act in an employee mode by selecting his own data, for interacting with his manager, or can act in a manager mode for interacting with his subordinate employee&#39;s data, through selections made in the hierarchical navigational menu. The status indication ( 320 ) at the top of the screen provides constant feedback as to whose data is being accessed.  
         [0066]    Data defining the user&#39;s employees could be entered by the user, using typical internet-based data entry forms; or by an organizational administrator on behalf of the organization; or via transfer of a file, e.g. a comma-separated-value format description of the data, imported or collated from other systems or lists; or via a data connection to another system, e.g. a Human Resources Information system—such a Human Resources Information System may be connected as internal server  600  in FIG. 1 b ; all through means well known to those skilled in the art. It should be noted that in a larger organization, with many layers of managers and employees, it would be possible to make use of this invention, starting top-down, with implicit definition of the organizational structure as each manager in turn filled in their employee&#39;s data.  
         [0067]    [0067]FIG. 5 c  describes the elements of each user&#39;s data structure which is used to display the subordinate employee list; their name, number of items added to the agenda, active alerts, current status, phone numbers associated with current status, and any note associated with current status.  
         [0068]    [0068]FIG. 3 d  shows a user&#39;s view of the alerts associated with a single subordinate employee (the “alerts screen”). The Alerts subject column lists the possible alert events; the status column shows the current state of the data which would cause an alert; the action column offers specific actions for dealing with any particular alert; the Alert Trigger column shows the thresholds which would trigger an alert. Triggered alerts are shown in a highly visible graphical treatment, e.g. a high-contrast high brightness colour, such as red.  
         [0069]    Alerts can be “deferred” to a future date by the user, in which case they are shown highlighted in a less visible fashion, e.g. in bold-face text.  
         [0070]    The system advantageously provides direct access to the typical activities a user would conduct in the event of an alert, e.g.:  
         [0071]    Deferring the alert, when it is likely to be resolved without other specific action by the user, until a specific date in the future;  
         [0072]    Sending an email to the subordinate employee regarding the situation which has triggered an alert;  
         [0073]    Adding a note to the subordinate employee&#39;s ongoing discussion agenda for the purpose of discussing the situation leading to the triggering of an alert in the future;  
         [0074]    Resetting the alert where the situation is resolved, and the user wishes to be advised of the next alert.  
         [0075]    It should be noted that some classes of alerts require a user to specifically reset them, where some user action is likely warranted beyond the scope or knowledge of the invention; however, where the invention can make advantageous use of its own data, it automatically resets the alert on behalf of the user. For example, if an alert is raised due to the user not having had a discussion with the subordinate employee in the prescribed interval, that alert is automatically reset when any note is added to that subordinate employee&#39;s topics data structure.  
         [0076]    It should be noted that the ability to select one of or scroll through each of the user&#39;s subordinate employees, or their own data, is easily supported in such contexts as this Alerts Screen, allowing a user to very quickly scan the status of all their subordinate employees. Using the top menu, the user can directly select from their staff, displayed in a drop-down menu, or choose to cycle sequentially through their subordinate employees, by choosing “next” and “previous” controls, which result in the system selecting the next or previous subordinate employee from the list of that user&#39;s subordinate employees. FIG. 5 a  represents a portion of a database defining the organizational structure of a group of users (the same organizational structure shown in a more traditional format in FIG. 2), and the list of which users should be displayed as subordinate employees of the current user would be identified in columns “Staff  1 ” through “Staff . . . ”.  
         [0077]    Typical alerts and example thresholds are shown, but other metrics and alert thresholds can be defined, days tardy, customer complaints, low productivity, high productivity, etc., can be manually entered by the user, the subordinate employee, or fed from a third party source, such as at server  600  in FIG. 1 b.    
         [0078]    [0078]FIG. 3 e  shows further details of the user interfaces associated with the Defer, and Add to Agenda screens for the Alerts Screen. The Defer Screen allows the user to specify the date to which the alert is to be deferred, and notifies the user of the current deferral date if there is one.  
         [0079]    The Add to Agenda screen allows the user to describe the subject of discussion for adding to the agenda, optionally to reset the alert if this alert requires manual resetting, and optionally choosing to identify this agenda item for sharing with the subordinate employee (the ability to share or not a particular agenda item or note with a subordinate employee is further described in reference to FIG. 3 h ). Two versions of this screen are shown, highlighting the fact that some alerts are manually reset, some automatically.  
         [0080]    [0080]FIG. 3 f  shows a calendar screen which allows the user to view a calendar for a subordinate employee, describing the subordinate employee&#39;s status for each day in a particular month (and those days from prior and subsequent months which share a work week with the selected month). Access to any particular day&#39;s details for the purpose of viewing or changing is available by selecting that day, which accesses the mechanism shown in FIG. 3 g.    
         [0081]    [0081]FIG. 3 g  shows a Calendar Details Screen which allows the user to view subordinate employee contact information for any given day, for example, any relevant notes for that day, and also in the event that an unusual calendar event has been overlaid onto the weekly default repeating calendar, the beginning and end days for that unusual calendar event. Notes for unusual calendar events are also displayed at the bottom of FIG. 3 f . Mechanisms to choose and display months other than the current month are included on the display, as arrow keys to either side of the month and year display  
         [0082]    [0082]FIG. 3 h  illustrates the user interface for adding and managing discussion agenda items. The Topic column lists the discussion topics; it includes a “general” area, as well as user-defined discussion topics, shown in this example as “Customer Svc Response”, “Dept. Cost Containment”, “S/W Quality - X-Ray”, and “Testing Knowledge”. The screen offers the ability to add agenda items associated with any of the topics, and optionally to share those items with the subordinate employee, indicated by the checkbox underneath the folder icon associated with each agenda item. Also offered is the ability to add a note to a discussion topic in the notes file, again, optionally shared with the subordinate employee. Existing agenda items can be moved to the notes, e.g. after a discussion; this advantageously minimizes the amount of data entry by the user. Existing agenda items can also be simply deleted, where no note is required.  
         [0083]    The upper window in FIG. 3 i  shows the pop-up window associated with adding or moving a note. It allows a date to be associated with the note, defaulted to the current date; text for the note, defaulted to the current agenda item; an option to leave the original agenda item untouched, controlled by the “leave on agenda” tickbox; options to tag the note, shown in this example with “happy face” and “sad face” icons (for later use in collating notes, e.g. for the purpose of appraisal), representing praise and criticism; and an option to share the note with the employee, shown by the shared-folder icon, which modifies a Read Access field.  
         [0084]    Referring back to FIG. 3 h , discussion agenda items/notes added by the employee are also shown on this screen (i.e. the item referring to extending a vacation in Washington), with a different graphical treatment (i.e. font style and text colour). This permits the user to clearly differentiate subordinate employee&#39;s additions to the agenda from their own items.  
         [0085]    The lower portion of FIG. 3 i  shows the mechanism used for adding user-defined discussion topic; it includes an option to share the topic with subordinate employees.  
         [0086]    The system allows for the user to selectively share specific data elements with individual subordinate employees; FIG. 5 b  summarizes the elements of data for which such control is offered, i.e.:  
         [0087]    Overall access to the data, controlled by Login Access. If the subordinate employee is not given Login Access, they are not shown any information at all. Login access grants implicitly certain rights—the ability to add agenda items, the ability to add discussion topics, and the ability to add objective sets;  
         [0088]    Visibility of a discussion topic, controlled by the Read Access field associated with each topic. If a subordinate employee has no access to a particular discussion topic, they system does not display the discussion topic to that employee when they are accessing pages listing discussion topics. As a convenience to the user interface design, the system maintains the General topic as fixed, always with Read Access enabled.  
         [0089]    Visibility of individual agenda items, controlled by the Read Access field associated with each agenda item.  
         [0090]    Visibility to individual notes, controlled by the Read Access field associated with each agenda item.  
         [0091]    Visibility of each objective set, controlled by the Read Access field associated with each objective set.  
         [0092]    Ability to modify each objective set, controlled by the Write Access field associated with each objective set.  
         [0093]    Visibility of each appraisal, controlled by the Read Access field associated with each appraisal.  
         [0094]    Ability to modify the employee comments portion of each appraisal, controlled by the Write Access field associated with each appraisal.  
         [0095]    It will be clear to those skilled in the art that sharing controls can be modified in a variety of ways depending on specific requirements of the organization using the invention, adding additional controls or simplifying controls where appropriate.  
         [0096]    [0096]FIG. 3 j  illustrates an exemplary user interface providing a summary view of and controls for discussion topics, previously discussed with reference to the Agenda function. The user is presented with a count of agenda items and notes associated with each discussion topic, and the date of the last change to any datum associated with the topic. The subordinate employee&#39;s ability to view each discussion topic is also shown and controllable.  
         [0097]    [0097]FIG. 3 k  illustrates a specific set of notes, in this example, the “Customer Svc Response” discussion topic&#39;s notes. The features of a note have been discussed with reference to the Agenda function. This exemplary user interface shows all of the added notes, offers the ability to add additional notes, delete notes, and change the sharing or tags associated with each note. FIG. 5 d  illustrates an exemplary data structure for the discussion topics, agenda items, and notes features of the invention.  
         [0098]    [0098]FIG. 3 l  illustrates the calendar view of discussion notes; this allows a manager to quickly see the pattern of discussion across discussion topics over time, and to select the notes for any particular date, by selecting the date of interest, or for a particular discussion topic across all dates, by selecting the discussion topic of interest. Selecting a date takes the user to a point in the user interface described in FIG. 3 n ; selecting a discussion topic takes the user to the point in the user interface described in FIG. 3 k . The presentation of information in FIG. 3 l  can be condensed, eliminating days in which no discussion occurred; this is shown in FIG. 3 m.    
         [0099]    [0099]FIG. 3 n  shows a consolidated view of notes on the employee&#39;s discussion topics for a single day. The user can scroll through other meeting days with the buttons to either side of the date, shown near the top of the screen. The user can also advance immediately to the first discussion notes stored, or to the most recent discussion notes stored. If the user wishes to modify notes, or see the detailed notes for a particular topic, they can access that discussion topic by selecting the topic name, which takes them to the point in the user interface described in FIG. 3 k . The user can return to the multi-day view by selecting the appropriate button on the user interface.  
         [0100]    In the event that a particular discussion topic becomes obsolete and is not required at all, it can be deleted completely from the subordinate employee&#39;s database. Older topics for which notes are advantageously maintained can be “archived”; archiving a note removes it from visibility within the database, but allows it to be accessed through an alternate user interface mechanism. This mechanism is not specified herein; such techniques are well known to those skilled in the art.  
         [0101]    Archival is advantageously permitted for a complete discussion topic, or for a particular subset of dates, allowing, for example, a particular calendar year&#39;s notes to be maintained as a set.  
         [0102]    [0102]FIG. 3 o  illustrates the portion of the user interface used to summarize and maintain (add, modify, delete, archive) employee objective sets (each set contains one or more individual objectives, advantageously collected into a set). Subordinate employee access to objective sets is controlled herein as well. Selecting a particular objective set would take the user to the portion of the interface shown in FIG. 3 p.    
         [0103]    [0103]FIG. 3 p  illustrates the portion of the user interface used for viewing and modifying an objective set. The user can add new objectives, edit objectives, and delete objectives. The invention allows for each created objective to be linked to an existing objective within the management chain; the upper window in FIG. 3 s  shows the portion of the user interface used to add an objective, allowing for the objective to be titled, have appropriate dates stored, details stored, establishing that linkage to a manager&#39;s objective, and advantageously creating a discussion topic associated with the objective. An objective which is not related to a manager&#39;s objective is left “Independent”. The means to create a discussion topic associated with an objective greatly facilitates the maintaining focus on an objective as the user continues with day-to-day management activities, as the discussion topic is visible on the agenda, and is not relegated to memory. Further, the discussion topic allows for collection of notes associated with the objective, facilitating performance appraisals.  
         [0104]    From the user interface illustrated in FIG. 3 p , the user can also view the relationship between the subordinate employee&#39;s objectives and their management chain&#39;s objectives (ie. the objectives of the user, the user&#39;s manager, and anyone above the user in the management chain). A view of all the subordinate employee&#39;s objectives&#39; titles and their relationship to the management chain&#39;s objectives&#39; titles is shown in FIG. 3 q , which is access through the “Show Cascade View” button shown on FIG. 3 p . From this view, or from the view shown in FIG. 3 p , the full text of a specific objective can be shown as it relates to the full text of the linked management chain&#39;s objectives; this “full cascade” view is shown in FIG. 3 r.    
         [0105]    [0105]FIG. 3 t  shows the user interface that provides for appraisals. When a user adds a new appraisal, it is based upon existing objectives; FIG. 3 u  illustrates the user interface for adding a new appraisal, which provides means for naming an appraisal, selecting the objective set(s) the appraisal is to be based on, and setting the sharing controls for the appraisal.  
         [0106]    [0106]FIG. 3 v  illustrates the user interface for viewing an appraisal, in summary form, listing each of the current objectives, an associated rating choice, and an overall rating. Rating descriptions can be customized to use the terminology required by the organization using the invention. Methods are provided to add additional objectives, in the event that the appraisal should cover tasks not originally described within the objective sets. Methods are also provided to import an existing appraisal, which allows, for example, an end-of-the-year annual appraisal to include, without modification, a previously-completed mid-year appraisal for reference. A method to view the details of the appraisal is also provided, which would present the view shown in FIG. 3 w.    
         [0107]    [0107]FIG. 3 w  describes an exemplary user interface for a detailed view of an appraisal; it provides for viewing and modifying the details supporting the ratings for each of the objectives. The function “Import Notes” associated with each objective, allows the user/manager to scan, filter, and copy previously made notes to the appraisal which are relevant to the performance of the employee with respect to the objective. FIG. 3 x  shows the mechanism by which the user chooses which discussion topic&#39;s notes to scan, and FIG. 3 y  shows the scan and select interface. The user can advantageously sort notes by tag (in this case, the tags praise and criticism are shown), or by date, and then select those notes which are considered to be relevant to the appraisal. Once selected and confirmed, the user is returned to the point in the user interface shown in FIG. 3 w , with the selected notes inserted into the supporting text for each objective. The notes can be further modified or added to as required. FIG. 5 e  describes an exemplary data structure for the objectives and appraisals features of the invention.  
         [0108]    It will be apparent to the reader that these elements of the invention will greatly facilitate accuracy and speed in collating information to complete an employee appraisal.  
         [0109]    [0109]FIG. 3 z  illustrates the user interface presenting a first portion of the subordinate employee&#39;s personal profile: the basic information. This stores identification information, used in the application for communications, directory, and access, as well as providing information on the subordinate employee&#39;s use of the system and current access status. The user interface provides a mechanism to reset the subordinate employee&#39;s password in the event that they require this; it is also apparent to those skilled in the art that a system administrator could do this, and a subordinate employee themselves may be able to reset their own password using an identity confirmation procedure.  
         [0110]    [0110]FIG. 3 aa  illustrates the user interface presenting a second portion of the subordinate employee&#39;s personal profile: the home information. This stores information regarding the subordinate employee&#39;s home addresses: physical, postal, and electronic mail. Advantageously provided is means to connect the user to internet-based mapping software providing a road map showing the subordinate employee&#39;s home and driving directions to it.  
         [0111]    [0111]FIG. 3 bb  illustrates the user interface presenting a third portion of the subordinate employee&#39;s personal profile: the telephone contact information. This information allows all of the subordinate employee&#39;s telephone numbers to be stored for reference by the user, as well as providing automatic associations between these telephone numbers and various calendar statuses. This permits the calendar status to be associated by default with specific telephone numbers, and thus the features on the staff page and directory which allow current telephone numbers to be displayed for each user. Each calendar status may advantageously be associated with up to two telephone numbers.  
         [0112]    [0112]FIG. 3 cc  illustrates the user interface presenting a fourth portion of the subordinate employee&#39;s personal profile, the calendar defaults. This information allows the calendar to automatically default to specific statuses for specific days, allowing subordinate employees who do not regularly work in the office Monday-Friday to store their personal default schedule. For example, a subordinate employee might work Tuesday-Saturday, or might work from home (i.e. telecommute) two days each week. This portion of the invention allows for the calendar to automatically reflect these default status patterns.  
         [0113]    [0113]FIG. 3 dd  illustrates the user interface presenting a fifth portion of the subordinate employee&#39;s personal profile, the personal development information. This allows the user to store relevant information regarding the subordinate employee&#39;s personal development plans, needs, etc., so that the user can refresh their memory regarding this information as appropriate.  
         [0114]    [0114]FIG. 3 ee  illustrates the user interface presenting a sixth portion of the subordinate employee&#39;s personal profile, the table of personal event dates. This feature allows the user to store key dates relevant to the subordinate employee, which can then be used to trigger alerts, discussed in reference to FIG. 3 d . Standard dates are pre-labeled; other dates are labeled accordingly. Dates can be automatically recurring, as in the case of birthdays and anniversaries, or non-recurring for other events. Specific alert parameters can be set for each date, allowing the user to receive a reminder in advance of a date, on the date, or some period after the date.  
         [0115]    [0115]FIG. 3 ff  illustrates the user interface presenting the seventh portion of the subordinate employee&#39;s personal profile, the family information. This information is used to remind the user about the subordinate employee&#39;s family, facilitating work social interactions. The subordinate employee&#39;s family names can be recorded, as well as other information which the user considers important.  
         [0116]    [0116]FIG. 3 gg  illustrates the user interface presenting the eighth portion of the subordinate employee&#39;s personal profile, the miscellaneous information. This allows the user to store arbitrary information about the subordinate employee which may be important in understanding and building a rapport with the subordinate employee. Arbitrary labels can be associated with arbitrary information, depending on the user&#39;s knowledge and desire to store specific information.  
         [0117]    [0117]FIG. 3 (all parts) show a manager&#39;s view of the data. FIG. 4 (all parts) shows some exemplary portions of the user interface for a subordinate employee to view their own data. Subordinate employee accounts can be automatically set up and communicated to the subordinate employee via email, in both of the system architectures shown in FIG. 1 a  and  1   b , through the addition of an email component added to server  5  (such components are well known to those skilled in the art).  
         [0118]    It should be noted that most users are also subordinate employees, reporting to yet another user (their manager). The system provides these users the ability to access both their own data, as shared by their manager, and that of their subordinate employees, through the navigational mechanisms at the left of the screen. FIG. 5 f  summarizes the navigational tree for users  1 ,  10 , and  101  illustrated in the organization chart of FIG. 2. User  1  has full manager access, but limited subordinate employee functions, as he does not exist in a subordinate employee role within the organization. The limited functions allow him to establish his own calendar and personal profile, for the purposes of the directory, and his own objectives, for the purposes of allowing those to be view and linked to by his subordinates. User  10  is both manager and subordinate employee, and is offered full subordinate employee and manager functions. User  101  is only a subordinate employee, with no managerial responsibility, and is offered only subordinate employee functions, with an appropriately simplified labeling in the navigation structure.  
         [0119]    All of FIG. 4 is shown from the point of view of user  112 , acting as a subordinate employee within his relationship with user  11 . FIG. 4 a  shows the initial system view for the employee portion of user  11 &#39;s data.  
         [0120]    [0120]FIG. 4 b  offers the subordinate employee a view of their calendar, and access to mechanisms to change it (which are the same mechanisms used by the manager).  
         [0121]    [0121]FIG. 4 c  shows a subordinate employee&#39;s view of the agenda items for future discussion with their manager (those that the manager has chosen to share with them), and the mechanism the subordinate employee can use to provide notes to their manager for the agenda. Note that the subordinate employee is not offered any views of the data of the other subordinate employees at his level of the management chain.  
         [0122]    [0122]FIG. 4 d  shows a subordinate employee&#39;s view of the topics summary; it is similar to the view of the manager, but does not list topics which are not shared, nor does it offer topic management functions (e.g. delete).  
         [0123]    [0123]FIG. 4 e  shows a subordinate employee&#39;s view of a particular topic&#39;s notes, showing only those notes which the manager has chosen to share with them. No ability to modify or manage notes is provided to the subordinate employee.  
         [0124]    [0124]FIG. 4 f  shows a subordinate employee&#39;s view of his objectives summary, showing only those objective sets which the manager has chosen to share with them. Ability to modify an objective set depends on whether the manager has given them such permission (indicated by the checkbox under the “write” icon column). Subordinate employees are always given the ability to adjust the sharing of their own objectives further down the organization management chain. For example, user  112  has not chosen to share their objectives (indicated by no selections in the share- 1  and share-all columns). These columns would allow user  112  to share their objectives with their direct subordinate employees, or employees at all levels of the management chain, respectively. Note that in FIG. 4 f , one of the two objective sets has been “signed off” by both manager and subordinate employee. The other has not, and the subordinate employee is offered means to sign off that objective set.  
         [0125]    [0125]FIG. 4 g  shows a subordinate employee&#39;s view of an objective set, which they do not have modification permission for. They are not presented with means to modify or add to the objective set. If they did have modification permission, their view would be identical to that of the manager&#39;s, in FIG. 3 p.    
         [0126]    [0126]FIG. 4 h  shows the subordinate employee&#39;s view of a summary of their manager&#39;s objective sets (those which have been selected for sharing by their managers at all levels in the management chain). As discussed in reference to FIG. 4 f , each manager has the privilege of sharing (or not) their own objective sets with employees underneath them in the management chain, selectively to their subordinate employees, or to their employees at all levels.  
         [0127]    [0127]FIG. 4 i  shows the employee&#39;s view of the details of a selected manager&#39;s objective set.  
         [0128]    [0128]FIG. 4 j  shows the employee&#39;s view of a summary of the appraisals which their manager has chosen to share with them. If the subordinate employee has permission to modify subordinate employee comments, an indication is shown under the “write” icon column.  
         [0129]    [0129]FIG. 4 k  shows the subordinate employee&#39;s view of a summary of a specific appraisal. They have no means to modify the appraisal.  
         [0130]    [0130]FIG. 4 l  shows the subordinate employee&#39;s view of the details of a specific appraisal. In this case, the subordinate employee has been given permission to modify the subordinate employee comments, and the subordinate employee comments field is editable, with means to save or cancel the changes provided.  
         [0131]    The subordinate employee can access the basic parts of their profile (basic information, home information, telephone information, calendar information), for the purpose of verifying and maintaining the data. Each subordinate employee is also provided access to a directory preferences portion of their profile.  
         [0132]    [0132]FIG. 4 m  shows the user interface for a subordinate employee to modify their directory preferences. This screen allows the subordinate employee to determine whether they generally wish to share status, calendar, and specific telephone information with those in the organization who are not in their management chain.  
         [0133]    [0133]FIG. 7 a  is an example of a user interface for searching a directory, similar to many known in the art.  
         [0134]    [0134]FIG. 7 b  is an example of a user interface showing a complete directory (all users retrieved) for the upper 3 tiers in the management chain depicted in FIG. 2. In this case, the user interface is what user  1  would see in their directory. In addition to traditional directory information, the invention shows the status of the subordinate employee, current phone numbers, and a link to the user&#39;s calendar, in those cases where the subordinate employee reports directly or indirectly to the person viewing the directory, as is the case for all directory entries in this example. Status, status notes, and calendars can all be viewed only (not changed) within the framework of the directory. The directory also provides means for the user to view the organization structure, as shown in FIG. 7 c.    
         [0135]    [0135]FIG. 7 c  shows the organization view, centered on user  12 , displayed by user  1 . User  1  has privileges to see the status, telephone numbers, and calendar of all users, so the selected user&#39;s complete information is displayed at the top of the page. The organization view shows the selected user “centered”, with a different graphical treatment. It shows the selected user&#39;s management chain to the top of the organization (in this case, just user  1 ), and any staff reporting to the selected user (in this case, users  121 ,  122 , and  123 ). The organization can be “browsed” by selecting any of the displayed entries. For example, clicking on user  1  would show all of their reports (user  10 ,  11 , and  12 ); one could then continue to click on various displayed users, navigating up and down the organization.  
         [0136]    [0136]FIG. 7 d  shows a different directory view, in this case, one displayed for user  10 . The user can only see the status information for their own staff, and one additional individual, user  11 , who in this example has configured their directory preferences to allow for the sharing of their status and telephone number with other users.  
         [0137]    The framework and data structures of the invention allows additional specialized tools to be provided, such as an employee familiarity function, which can present to a user arbitrary random subordinate employees&#39; pictures and information, allowing the using manager to become more familiar with employee faces and associate names with them. The employees could be selected from the organization as a whole or through some organizational subset or, for instance, limited to the user&#39;s employees at all levels. This function can be added to a user homepage, as shown in FIG. 3 a , or other equally appropriate parts of the user interface.  
         [0138]    [0138]FIG. 6 a  and  6   b  describe the overall flow of the invention. At step  670 , the user logs in, with an interface equivalent to that described with reference to FIG. 3 a . The user id and password are verified at step  601 , and if invalid, the user is informed of this at step  602 , and the application effectively terminates at step  603  (usually by restarting and allowing the user to attempt a subsequent login; in some cases, common security heuristics are used to block further attempts). If valid, the invention determines if the user is a manager, at step  604 , and if so, calculates the alerts for the manager&#39;s subordinate employees at step  605  so that they can be summarized and appropriately displayed for the manager. The invention then determines at step  606  (from data exemplified in and described with reference to FIG. 5 a ) if the manager is a subordinate employee themselves, and if not, presents at step  608  a version of the interface described in FIG. 3 b  with the navigation structure limited for this circumstance (as described in FIG. 5 f ).  
         [0139]    If the user is a manager and is also a subordinate employee themselves, an unlimited version of the navigation structure is provided, at step  609 . If the user is not a manager, the employee version of the navigation structure is presented, at step  607 .  
         [0140]    The invention allows for intra-page processing as part of the display step (as is well known within web-based applications), and generally awaits user input in the form of a request for navigation to a new part of the application, at step  610 . When a request for navigation is received, the application proceeds through steps  611  and  612  to step  613 , where any changes made in the current screen are saved if necessary (thus eliminating any requirement for the user to save their data entry manually). At step  614 , a determination is made to see if alerts need to be recalculated, due to actions in the current screen. If so, alerts are recalculated at step  615 . In either case, the application then proceeds to step  616 , where a determination is made to see if the navigation request made was to log out. If so, the application proceeds via step  618  back to step  670 , for a subsequent login.  
         [0141]    If the navigation request was not to logout, the requested page is now displayed and processed at step  617 . Again, the application then handles intra-page processing and awaits a navigation request at step  619 , at which point it returns to step  613 .  
         [0142]    At steps  605  in FIG. 6 a  and  615  in FIG. 6 b , alerts are calculated. FIG. 6 c  describes the overall process involved in this calculation. At step  651 , the invention determines if the current screen impacts alerts in any way; it references a table such as that in FIG. 5 g , listing the java server pages providing the screens, and where appropriate, an alert calculation function that is to be called if the particular page requires it. If the alert calculation function is “null”, no calculation is required or performed. If the function is not null, it is executed at step  652 .  
         [0143]    At step  653 , the invention determines if the time-based alerts are obsolete. A comparison of whether the current date (at the time of the calculation) is the same date as the last calculation date is made. This handles users who have not yet logged in this day, and users who have been logged in over the midnight hour. If the alerts are obsolete, all the alerts are recalculated at step  654 .  
         [0144]    The displaying of the alerts screen (as shown in FIG. 3 d ) is driven from a table such as that described in FIG. 5 h . The table allows for the alert screen to be quickly built, and for summaries of alerts to be provided on the staff page and home/myself page for the manager.  
         [0145]    The alert name is used for display purposes. The ID is used internally to allow for alerts to be referenced. The type is used in categorizing the alerts into the three categories displayed to the user, and in processing; for example, “eventonce” alerts are completely deleted from the employee events section of the personal profile once they are reset, and “eventrecur” alerts are set to reoccur on the next calendar year. The auto reset determines whether or not the user is provided with a reset button; in the example in FIG. 3 d , the user can reset the active alert for the Service Anniversary, but not the deferred alert for an overdue vacation.  
         [0146]    The “status value” shows the current status of the alert; the “status units” show how that is displayed; a special entry, “days delta” indicates that the display depends on whether the status value is positive or negative. In the example FIG. 3 d , the “Upcoming Vacation”, “Birthday”, “Short Term Leave” and “Objectives Due” alerts are all indicating a negative value, which is translated by the invention to “days before”. A positive value is shown for “Service Anniversary”, which represents and is displayed as “days after”. A zero value represents and would be displayed as “days”. The same logic is applied in the trigger units display, allowing for the alert to be triggered before or after an event.  
         [0147]    The “status” field indicates whether an alert is currently set, or deferred, or neither. If set, an alert is displayed in red on the alerts page, and if any alert is set, in red on the staff page. If deferred, an alert is displayed in boldface on the alerts page, and in boldface on the staff page. Only set alerts are described on the manager&#39;s “home/myself” page, shown in FIG. 3 b.    
         [0148]    If an alert is deferred, the “deferred on date” and “deferred to date” are used to keep track of when the alert should be returned to the “set” status.  
         [0149]    The “reset date” is used when a manual reset is performed by the manager on one of the “issue” type alerts. This is used when calculating that alert; instead of using the number of days in the alert trigger window, only those days between the reset date and the current date are used. This allows a manager who has seen an issue and expects it to resolve to reset the alert, yet be alerted if the condition reoccurs. The trigger value and trigger units are used in calculating alerts and in the alerts screen display. Trigger values and trigger units can be adjusted by the manager through a user interface, as can whether each of the system-provided alerts are used or not, as controlled by “Alert Enabled”.  
         [0150]    Unused alerts, e.g. alert ids  11 - 13 , are not shown in the display. Alert id&#39;s  10 - 13  are used for user-defined Employee Event alerts, and only one has been defined for this employee, leaving alert ids  11 - 13  unused.  
         [0151]    To this point, discussion of the invention has focussed on the accessing by one user (e.g. manager) of one user&#39;s (e.g. a subordinate employee) data. It will be apparent to that it would be advantageous to perform certain tasks simultaneously for a plurality of users.  
         [0152]    For example, a manager might wish to create the same discussion topic for more than one person; or the same agenda item, or the same set of objectives.  
         [0153]    In each case, the manager simply selects the set of employees for which the addition is to be made and defines or otherwise identifies the object to be added. At this point the invention merely adds the same record to the portions of the database associated with each of the selected individuals. This can be done both simply (as copies), or by reference. In the former case, each of the copies must be managed individually; in the latter, means and methods can be provided to allow the referenced item to be managed directly, with changes being reflected within the views of the referenced object relevant to each of the selected users.  
         [0154]    It will also be apparent that for some purposes it may be advantageous to extract and present the data of multiple employees simultaneously. In most cases, this would be done as a management report. The invention&#39;s architecture permits an almost infinite variety of such reports; some examples are as follows:  
         [0155]    [0155]FIG. 8 a  illustrates a directory report, wherein the contact information of a number of employees is collated for reference, facilitating contacting employees when the manager cannot access the invention.  
         [0156]    [0156]FIG. 8 b  illustrates a family info report, wherein the family information of a number of employees is collated for reference. Such information may, for example, be advantageously used when attending a social event.  
         [0157]    [0157]FIG. 8 c  illustrates a vacation planning report, wherein both historical and future vacation information from a number of employees&#39; calendars is collated. Simple analysis is also performed on the data, allowing the invention to highlight situations which should be drawn to the attention of the user, i.e. circumstances in which employees are overdue taking a vacation, and circumstances in which multiple employees have scheduled vacations for the same time period.  
         [0158]    [0158]FIG. 8 d  illustrates a vacation analysis report, wherein historical vacation information from a number of employees&#39; calendars is collated. Simple analysis is also performed on the data, allowing the invention to highlight situations which should be drawn to the attention of the user, i.e. circumstances in which employees are overdue taking a vacation.  
         [0159]    [0159]FIG. 8 e  illustrates an absence analysis report, wherein historical absence information from a number of employees calendars is collated. Simple analysis is also performed on the data, allowing the invention to highlight situations which should be drawn to the attention of the user, i.e. circumstances in which absences are unexpectedly frequent. This format of report allows for absence patterns to be detected as well.  
         [0160]    [0160]FIGS. 3, 4, and  7  describe an exemplary user interface for the invention, as implemented in a typical web-based environment, showing traditional web-based navigation tools and data entry tools. Clearly many other user interface alternatives exist and may be more appropriate as web technology matures or in the event that a client-server architecture is implemented.  
         [0161]    [0161]FIG. 8 describes exemplary report formats for the invention, as implemented in a standard Portable Document Format. Clearly many other report formats exist.  
         [0162]    Some or all of the functions offered in a web-based environment can be advantageously offered on smaller devices (such as a Personal Digital Assistant, e.g. the Palm PDA made by Palm Computing Incorporated), or on portable pen-based computers. This would permit the user/manager, or employee, to access and modify data when away from their usual work location, increasing the utility and availability of the invention.  
         [0163]    Those skilled in the art will understand that a variety of modifications may be made to the preferred embodiments without departing from the spirit of the invention.