Abstract:
A method of and system for providing enhanced user control of computer chat minimize a chat window in response to user input and then restore the chat window in response to receipt of a message from a sender, in which the message has a predetermined characteristic. The user input may include activation of an intelligent or smart minimize function. An example of a predetermined characteristic that may cause the chat window to be restored in the intelligent minimized mode is the presence of the user&#39;s name in a chat message. Other examples of predetermined characteristics that may cause the chat window to be restored include the text of the message being in a bold font or otherwise marked as being urgent, the sender of the message being on an exception list or occupying a management position with respect to the recipient. Embodiments may include a shout function by which a sender can override the intelligent mode. Embodiments include informing the other chat participants when a participant is in intelligent minimize mode.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Technical Field 
         [0002]    The present invention relates generally to the field of computer chat, and more particularly to a method of and system for providing an intelligent minimize chat function. 
         [0003]    2. Description of the Related Art 
         [0004]    Computer chat and instant messaging have become popular means of communication both in the workplace and in individual personal computing. Chat sessions are implemented with chat clients installed on networked computers. A chat client displays a window on a user&#39;s desktop. Chat messages from others are displayed in the window and the user can send a message to others by typing the message into the window. 
         [0005]    Typically, whenever a message is received during the chat session, the chat window is surfaced on the user&#39;s desktop and it becomes the user&#39;s focus. Thus, if the user is working on another application window when a chat message arrives, the user&#39;s attention is diverted away from the other application window and the chat window becomes the active window on the user&#39;s desktop. In some chat systems, there is a setting that prevents a minimized window from popping to the top of the stack on the users desktop when a new message arrives. In those systems, the receipt of a new message is indicated by a blinking icon or the like. The user can look to see if the new message is of interest, but in doing so the user must divert attention from the current focus. 
         [0006]    Currently, a user can enter a do not disturb (DND) mode in which incoming chat messages are not received. However, the current DND mode may be overly restrictive. For example, a user can send chat messages while the user is in DND mode. The user intends to communicate with the recipient of the chat message but does not want to be bothered with messages from others. The current DND mode prevents messages from being received even from the sender with whom the user wants to communicate. Additionally, a user may wish to participate to a limited extent in a chat session without having the chat session be the constant focus of his or her attention. For example, the user may wish to do other work during the chat session but be able to respond or comment when his or her input is needed. The currently existing chat settings do not provide that ability. 
       SUMMARY OF THE INVENTION 
       [0007]    The present invention provides a method of and system for providing enhanced user control of computer chat. Embodiments of the method of the present invention minimize a chat window in response to user input and then restore the chat window in response to receipt of a message from a sender, in which the message has a predetermined characteristic. In some embodiments of the present invention, the user input may include activation of an intelligent or smart minimize function. An example of a predetermined characteristic that may cause the chat window to be restored in the intelligent minimized mode is the presence of the user&#39;s name in a chat message. Other examples of predetermined characteristics that may cause the chat window to be restored include the text of the message being in a bold font or otherwise marked as being urgent, the sender of the message being on an exception list or occupying a management position with respect to the recipient. Embodiments of the invention may include a shout function by which a sender can override the intelligent mode. Embodiments of the invention may include means for informing the other chat participants when a participant is in intelligent minimize mode. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0008]    The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further purposes and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, where: 
           [0009]      FIG. 1  is a block diagram of an embodiment of a system according to the present invention; 
           [0010]      FIG. 2  illustrates a chat window; 
           [0011]      FIG. 3  is a flow chart of an embodiment of chat processing according to the present invention; 
           [0012]      FIG. 4  is a flow chart of an embodiment of smart minimize message processing of  FIG. 3 ; and, 
           [0013]      FIG. 5  is a block diagram of an information handling system adapted to embody systems and methods according to the present invention. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
       [0014]    Referring now to the drawings, and first  FIG. 1 , a system according to the present invention is designated generally by the numeral  100 . System  100  includes a plurality of user computers  101 . A user computer  101  may be a personal computer, a notebook computer, a workstation, a personal digital assistant or other mobile, or any other computing device. Each user computer  101  includes a chat client  103 . Chat client  103  may be any of several well-known chat clients. Each user computer  101  is coupled to a network, indicated generally at  105 . Network  105  may be any type of network, such as a local area network, a wide area network, the Internet, etc. 
         [0015]      FIG. 2  illustrates a chat window  201  according to an embodiment of the present invention. Chat window  201  is displayed on a computer display in a manner well-known to those skilled in the art. Chat window  201  includes a title bar  203 . Title bar  203  identifies the user of the computer as “Bill.” Chat window  201  includes the standard graphical user interface buttons, including a close button  205 , a maximize button  207 , a minimize button  209 , and a send button  211 . In addition, according to embodiments of the present invention, window  201  includes a smart or intelligent minimize button  213 . As will be explained in detail hereinafter, actuation of smart minimize button  213  causes the user to enter a smart minimized mode. In the smart minimized mode, the chat window  201  is minimized but it can be automatically restored upon receipt of messages satisfying certain conditions. Chat window  201  includes a shout button  215 , which causes a chat message to be sent in a manner similar to send button  211 . However, actuation of shout button overrides any intelligent minimized modes that chat participants may have set. Chat window  201  includes a text field  217 , which contains the content of the chat session. Chat window  201  also may include a smart minimize status area  219 . Smart minimize status area  219  identifies chat participants who are in smart minimized mode. Alternatively, a chat participant&#39;s smart minimized status may be indicated in other ways, such as by highlighting that participant&#39;s name in content field  217 . 
         [0016]      FIG. 3  is a flow chart of chat processing according to an embodiment of the present invention. A chat client starts a chat session and opens a chat window, as indicated at block  301 . After starting the chat session and opening the chat window, the chat client waits for user input or the receipt of a message. If, as determined at decision block  303 , the user actuates smart minimize button  213  of  FIG. 2 , the chat client minimizes or hides the chat window on the user&#39;s desktop and turns smart minimize on, as indicated at block  305 . When the chat window is minimized it is not visible; however, the chat instance is still active and it can receive chat messages. After minimizing the chat window and turning on smart minimize, the chat client determines, at decision block  307 , if notify is on. The user may configure the chat client to notify other chart participants when his or her smart minimize is on. Some chat participants may find it offensive to use smart minimize. Accordingly, users may not want others to know they are in smart minimize mode. If, as determined at decision block  307 , notify is on, the char client sends a smart minimized notification to the other participants, at block  309 , returns to decision block  303 . 
         [0017]    Referring still to  FIG. 3 , if, as determined at decision block  311 , a message is received, the chat client enters the message into the chat window, as indicated at block  313 . The message is entered into the chat window whether or not the chat window is hidden or minimized. If the chat window is restored, all messages received while the chat window was hidden or minimized will be displayed. The chat client determines, at decision block  315 , if smart minimizes on. If so, the chat client performs smart minimize message processing, as indicated generally at block  317 , and shown in detail in  FIG. 4 . 
         [0018]    Referring still to  FIG. 3 , if, as determined at decision block  319 , the chat client receives a smart minimize notification, the chat client displays a smart minimize indicator in association with the sender, as indicated at block  321 . A smart minimize indicator may include displaying the sender&#39;s name in smart minimize status area  219  of  FIG. 2 . Embodiments of the invention may provide other indicators, such as highlighting the sender&#39;s name in chat area  217  of  FIG. 2 . 
         [0019]    During the chat session, the chat client may perform other processing, indicated generally at block  323 . Examples of other processing include normal minimizing, moving, and resizing the chat window, and other well-known operations. If, as determined at decision block  325 , the user exits the chat session, the chat client closes the chat window and closes the chat session, as indicated at block  327 , and processing ends. 
         [0020]      FIG. 4  is a flow chart of smart minimize message processing, which was indicated generally at block  317  of  FIG. 3 . Smart minimize message processing is performed when the chat client receives a message and smart minimize is on. The chat client determines, at decision block  401 , if the sender of the message is on an exception list. An exception list is created by the user so that the user will be aware whenever he or she receives a message from a person listed on the exception list. Examples of people that would be listed on an exception list include managers, family members, and close friends. An exception list may be created automatically to include all persons in a management chain above the user. If, as determined at decision block  401 , the sender of the message is on an exception list, the chat client restores the chat window, alerts the user, and turns smart minimize off for this sender, as indicated at block  403 . The chat window is thus surfaced on the desktop at the top of the Z-order. The chat client may alert the user by sounding an audible tone. The chat client according to embodiments of the present invention is adapted to search incoming messages for the name of the user. If, as determined at decision block  405 , the user&#39;s name appears and the incoming message, the chat client restores the chat client and turns smart minimize off for this message, as indicated at block  403 . Thus, the user is able to ignore the chat session until he or she is specifically invited to comment or respond, as illustrated in  FIG. 2 . 
         [0021]    Embodiments of the present invention may override the smart minimize mode when a message contains urgency indicia. For example, if, as determined at decision block  407 , the message is in bold text, which is the chat equivalent of shouting, the chat client restores the chat window, alerts the user and turns off smart minimize, at block  403 . Other urgency indicia may include all caps, underlined text, italic text, colored text, etc. Embodiments of the present invention may include shout function that explicitly overrides the smart minimize mode. If, as determined at decision block  409 , the message was sent using shout button  215  of  FIG. 2 , the chat client restores the chat window, alerts the user and turns off smart minimize, at block  403 . 
         [0022]    Referring now to  FIG. 5 , there is illustrated a block diagram of a generic information handling system  500  capable of performing the server and client operations described herein. Computer system  500  includes processor  501  which is coupled to host bus  503 . Processor  501  preferably includes an onboard cache memory. A level two (L2) cache memory  505  is also coupled to host bus  503 . A Host-to-PCI bridge  507  is coupled to host bus  503 . Host-to-PCI bridge  507 , which is coupled to main memory  509 , includes its own cache memory and main memory control functions. Host-to-PCI bridge  507  provides bus control to handle transfers among a PCI bus  511 , processor  501 , L2 cache  505 , main memory  509 , and host bus  503 . PCI bus  511  provides an interface for a variety of devices including, for example, a local area network (LAN) card  513 , a PCI-to-ISA bridge  515 , which provides bus control to handle transfers between PCI bus  511  and an ISA bus  517 , a universal serial bus (USB)  519 , and an IDE device  521 . PCI-to-ISA bridge  515  also includes onboard power management functionality. PCI-to-ISA bridge  515  can include other functional elements not shown, such as a real-time clock (RTC), DMA control, interrupt support, and system management bus support. 
         [0023]    Peripheral devices and input/output (I/O) devices can be attached to various interfaces or ports coupled to ISA bus  517 . Such interfaces or ports may include a parallel port  523 , a serial port  525 , an infrared (IR) interface  527 , a keyboard interface  529 , a mouse interface  531 , and a hard disk drive (HDD)  533 . 
         [0024]    A BIOS  535  is coupled to ISA bus  517 . BIOS  535  incorporates the necessary processor executable code for a variety of low-level system functions and system boot functions. BIOS  535  can be stored in any computer readable medium, including magnetic storage media, optical storage media, flash memory, random access memory, read only memory, and communications media conveying signals encoding the instructions (e.g., signals from a network). In order to couple computer system  500  to another computer system to copy files or send and receive messages over a network, LAN card  513  may be coupled to PCI bus  511 . Similarly, a Fibre Channel card may be coupled to PCI bus  513 . Additionally, a modem  539  may be coupled to ISA bus  517  through serial port  525  to support dial-up connections. 
         [0025]    While the computer system described in  FIG. 5  is capable of executing the invention described herein, the illustrated system is simply one example of a computer system. Those skilled in the art will appreciate that many other computer system designs are capable of performing the invention described herein. 
         [0026]    One of the preferred implementations of the invention is an application, namely, a set of instructions (program code) in a code module that may, for example, be in the random access memory of the computer. Until required by the computer, the set of instructions may be stored in another computer memory, for example, on a hard disk drive, or in removable storage such as an optical disk (for eventual use in a CD ROM) or floppy disk (for eventual use in a floppy disk drive), or downloaded via the Internet or other computer network. Thus, the present invention may be implemented as a computer program product for use in a computer. In addition, although the various methods described are conveniently implemented in a general purpose computer selectively activated or reconfigured by software, one of ordinary skill in the art would also recognize that such methods may be carried out in hardware, in firmware, or in more specialized apparatus constructed to perform the required method steps. 
         [0027]    From the foregoing, it will be apparent to those skilled in the art that systems and methods according to the present invention are well adapted to overcome the shortcomings of the prior art. While the present invention has been described with reference to presently preferred embodiments, those skilled in the art, given the benefit of the foregoing description, will recognize alternative embodiments. Accordingly, the foregoing description is intended for purposes of illustration and not of limitation.