Multitasking graphical user interface

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.

RELATED APPLICATIONS

This application is related to U.S. patent application, Ser. No. 08/841,485; entitled ELECTRONIC BUSINESS CARDS; U.S. patent application, 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,107, 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,036, 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.

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.

FIG. 1is a block diagram of a communications network containing mobile telephone1100having 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 provider1200, using mobile telephone1100.

The user also uses mobile telephone1100to communicate with callers having different types of communication equipment, such as ordinary telephone1300, caller mobile telephone1400which is similar to user mobile telephone1100, facsimile equipment1500, computer1600, and Analog Display Services Interface (ADSI) telephone1700. The user communicates with network services provider1200and caller communication equipment1300through1700over a communications network, such as Global System for Mobile Communications (GSM) switching fabric1800.

WhileFIG. 1shows caller communication equipment1300through1700directly connected to GSM switching fabric1800, this is not typically the case. Telephone1300, facsimile equipment1500, computer1600, and ADSI telephone1700normally connect to GSM switching fabric1800via another type of network, such as a Public Switched Telephone Network (PSTN).

The user communicates with a caller or network services provider1200by 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 fabric1800, 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 telephone1100provides a user friendly interface to facilitate incoming and outgoing communication by the user.FIG. 2is a diagram of mobile telephone1100that operates in the network shown inFIG. 1. Mobile telephone1100includes main housing2100, antenna2200, keypad2300, and display2400.

FIG. 3is a block diagram of the hardware elements in mobile telephone1100, including antenna3100, communications module3200, feature processor3300, memory3400, sliding keypad3500, analog controller3600, display module3700, battery pack3800, and switching power supply3900.

Antenna3100transmits and receives radio frequency information for mobile telephone1100. Antenna3100preferably comprises a planar inverted F antenna (PIFA)-type or a short stub—(2 to 4 cm) custom helix antenna. Antenna3100communicates over GSM switching fabric1800using a conventional voice B-channel, data B-channel, or GSM signaling channel connection.

Communications module3200connects to antenna3100and provides the GSM radio, baseband, and audio functionality for mobile telephone1100. Communications module3200includes GSM radio3210, VEGA3230, BOCK3250, and audio transducers3270.

GSM radio3210converts the radio frequency information to/from the antenna into analog baseband information for presentation to VEGA3230. VEGA3230is preferably a Texas Instruments VEGA device, containing analog-to-digital (A/D)/digital-to-analog (D/A) conversion units3235. VEGA3230converts the analog baseband information from GSM radio3210to digital information for presentation to BOCK3250.

BOCK3250is preferably a Texas Instruments BOCK device containing a conventional ARM microprocessor and a conventional LEAD DSP device. BOCK3250performs GSM baseband processing for generating digital audio signals and supporting GSM protocols. BOCK3250supplies the digital audio signals to VEGA3230for digital-to-analog conversion. VEGA3230applies the analog audio signals to audio transducers3270. Audio transducers3270include speaker3272and microphone3274to facilitate audio communication by the user.

Feature processor3300provides graphical user interface features and a Java Virtual Machine (JVM). Feature processor3300communicates with BOCK3250using high level messaging over an asynchronous (UART) data link. Feature processor3300contains 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).

Memory3400stores data and program code used by feature processor3300. Memory3400includes static RAM3420and flash ROM3440. Static RAM3420is a volatile memory that stores data and other information used by feature processor3300. Flash ROM3440, on the other hand, is a non-volatile memory that stores the program code and directories utilized by feature processor3300.

Sliding keypad3500enables the user to dial a telephone number, access remote databases and servers, and manipulate the graphical user interface features. Sliding keypad3500preferably includes a mylar resistive key matrix that generates analog resistive voltage in response to actions by the user. Sliding keypad3500preferably connects to main housing2100(FIG. 2) of mobile telephone1100through two mechanical “push pin”-type contacts.

Analog controller3600is preferably a Phillips UCB 1100 device that acts as an interface between feature processor3300and sliding keypad3500. Analog controller3600converts the analog resistive voltage from sliding keypad3500to digital signals for presentation to feature processor3300.

Display module3700is preferably a 160 by 320 pixel LCD with an analog touch screen overlay and an electroluminescent backlight. Display module3700operates in conjunction with feature processor3300to display the graphical user interface features.

Battery pack3800is preferably a single lithium-ion battery with active protection circuitry. Switching power supply3900ensures 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 telephone1100.

FIG. 4is a block diagram of the software components of flash ROM3440, including graphical user interface (GUI) manager4100, user applications4200, service classes4300, Java environment4400, real time operating system (RTOS) utilities4500, and device drivers4600.

GUI manager4100acts as an application and window manager. GUI manager4100oversees the user interface by allowing the user to select, run, and otherwise manage applications.

User applications4200contain all the user-visible applications and network service applications. User applications4200preferably 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 classes4300provide a generic set of application programming facilities shared by user applications4200. Service classes4300preferably 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 environment4400preferably includes a JVM and the necessary run-time libraries for executing applications written in the Java™ programming language.

RTOS utilities4500provide real time tasks, low level interfaces, and native implementations to support Java environment4400. RTOS utilities4500preferably 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 drivers4600provide access to the hardware elements of mobile telephone1100. Device drivers4600include, for example, drivers for sliding keypad3500and display module3700.

Feature processor3300executes the program code of flash ROM3440to provide the user friendly interface. GUI manager4100controls the user friendly interface to provide a multitasking environment.FIG. 5is a block diagram of GUI manager4100, including system manager5100, configuration manager5200, and applications manager5300.

System manager5100acts as a top level manager. System manager5100controls 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 manager5200handles the data management for the system. Configuration manager5200processes the user preference data, directories, and saved user applications, pages, and applets. Configuration manager5200performs cache management, backup and restore operations, and version control.

Applications manager5300manages user applications4200. Applications manager5300handles the starting and stopping of user visible applications, display access, and window management. Applications manager5300provides a common application framework, application and applet security, and class management.

System manager5100, configuration manager5200, and applications manager5300work together within the framework of GUI manager4100to provide the multitasking environment to allow the user to select, run, and manage user applications4200concurrently. GUI manager4100provides a graphical user interface on display2400(FIG. 2) from which the user can choose a user application to run.

FIG. 6is a block diagram demonstrating how the information flow might be handled by GUI manager4100. GUI manager4100provides Toolbar/Selector6100from which the user chooses a user application to run. Application list6200, managed by configuration manager5200, contains a list of the user applications. Configuration manager5200stores an application record6300for each user application in application list6200. Application record6300stores 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 application6400, GUI manager4100passes exclusive control of application window6500and other user interface resources to application6400. GUI manager4100continues to manage application6400to suspend, resume, or stop it in response to user commands or another higher priority running application.

By virtue of such an arrangement, mobile telephone1100provides a multitasking graphical user interface to the user.FIG. 7is a GUI display by which GUI manager4100presents 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 manager4100allows 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. 7is an example of a GUI display where GUI manager4100provides the user with access to the major communication task objects from all main functional areas. The major communication task objects provided by GUI manager4100preferably include telephone icons7100and7200, message center icon7300, Note Pad button7400, Quick Notes button7500, and Name List button7600.

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 icon7100, the user can: (1) compose an SMS note by pressing Note Pad button7400or by simply touching note area7700; (2) place a second call by pressing on-hook telephone icon7200, 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 icon7200, 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 icon7300; (5) edit or send a previously stored SMS note by pressing Quick Notes7500; or (6) access a list of names stored as business cards by pressing Name List button7600. GUI manager4100provides the user with similar options while the user composes and sends an SMS note.

In addition to these features, GUI manager4100performs 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 8Eare sample displays shown when the user sends an SMS note to a called party while maintaining a voice call with the called party.FIG. 8Ashows the user engaged in a voice call with the called party. InFIG. 8B, the user either presses Note Pad button7400or touches note area7700, 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. 8Cshows 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 List8100, which displays the stored business cards from which the user can select the recipient, presses the called party's name8200, which also displays the stored business cards, or presses the telephone number8300, 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. 8Dshows display2400after the user presses the Send button to transmit the SMS note.FIG. 8Eshows that once the SMS note has been sent, message center icon7300requests 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, display2400returns to that shown inFIG. 8A.

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.