Embodiments described herein relate to the field of computer-human interfaces. In particular, embodiments described herein relate to a graphical interface for operating a computer based telephony device and an interface for accessing names and telephone numbers from a contacts database.
Computing devices, particularly handheld and portable devices, have evolved to include numerous types of communication capabilities and functionality. For example, handheld devices exist that operate as cellular phones, messaging terminals, Internet devices, while including personal information management (PIM) software and photo-management applications. Additionally, Internet Protocol services exist that can transform Internet-enabled machines into telephony devices. Even stand-alone telephones that connect to traditional Public Switched Telephone Networks (PSTN) are including more software to enhance the telephone's functionality.
In enhancing telephony operations with computing resources and software, effort has been made to enhance and assist the user in using such devices. For example, software features exist to facilitate the ease in which the user can establish a speed dial, and to make recently used phone numbers more readily available to users. Small form-factor computing devices, such as devices that provide cellular phone functionality, have particular use for speed dial features, in order to reduce the manual involvement of the user. These devices have smaller keyboards that may be harder to operate, and/or use in mobile or dynamic environments, where the user cannot readily retrieve a desired number.
Telephony devices are just one type of communication device. There are now many types of communication types, and multi-functional devices exist to accommodate the different communication types. Examples of communication types other than telephony include e-mail, instant message (including SMS protocol messages and Multimedia Message Service (MMS) protocol messages), and video conferencing. Many computing devices, particularly smart phones, are enabled to support communications using multiple communication mediums.
According to one or more embodiments described herein, a system and method are provided for enabling a user of a computing device to access and use a voicemail system using a displayed or mechanical interface.
Embodiments described herein provide a method and technique for operating a computing device. An interface is displayed for enabling the computing device to control a voicemail system. The interface includes one or more display objects, wherein each display object is selectable by a user to enter a command input assigned to that display object. A selection is detected of any one of the one or more display objects, and the command input assigned to the display object is identified. A signal tone is generated corresponding to the command input. In one embodiment, to select a display object, the user can touch an on-screen button or may press a corresponding key of the computing device. In a further embodiment, the arrangement of on-screen buttons may correspond to the arrangement of keys. The signal input may be transmitted across a network to the voicemail system to communicate a command to the voicemail system.
Additionally, one or more embodiments described herein provide a method and apparatus for accessing a contacts database and telephone services is herein disclosed. In one embodiment, ambiguous key entries that can be resolved either numerically or alphabetically or resolved for both functions of looking up a contact and dialing a number.
In the following description, for purposes of explanation, specific nomenclature is set forth to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that these specific details are not required in order to practice the present invention. For example, the present invention has been described with reference to handheld computer and cellular telephone systems. However, the same techniques can easily be applied to other types of telephony devices such as non mobile telephone systems.
One or more embodiments described herein may be implemented through the use of instructions that are executable by one or more processors. These instructions may be carried on a computer-readable medium. Machines shown in figures below provide examples of processing resources and computer-readable mediums on which instructions for implementing embodiments of the invention can be carried and/or executed. In particular, the numerous machines shown with embodiments of the invention include processor(s) and various forms of memory for holding data and instructions. Examples of computer-readable mediums include permanent memory storage devices, such as hard drives on personal computers or servers. Other examples of computer storage mediums include portable storage units, such as CD or DVD units, flash memory (such as carried on many cell phones and personal digital assistants (PDAs)), and magnetic memory. Computers, terminals, network enabled devices (e.g. mobile devices such as cell phones) are all examples of machines and devices that utilize processors, memory, and instructions stored on computer-readable mediums.
Overview
The handheld computing system 100 further includes a connection 180 in a bottom area for the handheld computing system 100. The connection 180 is designed to connect with another device, such as a computer system, for example. In one embodiment, the connection 180 may comprise a serial connection, such as a Universal Serial Bus (USB) connection or an RS-232 connection. Alternative types of connections may be used.
The handheld computing system 100 further includes a void 110 in the back area 177 of the handheld computing system 100. The void 110 is designed to receive an extra element, such as through the top area 170 of the handheld computing system 100, for example. For one embodiment, the extra element may be a simple place holder. For another embodiment, the extra element may be something else, such as a cellular transceiver 150.
In operation, the display 120 provides information, and also a means by which the user can enter input. For example, a user may employ a stylus or tipped instrument to make contact with the display and enter input, while at the same time viewing content generated for the display. In one mode of operation, a stylus can be used in the manner of a writing pen to enter characters and figures by drawing the stylus across the digitizer pad. Further, the user may be instructed to enter text into a specific area 125 of the digitizer pad. The stylus and digitizer may function like a computer mouse to operate and manipulate interactive elements on the display. For example, the computer system may present a virtual button in a location on the display that can be activated to perform an associated function by the user tapping the stylus or a finger on the digitizer pad at the virtual button location. Additionally or alternatively, a user may enter information into the handheld computing system 100 (and any extensions such as a cellular transceiver 150) via a microphone 112.
According to one embodiment, the handheld computer system 100 may include or be provided with wireless communication capabilities, including the ability to enable the user to make a voice calls and send messages (text, image or voice) across cellular networks. As an alternative to cellular networks, wireless network communication capabilities may be in the form of WiFi or Bluetooth connectivity (or even Infrared), where the handheld computer system 100 connects to a gateway to the Internet (or other network) through such wireless connection. Various aspects of a handheld your system and interconnected cellular radiotelephone are described in U.S. Pat. No. 6,516,202 (which is hereby incorporated by reference in its entirety by this application).
Although illustrative embodiments of the invention have been described in detail herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to those precise embodiments. As such, many modifications and variations will be apparent to practitioners skilled in this art. Accordingly, it is intended that the scope of the invention be defined by the following claims and their equivalents. Furthermore, it is contemplated that a particular feature described either individually or as part of an embodiment can be combined with other individually described features, or parts of other embodiments, even if the other features and embodiments make no mentioned of the particular feature. This, the absence of describing combinations should not preclude the inventor from claiming rights to such combinations.
The keyboard of
As an alternative, no keyboard may be present on the integrated and cellular telephone system. Rather, the keyboard may be a completely visual input mechanism, provided on a contact-sensitive display of the integrated and cellular telephone system. The keyboard may be displayed, with individual keys including numerical values and/or character values, and the user may make contact with regions of the display area where the keyboard is being displayed. In this way, an embodiment permits a “soft” keyboard to operate very similar to the physical counterpart.
Telephone Terminal User Interfaces
Embodiments of the invention incorporate a speed-dial feature, in which specific actions (such as a press and hold of a physical button or key from a keyboard) is associated with dialing a phone number.
According to an embodiment a cellular handheld computing device may incorporate a telephone user interface having multiple views. In one implementation, the views that are available include: a speed dial view, a dial pad view, a contact library view, a called history view, and an active call view.
In one embodiment, certain events will cause the telephone application 401 to automatically see which between different views. Example when an incoming telephone calls detected, the telephone application 401 will automatically switch to the active call user interface view 450 in order to show the user information about the incoming telephone call.
Another event that may cause the telephone application to automatically switch between different views is the entry of characters from an input device such as a keyboard or stylus and digitizer pad (particularly when the display provides a soft keyboard). In one embodiment, entry of an alphabetic character will cause the telephone application 401 to move from one displayed view to the context view 440 in order to enable the user to search a database of contact records. Each contact record may contain fields having alphanumeric strings corresponding to one or more of the following: a first name, last name, a nickname, a place of work, a job title, a phone number, a mobile number, alternative numbers (home, fax), and messaging identifiers (including one or more of the following: email address, instant message identifier, Short Message Service identifier, Multimedia Message Identifier etc.). Programming elements associated with the contact user view 440 may match an entered character or character string (a search string) with a field of individual contact records in the contact library.
In one implementation, a user input corresponding to a numeric value may cause the telephone application 401 to automatically switch to dial pad view 410. The aforementioned implementations provide examples of embodiments of the invention, some of which are described below.
Dial Pad View
In one embodiment, dial pad view 410 may include or be associated with programming elements that provide a conventional DTMF (Dial Tone Multiple Frequency) touchtone dial pad interface 575 to users such to users may make outgoing telephone calls with a traditional telephonic interface.
A user may operate a device incorporating the telephone application 401 by touching the device's display area where desired numbers of the dial pad appear. An icon or other input mechanism may be used to cause the device to use a series of numerical inputs as a phone number in a dialing function.
The dial pad view 410 may be invoked automatically or manually in connection with an active telephone call. As such the dial pad view may be used to enter DTMF touch-tones in order to access interactive response systems, such as voicemail systems or telephone banking systems.
In one embodiment, when a user begins entering a telephone number, the telephone number being dialed is placed in a title bar 590. The user may also access the last ten telephone numbers dialed (“redial list”) by scrolling up or down. Specifically, getting the scroll up or down key will move through the last ten numbers dialed and individually display each number in the title bar 590.
One implementation provides that the dial pad view 410 (or any other view) includes four soft keys or buttons that are selectable to enable the user to access additional views of the user-interface framework. In one implementation, soft buttons provided on the dial pad view 410 include a speed dial view button 510, a dial pad view button 520, a contacts view button 530, and a call history view 540. In an example provided, the dial pad view button 520 is shown highlighted by inverted graphic colors since the dial pad view 410 is active. In order to select any of the other views, a user selects the associated view button 510, 520, 530 or 540. The user may also repeatedly press an application button associated with the telephone application to rotate through the various telephone application user interface views (including the active call view if there is an active call in progress).
In an embodiment, an additional user interface view may be made available when there is an active telephone call.
In embodiments in which a keyboard is provided with the computing device, then a user may dial a phone number using the keyboard. In many cases, keyboards include keys that are individually interpretable as either a character or a phone number. In such cases, the computing device may include programmatic elements to bias the interpretation of any key press in connection with the dial pad area 391 as a number. For example, an implementation may provide that if the key press is interpretable as a number, then the key press will be interpreted as a number. Otherwise, if the key press has no numerical value (e.g. it is character only), then it is ignored. In an alternative embodiment, the dial pad view 410 may be used to provide a means of entering telephone numbers that use letter mnemonics. For example, 1-800-FLOWERS is a floral service that uses letter mnemonics in order to have potential customers easily remember the contact telephone number. However, dialing a telephone number with letter mnemonics can be difficult to users who must search keys of a dial pad or keyboard for alternative DTMF tones that translate to the mnemonics. In order to allow the user to quickly enter such telephone numbers, one embodiment allows the user to enter the letters directly, and a computer may translate the letters into the proper of associated DTMF tones. For example, if the text for “FLOWERS” were entered, the DTMF tones associated with dial view pad numbers “3549377” would be generated.
Certain aliasing may occur in such an alternative embodiment. However, an intelligent program may use certain heuristics or other logic to determine the desired number in most circumstances. For example, if the user were to dial the full number “1800FLOWERS” without using the option key 301 to specify the “1800” portion as numbers, the system would not know if the first four digits should be interpreted as numbers (“1800”) or letters that should be translated into associated DTMF tones (e.g. “YN))” equivalent to dial numbers “9400”). But a heuristic could be used to always translate the “YN00” pattern into the common “1800” prefix for 11-digit numbers. The “FLOWERS” portion may be recognized as a letter mnemonic in an embodiment that uses the keyboard of
Call History View
Referring to
In one implementation, in order to dial a particular number from the call history list, the user may select a display item corresponding to a past call, and then activate the dial soft button 670. Alternatively they user may simply press the space bar or return key on the keyboard illustrated in
In one embodiment, if the user is in the call history view 420 and begins to enter alphabetic characters, the telephone application will automatically switch to the contacts view. The telephone application will then search a library of contact records for a desired contact using the entered character or characters as a search string. More information on this feature is provided with embodiments described below.
Speed Dial View
Referring to
An area 725 between the title bar 715 and command button area 735 on the speed dial view 430 is occupied by ten programmable speed dial buttons, arranged in two columns of five buttons per column. Each of the speed dial buttons correspond to a speed dial record. The speed dial record tag or label (or a portion or representation thereof) is displayed on the screen button, and activating (e.g. “tapping”) a button with a label causes the telephone application to control the handheld computer and telephone peripheral to dial the telephone number of the corresponding speed dial record. A user may customize all of the different speed dial buttons with their own personal numbers and short-cuts.
In an embodiment shown, speed dial user interface view of the present embodiment implements a page metaphor, whereby a plurality of speed dial “pages” are each used to store a sub-set of speed dial records. In
The user may navigate though the various speed dial entries using a scroll button. In
When the last non empty speed dial button of a speed dial page is highlighted (“Greg” in this example), pressing the scroll down button will move the highlight to the first non empty speed dial button of the next non empty speed dial page (page 2 in this example assuming page 2 has a non empty speed dial button.). In an alternate embodiment, pressing the scroll down button when the last non empty speed dial button of a speed dial page is highlighted (“Greg” in this example) will move the highlight to the first non empty speed dial button of the same speed dial page (“Voice Mail” in this example).
The basic operation of the telephone application from the speed dial user interface view in ordinary operation is as follows. Each of the five speed dial view pages has ten speed dial soft buttons that are user assignable. When a speed dial button has been assigned to a speed dial record by the user, that speed dial button displays the tag or label of the speed dial record. Tapping on (activating) a speed dial button causes the automatic dialing of the corresponding assigned telephone number. Tapping on a speed dial button with no number assigned (e.g. an empty button) effects display of an edit speed dial page as illustrated in
Tapping on the title bar 715 of the speed dial user interface view reveals a pull down edit menu (not shown). Selecting the edit menu causes an edit speed dial page (432 in
The Edit Speed Dial page of
Located below the table of speed dial buttons for a page is a set of speed dial page button icons 835 that operate in a similar manner to the speed dial page buttons 791, 792, 793, 794, and 795 and allow the user to navigate amongst the five edit speed dial pages. The speed dial page button icons 835, however, are larger than the speed dial page buttons 791, 792, 793, 794, and 795 because they also display an indication of the speed dial button assignments on each of the speed dial pages. This is achieved by small horizontal lines arranged in the speed dial page button icons 835 representing speed dial buttons on that page that have assigned speed dial records in the specified locations. For example, as seen in
The edit speed dial page may also contain several command buttons at the bottom of the screen for performing specific functions. In the embodiment of
Tapping on an empty speed dial slot from the edit speed dial page causes the display of a new speed dial edit entry page as illustrated
The entry fields “Name”, “Number”, and “Extra Digits” in the edit entry page are each editable by the user in conventional manner on the handheld computer system 100. For example, the fields can be edited using the stylus on the touch sensitive screen or using a keyboard. When editing the “Number” or “Extra Digits” fields, the computer system may be put into a special “number lock” mode that only allows numbers or other touch tone characters such as “*” and “#” to be entered. The edit entry page has several command buttons labeled “Done” 961, “Cancel” 962, and “Lookup” 963. Tapping on the “Done” button 961 causes the telephone application to return to the edit speed dial page of
Referring to
One special speed dial record is a voicemail speed dial record associated with the voicemail-box of the cellular telephone itself. To prevent loss of this special speed dial record, the voicemail record associated with the voicemail-box of the cellular telephone should not be deleteable. However, the voicemail record is moveable such that the user can place the voicemail record into any available speed dial slot.
When a user is in the speed dial user interface view and begins entering alphabetic characters, the telephone application will automatically switch to the contacts view of the telephone application. Once in the contacts view, the telephone application will begin searching for a desired contact using the entered character(s) as a search string as will be set forth in the following section describing the contacts user interface view.
A speed dial button insertion procedure is illustrated at in
A second speed dial record editing procedure is illustrated with reference to
Contacts View
Referring to
As illustrated in
The telephone numbers associated with the displayed names are displayed below the associated name and right justified. Note that by using a full line for the name and a full line for each associated telephone number, the display will not need to abbreviate or shorten most names or telephone numbers. In an embodiment, only the voice telephony telephone numbers such as a home telephone number, a work telephone number, a main telephone number, a mobile telephone number and/or other voice telephone number associated with each name is displayed. Fax numbers are not displayed since it is generally not useful to dial a fax number from the computer-based mobile telephone system. The telephone numbers are listed in the same order as the telephone numbers exist in the contact record.
In the command area 1335 of the contacts user interface view resides a pair of scroll buttons 1323, a “new” button 1322, and a search field 1321. The new button 1322 allows the user to enter a new personal contact record. The scroll buttons allow the user to scroll up and down through the list of names and telephone numbers illustrated in the main area 1325 of the contacts user interface view.
The search field 1321 allows the user to search for a particular name in the database of personal contact information. Since the contacts database may store thousands of different contacts, a powerful search mechanism is needed. However, the search system must be simple and intuitive in order to be adopted by most users. To accomplish these goals, the search field of the present invention uses a multiple filter system to search the database of personal contact information.
The search field 1321 allows a user to enter characters from a desired name. Characters may be entered in different manners as dependent upon the particular handheld system. For example, the characters may be entered using a keyboard or entered using a stylus in association with character recognition software. After each character entry, the filter system produces a filtered subset of names and associated telephone numbers from the entire contacts database. At least a portion of that filtered subset is then displayed in the main area 1325. If an alphabetic character is entered while the user is in any of the other permanent user interface screens, the telephone application will immediately open the contacts user interface view and begin a search of the contacts database.
Contact Lookup Algorithm Implementations
In an Embodiment, the System Creates a Subset that Contains all Names Having a First Name that matches the entered letters (for example “GR” would match the name Greg Shirai), a last name that matches the entered letters (for example “GR” would match the name Bob Green), or a first name initial and last name that matches the entered letters (for example “GR” would match the name George Robinson). Spaces within names are ignored for matching purposes in order to use the space bar on a keyboard as the signal to dial the number. Thus, “vand” matches the last name of name Jean-Claude Van Damme. When a user deletes a character, the search will add back names that now match the shorter string. Additional details on an filtering embodiment can be found in the co-pending patent application entitled “Multi-Context Iterative Directory Filter”, filed concurrently with this application and hereby incorporated by reference.
Referring to
According to another embodiment, the search string entered by the user may be searched in sets designated by the user, where each set corresponds to one or more characters. The user may designate each character string set, and during the lookup the device looks for contact records where each set is present in a separate name or other character value field of the contact record/ For example, the user may enter either of the following: “JO S” or “JO SM” or “JO R S”; and receive as a result a record of a contact with the name “John Robert Smith”. In the example provided, a space (or other designated character entry) is used to designate each character set that is to be searched against a separate name. In an embodiment, such as when the designated character entry delineating one set from another is present, the search is performed to find the record(s) that has separate fields with values that match one of the sets of character string. Thus, in the example provided, “JO” is not separated into different fields when the search is performed, but maintained as an atomic unit that is compared as a whole against values of individual fields in a given contact record.
Additionally, each character set may be compared against fields other than first, last or middle name. For example, each character set may be searched against a Company name, a title or position, or street address. For example, the entry “JO Pres” may return a record of “John Smith, President of XYZ Company etc.”
Ambiguous Key Entry Handling
As previously set forth, the telephone application may automatically open the contacts user interface view if the user begins entering characters while in the speed dial or call history view. In an embodiment that uses a keyboard containing keys that are associated with both a letter and a digit, such as the Y/1 key on keyboard of
An embodiment also provides for the device to be in a look-up only mode of operation, where ambiguous keys that have both character and number assignments result in a number lookup. For example, if the user enters keys corresponding to N/8, Y/1, K/6, K/6, one matching result may be the return of a contact record containing the phone number (408) 555-1866. In this case, the user may see the whole number and dial it (when he only remembered an extension or a portion of it) or he may be able to access the whole contact record and use an alternative number for the contact with the matching number. Still further, the number sequence may be matched to a field other than phone number, such as home address (“866 Maple Street”), instant message or messaging identifier (“Tomm866687464” or “Tom866@email.com”) or any other character value of a field contained in the contact record.
Referring back to
In an embodiment, the telephone numbers are not displayed exactly as the telephone numbers are entered into the contact record. Instead, the telephone numbers are displayed exactly how the cellular telephone will dial the number. Thus, any rules for adding or removing area codes or other prefixes or postfixes should be applied before displaying the number. Similarly, any extraneous text such as “ext. 123” should be removed.
In an alternate embodiment, the email address (if available) associated with a displayed name is also displayed. The email address may be display on its own line just as the voice telephony telephone numbers are displayed. In this manner, the user of the device may highlight and activate the email address. Activating the email address may launch an email application with an outgoing message addressed to the selected email address as an initial screen display.
In one embodiment, the contact lookup feature may be implemented in connection with an application for enabling a person to place phone calls. For example, the contact lookup feature may be provided as a semi-persistent feature (e.g. present unless the user elects otherwise) that is present when the application for enabling a person to make phone calls is opened or in operation. As such, computer-implemented decisions may be needed as to how an entry with an ambiguous value of number or alphabet character is to be treated.
In step 1380, an alphanumeric entry is received by the computing device when such input can be used by either the phone application (the application for enabling the person to make calls) or the lookup feature. As will be described, whether a particular value has a number or character value may be based on which application the user wishes to handle the entry. For example, the user may intend a number entry when using the phone application, or a letter entry when the intent is to use the lookup feature.
In step 1382, a decision is made as to whether the entry is ambiguous. An ambiguous entry may have either numerical or alphabet values, depending on what application the user wishes to consume the entry. For example, in one implementation, ten keys on a QWERTY style keyboard can be interpreted as character or number, depending on the context that is intended. If the determination is that the key entry is ambiguous (i.e. one of the characters that has number and alphabet values), then the method proceeds to a juncture 1383. At juncture 1383, an embodiment provides that two processes are performed concurrently: an alphabetical lookup of the contact database, or a numerical display of a number sequence. Otherwise, if the entry is unambiguous, the process that is performed is the alphabet lookup process, since in the implementation being described, only alphabetical keys are unambiguous.
A process for the alphabetical lookup of the contact database is performed as follows. In step 1388, a character (if only one entry) or sequence of characters (if more than one entry) is used to perform a lookup of the contact database. In step 1390, the matching records of the contact database are displayed. In one embodiment, the display of the matching contact records is ongoing. In step 1392, a determination is made as to whether another entry is made for the sequence. Thus, if another character is entered, the process returns to step 1388. The result is that after each character, all matching records are shown. Any lookup algorithm, including one described by this application may be used. With each entry, the number of matching records is dwindled. The lookup process ends in when the user stops entering entries, and all matching records are displayed in step 1390. At that point, the record or records that match the sequence of entries are displayed at one time on the display of the computing device.
From juncture 1383, an embodiment provides that both the alphabetical lookup of the contact database process and a number/sequence display process is performed concurrently. Accordingly, from juncture 1383, an embodiment provides that steps 1388-1392 are performed, as well as the following: in step 1394, number values for an ambiguous key entry is displayed. In step 1395, a determination is made as to whether there is another entry. If there is no other entry, then the number or sequence of number (if there has been more than one entry) is displayed from step 1394. There may be a concurrent match of contact records from the alphabet contact lookup process. If there is another entry, a determination is made again as to whether the entry is ambiguous. As such, the method returns to step 1382 and juncture 1383. If an unambiguous key is entered after an ambiguous key, following step 1385, the number process is terminated in step 1386. The only process in effect is then the contact lookup process, using the assumption that all entries entered up until that point are to have alphabetical values. Otherwise, if successive entries are made so that the number process is not terminated, the user can, once all the needed numbers are entered, cause the number to be dialed by a subsequent action.
As described above, the contact lookup feature may be implemented as a plug-in, meaning it is embedded and operated in connection with another application. As such, multiple applications may be operating at one time from one display screen on a computing device. As such, more than one protocol or process may be needed to determine which application that is operating or operable from one display screen is to receive an input. For example, a protocol may be established that a key entry is to go to the lookup feature or number dialer, as described in
Another protocol may be implemented that designates any input that can be interpreted as a number (e.g. one of the ambiguous keys in
Active Call View
The final main user interface view of the telephone application is the active call user interface view. The active call user interface view is only available when there is an active incoming or outgoing telephone call. The contents of active call user interface screen will be dependent upon the telephone call (incoming or outgoing) and the particular abilities of the carrier network.
In an embodiment, the active call user interface view will allow the user to easily access various advanced telephone features. For example, the user may place a call on hold, initiate a three-way call, hang-up the call, enter the extra digits associated with an outgoing call, or turn on/off a speakerphone feature.
Telephone Application Alerts
Certain events cause special alert pages to be displayed by the telephone application page. For example, when an incoming call is received, the user is presented with an incoming call alert screen.
If an incoming telephone call is received while the user is opening or closing the flip lid 320 or presses a button on the integrated computer and cellular telephone system, an undesirable action may occur. For example, if the user is opening the flip lid 320 while an incoming call is being received, then the user may inadvertently answer the telephone call without having a chance to review the caller-ID field. Similarly, a user may pressing the scroll up button just when an incoming call is and the lid is closed, this might cause the integrated computer and cellular telephone system to ignore the incoming call before the user even knew an incoming call was being received.
To prevent such undesirable effects, one embodiment of the present invention uses an input “lockout period”. Specifically, one embodiment ignores all input events (such as lid opening event or a key press event) for a predefined period when an incoming call is received. Thus, if an incoming telephone call is received while a user is opening the lid, the opening of the lid will not cause the integrated computer and cellular telephone system to answer the telephone call. Instead, the system will display the interface of
Voicemail Control and Functionality
Embodiments described herein enable a computing device to be used for voicemail control and functionality. An example of a computing device that can be used with this section is a handheld computing system, such as described with previous embodiments. For example, a cellular telephone or smart phone (a phone and personal digital assistant (PDA) hybrid) are examples of devices that can implement embodiments such as described. With the advance of Internet telephony, however, embodiments such as described may apply to other forms of telecommunications such as Internet Telephony.
In step 1815, the user selects to add a new voicemail account to the speed dialing list. In one implementation, voicemail programmed speed dial buttons are treated differently from other speed dial buttons. For example, the particular speed dial action that causes the computing device to access the voicemail may be designated by a wireless carrier or other third party.
In step 1820, the user is prompted to enter the telephone number and/or password for the voicemail account. In one implementation, a speed dial record is created from the user entering a sequence of numbers/characters. The sequence of number/characters specify (i) voicemail speed dial telephone number, (ii) a number or character that indicates a pause (e.g. “one second pause”), and (iii) a sub-sequence of numbers that signal the password. For the pause, the computing device may play no DTMF tone, while for the password, the DTMF tones for the sequence of numbers are played over the telephone connection. In another implementation, when the user first pushes the voicemail button, the telephone number is dialed, and when the user pushes the voicemail button for a second time, the password is dialed. Both of these numbers are entered at this stage.
Step 1825 provides that command translation is established, to enable the user to correlate user-interface function of the computing device with numbers (actually DTMF tones) of a specific voicemail system that perform commands based on the user entering those numbers. Accordingly, in step 1825, a control screen is displayed. The control screen includes each of the commands that are generally available in a voicemail system, such as previous message, next message, back, skip message, delete message, forward message, back to the beginning, reply to message, etc. For one embodiment, a subset of these commands may be made available. For another embodiment, the user may alter this listing, and may create new commands.
In step 1830, the user is prompted to enter a command or command sequence for each of the commands that are available in the voicemail system. For example, in a voicemail system, pressing the “3” key may mean “delete message.” The user can enter the number “3” underneath the command key, to program the command. In other systems, the pressing the “7” key twice may be the code to “delete message.” The user can enter whatever key combination works for the specific voicemail system.
At step 1835, after the user finishes programming the voicemail system, the user is prompted to name the speed dial button. For one embodiment, the default name is “voicemail.” However, users may have multiple voicemail accounts, and may wish to have more descriptive names.
Step 1840 provides that the process ends. The programming of the voicemail access is now complete, and the user can access the voicemail system by pressing the speed dial button.
Step 1920 provides that command inputs that can be made by a user during a voicemail access call or correlated to voicemail functions of a particular voicemail service. Basic examples of command inputs include designated input commands (e.g. displayed soft keys and are hardware/button inputs) that are to mean a specific command that the voicemail system can understand and process (e.g. “save message” “forward message” “skip message” “exit voicemail” “delete message”). In one implementation, step 1920 is performed by a user of the device, and the voicemail service is configured for one that the user selects. In another implementation, the voicemail service is pre-determined on the computing device.
As an option, step 1930 provides that a programmatic voicemail access and password delivery is performed from the computing device to a voicemail system of the user. The programmatic access and password delivery means that at least some of the steps needed to access a user's voicemail box are performed programmatically, including the transmission of DTMF tones corresponding to password and password commands for accessing the desired voicemail box.
In step 1940, control features for use with the accessed voicemail account are enabled on the computing device. In an embodiment such as shown in
Once voicemail access is achieved, step 1950 provides that a user's command input(s) is received and matched to specified functions of the voicemail system. These commands are received by the user entering input correlated to those commands, as established in step 1920.
In step 1960, the commands selected by the user are translated into DTMF signals that are recognized and processed by the voicemail system.
Additionally, the voicemail application 2010 may be operable by the user to establish the voicemail command features, including access to a voicemail box and configuring inputs on the computing device to translate commands that can be handled by the voicemail system. For example, the voicemail application 2010 may be operated in a set-up phase to enable the user to perform one or more of the following: (i) dial voicemail; (ii) enter password and pause or other commands; and (iii) enable and/or configure command inputs from user. Subsequently, during an operational, the voicemail application may automate many of the functions normally needed to be performed manually by the user, including one or more of the following: (i) dial some or all numbers of voicemail; and (ii) enter numbers for voicemail passcode.
According to an embodiment, one or more user-interfaces are provided to enable the user to operate the voicemail application 2010 in the set-up phase and in the operational phase. A display interface 2040 and mechanical interface 2050 may individually or jointly combine to enable the user to use the voicemail application in one or both of the setup or operational phase. In one implementation, the display interface 2040 may be used to at least prompt the user into entering an input (perhaps through some other user-interface, such as the mechanical interface 2050). The mechanical interface 2050 may correspond to keys or buttons (such as keys or buttons of a keyboard or of one or more application/specialized buttons), to a multi-directional member (e.g. joystick or pad) or other form of device for entering input.
In the operational phase, the display interface 2040 and/or mechanical interface may be used to enable the user to specify command inputs 2042 from the voicemail system. The command inputs may be received and processed by DTMF translation library 2020, which converts one or more command inputs into a DTMF identifier 2044 (or sequence). The DTMF generator 2030 may convert the DTMF identifier(s) 2044 into DTMF tones 2046 that are recognized as commands (e.g. “play” “delete” etc.) by the voicemail system.
In one embodiment, multi-dimensional mechanical input mechanism 2150 is a five-way button or key set. The input mechanism 2150 may be actuated in any one of four directions (with respect to
Although illustrative embodiments of the invention have been described in detail herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to those precise embodiments. As such, many modifications and variations will be apparent to practitioners skilled in this art. Accordingly, it is intended that the scope of the invention be defined by the following claims and their equivalents. Furthermore, it is contemplated that a particular feature described either individually or as part of an embodiment can be combined with other individually described features, or parts of other embodiments, even if the other features and embodiments make no mentioned of the particular feature. Thus, the absence of describing combinations should not preclude the inventor from claiming rights to such combinations.
This patent application is a continuation-in-part of the U.S. patent application Ser. No. 09/977,871, filed Oct. 14, 2001, which is a continuation-in-part of U.S. patent application Ser. No. 09/668,123, filed Sep. 21, 2000 and incorporated by reference in its entirety; which is a continuation-in-part of U.S. patent application Ser. No. 09/374,095 (now issued as U.S. Pat. No. 6,516,202 and incorporated by reference herein in its entirety). Each of the aforementioned priority applications are hereby incorporated by reference in their entirety. This application is further a continuation-in-part of U.S. patent application Ser. No. 10/616,108, filed Jul. 8, 2003; which claims priority to U.S. Provisional Patent Application Ser. No. 60/467,794, filed May 1, 2003. Each of the aforementioned priority applications of this paragraph are hereby incorporated by reference in their entirety.
Number | Name | Date | Kind |
---|---|---|---|
5699089 | Murray | Dec 1997 | A |
5706334 | Balk et al. | Jan 1998 | A |
5754636 | Bayless et al. | May 1998 | A |
5922071 | Taylor et al. | Jul 1999 | A |
5943055 | Sylvan | Aug 1999 | A |
6018571 | Langlois et al. | Jan 2000 | A |
6233318 | Picard et al. | May 2001 | B1 |
6463304 | Smethers | Oct 2002 | B2 |
6851115 | Cheyer et al. | Feb 2005 | B1 |
7420544 | Ono et al. | Sep 2008 | B2 |
20010043687 | Tidwell et al. | Nov 2001 | A1 |
Entry |
---|
Annex to Form PCT/ISA/206 Communication Relating to the Results of the Partial International Search in International Application PCT/US2006/031122. European Patent Office, Jan. 12, 2007, 3 pages. |
Number | Date | Country | |
---|---|---|---|
20060168539 A1 | Jul 2006 | US |
Number | Date | Country | |
---|---|---|---|
60467794 | May 2003 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11202408 | US | |
Child | 09374095 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09977871 | Oct 2001 | US |
Child | 11202408 | US | |
Parent | 09668123 | Sep 2000 | US |
Child | 09977871 | US | |
Parent | 09374095 | Aug 1999 | US |
Child | 09668123 | US | |
Parent | 10616108 | Jul 2003 | US |
Child | 11202408 | US |