Abstract:
A telecommunications device permits a user to perform several communication related tasks concurrently. The telecommunications device includes a user input device, a display having a tools portion and a windows portion, and a processing element. The processing element includes an element configured to represent the communication related tasks as objects in the tools portion, an element configured to launch different ones of the communication related tasks based upon selection of corresponding ones of the communication related task objects by the user via the user input device, and an element configured to change the window portion based on the user selection without changing the tools portion.

Description:
RELATED APPLICATIONS 
     This application is related to U.S. patent application, Ser. No. 08/841,485 entitled ELECTRONIC BUSINESS CARDS; U.S. patent application, Ser. No. 08/841,486, entitled SCROLLING WITH AUTOMATIC COMPRESSION AND EXPANSION; U.S. patent application, Ser. No. 08/842,019, entitled CLID WITH LOCATION ICON; U.S. patent application, Ser. No. 08/842,017, entitled CLID WITH DRAG AND DROP CAPABILITY; U.S. patent application, Ser. No. 08/842,020 entitled INTEGRATED MESSAGE CENTER; and U.S. patent application, Ser. No 08/842,021, entitled ICONIZED NAME LIST, all of which were filed concurrently herewith, and all of which are hereby incorporated by reference. 
    
    
     BACKGROUND OF THE INVENTION 
     This invention relates generally to the field of telecommunications equipment, and more specifically to the field of a multitasking graphical user interface for a telecommunications equipment that facilitates multiple communication related tasks to occur simultaneously while allowing a user to switch from task to task with ease. 
     Traditional communication systems, such as wireline telephones, cellular telephones, and personal digital assistants (PDAs), required a user to halt one communication-related task before proceeding to the next one. Although some of these communication systems offered limited multitasking by permitting voice communication concurrently with another communication related task, this operation prevented efficient multitasking by requiring that one of the communication related tasks be voice communication. 
     Another limitation of traditional cellular telephones that prevents efficient multitasking is the limited size of their displays and the use of text based and menu driven user interfaces. The inclusion of soft keys and scrolling lists have been insufficient to simplify user interaction to allow for efficient multitasking. 
     One conventional telephone uses menus to enable a user to interact with the system. Separate, distinct applications handle each type of communication task. For example, a fax application processes incoming and outgoing faxes, a Short Messaging Service (SMS) application handles incoming and outgoing short messages, and a telephone application handles incoming and outgoing voice calls. The telephone provides hard keys to enable the user to toggle between applications. 
     This type of telephone, however, suffers from a number of drawbacks. First, when a user presses one of the application hard keys, the corresponding application display completely overwrites the display, burying any opened application display. This technique does not allow the user to monitor the status of other opened applications, nor does it permit the user to see the interaction between applications. 
     Additionally, message handling is cumbersome because these telephones are menu driven and contain separate applications for different message types. To perform different types of communication tasks, the user must follow a series of menus that causes specific applications to be executed. 
     Therefore, a need exists to permit easy access to different communication tasks in a minimal number of steps while permitting the user to monitor the status of and toggle between communication tasks with ease. 
     SUMMARY OF THE INVENTION 
     Systems and methods consistent with the present invention address this need by providing a multitasking graphical user interface that gives a user quick access to all major communication tools so as to accomplish communication tasks in a minimal number of steps. 
     In accordance with the purpose of the invention as embodied and broadly described herein, the multitasking graphical user interface consistent with the principles of the present invention includes a telecommunications device that permits a user to perform several communication related tasks concurrently. The telecommunications device includes a user input device, a display having a tools portion and a windows portion, and a processing element. The processing element includes an element configured to represent the communication related tasks as objects in the tools portion, an element configured to launch different ones of the communication related tasks based upon selection of corresponding ones of the communication related task objects by the user via the user input device, and an element configured to change the window portion based on the user selection without changing the tools portion. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate systems and methods consistent with this invention and, together with the description, explain the objects, advantages and principles of the invention. In the drawings, 
     FIG. 1 is a block diagram of a communications network operating in conjunction with the multitasking graphical user interface consistent with the present invention; 
     FIG. 2 is a diagram of a user mobile telephone operating in the network of FIG. 1; 
     FIG. 3 is a block diagram of the elements included in the user mobile telephone of FIG. 2; 
     FIG. 4 is a block diagram of the software components stored in the flash ROM of FIG. 3; 
     FIG. 5 is a block diagram of the graphical user interface manager of FIG. 4; 
     FIG. 6 is a block diagram demonstrating the information flow handled by the graphical user interface manager; 
     FIG. 7 is a multitasking graphical user interface display; and 
     FIGS. 8A through 8E are sample screens when operating a method consistent with the present invention. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     The following detailed description of the invention refers to the accompanying drawings that illustrate preferred embodiments consistent with the principles of this invention. Other embodiments are possible and changes may be made to the embodiments without departing from the spirit and scope of the invention. The following detailed description does not limit the invention. Instead, the scope of the invention is defined only by the appended claims. 
     The multitasking graphical user interface consistent with the principles of the present invention provides a user with quick access to all major communication tools from all main functional areas so as to accomplish communication tasks in a minimal number of steps. 
     I. System Architecture 
     FIG. 1 is a block diagram of a communications network containing mobile telephone  1100  having the multitasking graphical user interface consistent with the present invention. A user communicates with a variety of communication equipment, including external servers and databases, such as network services provider  1200 , using mobile telephone  1100 . 
     The user also uses mobile telephone  1100  to communicate with callers having different types of communication equipment, such as ordinary telephone  1300 , caller mobile telephone  1400  which is similar to user mobile telephone  1100 , facsimile equipment  1500 , computer  1600 , and Analog Display Services Interface (ADSI) telephone  1700 . The user communicates with network services provider  1200  and caller communication equipment  1300  through  1700  over a communications network, such as Global System for Mobile Communications (GSM) switching fabric  1800 . 
     While FIG. 1 shows caller communication equipment  1300  through  1700  directly connected to GSM switching fabric  1800 , this is not typically the case. Telephone  1300 , facsimile equipment  1500 , computer  1600 , and ADSI telephone  1700  normally connect to GSM switching fabric  1800  via another type of network, such as a Public Switched Telephone Network (PSTN). 
     The user communicates with a caller or network services provider  1200  by establishing either a voice call, a data call, or by sending an SMS message. GSM networks provide an error-free, guaranteed delivery transport mechanism by which callers can send short point-to-point messages, i.e., SMS messages, through the GSM network, such as GSM switching fabric  1800 , in a GSM signaling channel, simultaneously with, or without, a voice or data call. 
     GSM protocol limits the length of SMS messages to a maximum of 140 bytes in length. However, GSM protocol permits longer messages to be formed by concatenating several messages together, transparent to the caller. Because GSM protocol transparently performs this concatenating of messages, the caller sees no restriction on message length. 
     Mobile telephone  1100  provides a user friendly interface to facilitate incoming and outgoing communication by the user. FIG. 2 is a diagram of mobile telephone  1100  that operates in the network shown in FIG.  1 . Mobile telephone  1100  includes main housing  2100 , antenna  2200 , keypad  2300 , and display  2400 . 
     FIG. 3 is a block diagram of the hardware elements in mobile telephone  1100 , including antenna  3100 , communications module  3200 , feature processor  3300 , memory  3400 , sliding keypad  3500 , analog controller  3600 , display module  3700 , battery pack  3800 , and switching power supply  3900 . 
     Antenna  3100  transmits and receives radio frequency information for mobile telephone  1100 . Antenna  3100  preferably comprises a planar inverted F antenna (PIFA)-type or a short stub (2 to 4 cm) custom helix antenna. Antenna  3100  communicates over GSM switching fabric  1800  using a conventional voice B-channel, data B-channel, or GSM signaling channel connection. 
     Communications module  3200  connects to antenna  3100  and provides the GSM radio, baseband, and audio functionality for mobile telephone  1100 . Communications module  3200  includes GSM radio  3210 , VEGA  3230 , BOCK  3250 , and audio transducers  3270 . 
     GSM radio  3210  converts the radio frequency information to/from the antenna into analog baseband information for presentation to VEGA  3230 . VEGA  3230  is preferably a Texas Instruments VEGA device, containing analog-to-digital (A/D)/digital-to-analog (D/A) conversion units  3235 . VEGA  3230  converts the analog baseband information from GSM radio  3210  to digital information for presentation to BOCK  3250 . 
     BOCK  3250  is preferably a Texas Instruments BOCK device containing a conventional ARM microprocessor and a conventional LEAD DSP device. BOCK  3250  performs GSM baseband processing for generating digital audio signals and supporting GSM protocols. BOCK  3250  supplies the digital audio signals to VEGA  3230  for digital-to-analog conversion. VEGA  3230  applies the analog audio signals to audio transducers  3270 . Audio transducers  3270  include speaker  3272  and microphone  3274  to facilitate audio communication by the user. 
     Feature processor  3300  provides graphical user interface features and a Java Virtual Machine (JVM). Feature processor  3300  communicates with BOCK  3250  using high level messaging over an asynchronous (UART) data link. Feature processor  3300  contains additional system circuitry, such as a liquid crystal display (LCD) controller, timers, UART and bus interfaces, and real time clock and system clock generators (not shown). 
     Memory  3400  stores data and program code used by feature processor  3300 . Memory  3400  includes static RAM  3420  and flash ROM  3440 . Static RAM  3420  is a volatile memory that stores data and other information used by feature processor  3300 . Flash ROM  3440 , on the other hand, is a non-volatile memory that stores the program code and directories utilized by feature processor  3300 . 
     Sliding keypad  3500  enables the user to dial a telephone number, access remote databases and servers, and manipulate the graphical user interface features. Sliding keypad  3500  preferably includes a mylar resistive key matrix that generates analog resistive voltage in response to actions by the user. Sliding keypad  3500  preferably connects to main housing  2100  (FIG. 2) of mobile telephone  1100  through two mechanical “push pin”-type contacts. 
     Analog controller  3600  is preferably a Phillips UCB1100 device that acts as an interface between feature processor  3300  and sliding keypad  3500 . Analog controller  3600  converts the analog resistive voltage from sliding keypad  3500  to digital signals for presentation to feature processor  3300 . 
     Display module  3700  is preferably a 160 by 320 pixel LCD with an analog touch screen overlay and an electroluminescent backlight. Display module  3700  operates in conjunction with feature processor  3300  to display the graphical user interface features. 
     Battery pack  3800  is preferably a single lithium-ion battery with active protection circuitry. Switching power supply  3900  ensures highly efficient use of the lithium-ion battery power by converting the voltage of the lithium-ion battery into stable voltages used by the other hardware elements of mobile telephone  1100 . 
     FIG. 4 is a block diagram of the software components of flash ROM  3440 , including graphical user interface (GUI) manager  4100 , user applications  4200 , service classes  4300 , Java environment  4400 , real time operating system (RTOS) utilities  4500 , and device drivers  4600 . 
     GUI manager  4100  acts as an application and window manager. GUI manager  4100  oversees the user interface by allowing the user to select, run, and otherwise manage applications. 
     User applications  4200  contain all the user-visible applications and network service applications. User applications  4200  preferably include a call processing application for processing incoming and outgoing voice calls, a message processing application for sending and receiving short messages, a directory management application for managing database entries in the form of directories, a web browser application, and other various applications. 
     Service classes  4300  provide a generic set of application programming facilities shared by user applications  4200 . Service classes  4300  preferably include various utilities and components, such as a Java telephony application interface, a voice and data manager, directory services, voice mail components, text/ink note components, e-mail components, fax components, network services management, and other miscellaneous components and utilities. 
     Java environment  4400  preferably includes a JVM and the necessary run-time libraries for executing applications written in the Java™ programming language. 
     RTOS utilities  4500  provide real time tasks, low level interfaces, and native implementations to support Java environment  4400 . RTOS utilities  4500  preferably include Java peers, such as networking peers and Java telephony peers, optimized engines requiring detailed real time control and high performance, such as recognition engines and speech processing, and standard utilities, such as protocol stacks, memory managers, and database packages. 
     Device drivers  4600  provide access to the hardware elements of mobile telephone  1100 . Device drivers  4600  include, for example, drivers for sliding keypad  3500  and display module  3700 . 
     Feature processor  3300  executes the program code of flash ROM  3440  to provide the user friendly interface. GUI manager  4100  controls the user friendly interface to provide a multitasking environment. FIG. 5 is a block diagram of GUI manager  4100 , including system manager  5100 , configuration manager  5200 , and applications manager  5300 . 
     System manager  5100  acts as a top level manager. System manager  5100  controls system startup, including the boot-up sequence and persistent object instantiations, sanity checks, global error/exception handling, and global utility functions, such as power and audio management. 
     Configuration manager  5200  handles the data management for the system. Configuration manager  5200  processes the user preference data, directories, and saved user applications, pages, and applets. Configuration manager  5200  performs cache management, backup and restore operations, and version control. 
     Applications manager  5300  manages user applications  4200 . Applications manager  5300  handles the starting and stopping of user visible applications, display access, and window management. Applications manager  5300  provides a common application framework, application and applet security, and class management. 
     System manager  5100 , configuration manager  5200 , and applications manager  5300  work together within the framework of GUI manager  4100  to provide the multitasking environment to allow the user to select, run, and manage user applications  4200  concurrently. GUI manager  4100  provides a graphical user interface on display  2400  (FIG. 2) from which the user can choose a user application to run. 
     II. System Processing 
     FIG. 6 is a block diagram demonstrating how the information flow might be handled by GUI manager  4100 . GUI manager  4100  provides Toolbar/Selector  6100  from which the user chooses a user application to run. Application list  6200 , managed by configuration manager  5200 , contains a list of the user applications. Configuration manager  5200  stores an application record  6300  for each user application in application list  6200 . Application record  6300  stores various descriptive information regarding the user application, including name, icon, version, type, state, and reference data. 
     When the user selects a user application to run, such as application  6400 , GUI manager  4100  passes exclusive control of application window  6500  and other user interface resources to application  6400 . GUI manager  4100  continues to manage application  6400  to suspend, resume, or stop it in response to user commands or another higher priority running application. 
     By virtue of such an arrangement, mobile telephone  1100  provides a multitasking graphical user interface to the user. FIG. 7 is a GUI display by which GUI manager  4100  presents the major communication tasks, such as voice calls, SMS notes, business cards, and voice mail messages, as objects. The user can act on these objects in any order. For example, the GUI manager  4100  allows the user to initiate or maintain a voice call while composing or sending an SMS note to the called party or a third party, or while receiving or replying to an SMS note from the called party or a third party. 
     FIG. 7 is an example of a GUI display where GUI manager  4100  provides the user with access to the major communication task objects from all main functional areas. The major communication task objects provided by GUI manager  4100  preferably include telephone icons  7100  and  7200 , message center icon  7300 , Note Pad button  7400 , Quick Notes button  7500 , and Name List button  7600 . 
     By simply pressing one of the major communication task objects while the user maintains a voice call with a called party, as evidenced by off-hook telephone icon  7100 , the user can: (1) compose an SMS note by pressing Note Pad button  7400  or by simply touching note area  7700 ; (2) place a second call by pressing on-hook telephone icon  7200 , terminating the call or putting the call with the called party on hold, and then placing the second call; (3) receive and answer a second call by pressing on-hook telephone icon  7200 , terminating the call with the called party or putting the call with the called party on hold, and then answering the second call; (4) view information regarding received voice mail, faxes, SMS messages, etc., by pressing message center icon  7300 ; (5) edit or send a previously stored SMS note by pressing Quick Notes  7500 ; or (6) access a list of names stored as business cards by pressing Name List button  7600 . GUI manager  4100  provides the user with similar options while the user composes and sends an SMS note. 
     In addition to these features, GUI manager  4100  performs many activities transparent to the user, while the user maintains a voice call or composes an SMS note. Some of these activities include automatically capturing and storing calling line identification (CLID) data or unstructured supplementary service data (USSD) in business cards. Other activities include the non-exclusive notification of incoming communication to allow the user to evaluate the impact of an action on the current activity, that is, whether to continue the current activity and ignore the incoming communication, terminate the current activity and accept the incoming communication, or continue the current activity and accept the incoming communication. 
     FIGS. 8A through 8E are sample displays shown when the user sends an SMS note to a called party while maintaining a voice call with the called party. FIG. 8A shows the user engaged in a voice call with the called party. In FIG. 8B, the user either presses Note Pad button  7400  or touches note area  7700 , thereby automatically setting up an SMS note pre-addressed to the called party. At this point, the user can construct the SMS note. The SMS note may be one of three types: an SMS text message, an SMS ink message, or an SMS text message with hypertext markup language (HTML) code. 
     FIG. 8C shows the case in which the user composes an SMS ink message. At any time before sending the SMS note, the user can change its destination address from the address of the called party to an address of a third party. To address the note to the third party, the user either presses Name List  8100 , which displays the stored business cards from which the user can select the recipient, presses the called party&#39;s name  8200 , which also displays the stored business cards, or presses the telephone number  8300 , which brings up a cursor to allow the user to change the telephone number of the recipient. 
     Once the user constructs the SMS note and selects the proper destination address, the user presses the Send button. FIG. 8D shows display  2400  after the user presses the Send button to transmit the SMS note. FIG. 8E shows that once the SMS note has been sent, message center icon  7300  requests whether the SMS note should be saved. The user can save the SMS note by pressing the Yes button. Once the user makes a decision whether to save the SMS note, display  2400  returns to that shown in FIG.  8 A. 
     III. Conclusion 
     The multitasking graphical user interface consistent with the principles of the present invention provides a simple interaction model by which a user can select and operate multiple communication tasks concurrently. 
     The foregoing description of preferred embodiments of the present invention provides illustration and description, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention. For example, a mobile telephone has been described as providing the multitasking graphical user interface. However, this need not be the case. The multitasking graphical user interface could be provided by a desk-top type unit or a personal computer. 
     Additionally, the foregoing description detailed specific graphical user interface displays, containing various graphical icons and buttons. These displays have been provided as examples only. The foregoing description encompasses obvious modifications to the described graphical user interface displays. The scope of the invention is defined by the claims and their equivalents.