US 20070192711 A1
A method and hierarchical menu is provided for displaying on the screen of a handheld electronic device an extended menu or a short menu, which is a subset of the corresponding extended menu. The method includes displaying a page on a screen and receiving an ambiguous request/selection when no menu is displayed. In response to the ambiguous selection, a short menu corresponding to the displayed page is displayed on the screen. Various short menus are provided with their respective menu items being dependent and adjustable based upon the position of a cursor on the displayed page, the currently opened application, and/or the previous selections. Further, a selection from the short menu is capable of displaying the extended menu corresponding thereto.
1. A method for displaying an abbreviated menu on the screen of a handheld electronic device, said method comprising:
displaying a cursor-navigable page on a screen of a handheld electronic device;
initiating an ambiguous request for display of menu options corresponding to the displayed page while a cursor is positioned at a location on the page that is not visually signified for menu display actuation; and
displaying a short menu having a first list of menu items which is a subset of a second list of menu items of an extended menu associated with the displayed page, said first list of menu items having been assessed a higher probability for being user-selected than at least some items of the second list of menu items not included in said first list of menu items.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
8. The method of
9. The method of
10. The method of
11. The method of
12. The method of
13. The method of
14. The method of
15. The method of
16. The method of
17. The method of
18. The method of
19. The method of
20. The method of
21. The method of
22. The method of
23. The method of
24. A handheld electronic device programmed to display an abbreviated menu of action options on the screen of the device based on a user request and the page that is displayed on the screen at the time of the user request, said handheld electronic device comprising:
a screen on which cursor-navigable pages are displayed;
a keyboard located below said screen and configured to accommodate textual input to the handheld electronic device; and
a microprocessor having a control program associated therewith for controlling operation of said handheld electronic device, said control program configured to process an ambiguous request for display of menu options corresponding to the screen-displayed page when a user menu request is detected and a screen-navigating cursor is positioned at a location on the screen-displayed page that is not visually signified for menu display response, and, based on said detection of the user menu request, said microprocessor displays a short menu having a first list of menu items which is a subset of a second list of menu items of an extended menu associated with the displayed page, said first list of menu items having been assessed a higher probability for being user-selected than at least some items of the second list of menu items not included in said first list of menu items.
25. The device of
26. The device of
27. The device of
28. The device of
29. The device of
30. The device of
31. The device of
32. The device of
33. The device of
34. The device of
35. The device of
36. The device of
37. The device of
38. The device of
39. The device of
40. The device of
The present application claims the benefit of U.S. Provisional Application Nos. 60/773,145, 60/773,798, 60/773,799, and 60/773,800 filed Feb. 13, 2006, Feb. 14, 2006, Feb. 14, 2006, and Feb. 14, 2006, respectively. Said applications are expressly incorporated herein by reference in their entirety.
The present disclosure generally relates to the user interface of software applications, and more particularly, to a hierarchical in-place menu that replaces parent menus with submenus.
Most conventional application programs are menu-driven as opposed to being command-driven. Menu-driven applications provide a list of possible commands or options from which a user may choose, while command-driven applications require users to enter explicit commands. Thus, menu-driven applications are generally easier for the average user to learn than are command-driven applications. Menus are typically implemented as a list of textual or graphical choices (i.e., menu items) from which a user can choose. Thus, menus allow a user to select a menu item, for example, by pointing to the item with a mouse and then clicking on the item. Examples of other methods of selecting menu items include highlighting an item and then hitting the “return” key or “enter” key, and pressing on a menu item through a touch-sensitive screen.
One particularly useful type of menu is a hierarchical menu. An example of a conventional hierarchical menu 100 is illustrated in
The example menu shown in
Although such hierarchical menus provide useful advantages, there are scenarios in which their use is impracticable. One such scenario is when hierarchical menus are used on devices having small display screens. The problems presented when attempting to implement conventional hierarchical menus on small-screen devices have generally discouraged the use of hierarchical menus with such devices.
As indicated above, hierarchical menus generally lay out across the display screen from left to right. On small-screen devices where the room on the screen is not wide enough to accommodate all of the menus, the menus often lay out across the screen in both directions, from left to right and back again. In this scenario, the menus typically begin to overlap one another, creating various problems. One problem is that the overlapping menus can be confusing to the user, as
Overlapping menus can also create problems with small-screen devices (as well as others) that employ pen-based or stylus-based touch-sensitive screens. With such devices, it is often difficult to maintain contact continuity between menus on the screen when the menus are overlapping. In other words, it is easy to move off of menus with small-screen, touch-based devices. If continuity is lost when moving from one menu to another, menus will often disappear from the screen, causing the user to have to go back and reactivate the menu from a prior menu. This problem becomes worse when using pen-based devices that “track”. In the present context, the terminology of “tracking” is used to indicate a situation in which a cursor on the screen follows (tracks) the movement of the pen as the pen moves over the screen even though the pen is not touching the screen. Tracking is lost if the pen is pulled too far away from the screen. Thus, pen-based devices that “track” tend to lose more menus when hierarchical menus are employed.
One method of addressing this issue involves displaying submenus in place of a parent menu, and vice versa, when the appropriate menu items are selected from within the parent menus and submenus.
However, another disadvantage of hierarchical menus in general is the number of menu items presented in each menu. Each of the menus provides the full complement of available menu items. This can be overwhelming for a novice user and irritating to an experienced user. This problem is exacerbated to an extent by the addition of a hierarchical history of parent menus added to the list.
Another approach to the problem of dealing with a full or extended menu, which lists all available menu items at that particular level uses a radio communication device that provides an extended menu and a short menu that is a subset of the extended menu and the ability to select between the two. The short menu is a dynamic menu that is built by the user by selecting menu items from the corresponding extended menu to include in the short menu.
A disadvantage of this approach is that the novice user will be further overwhelmed with having to build the various short menus. The experienced user may be disinclined from having to go through the initial set-up procedure of the short menus.
Another disadvantage of a hierarchical menu system is the requirement of proceeding through each menu of the hierarchy to reach the desired action or menu item. This process adds various steps that can frustrate users, due to the lack of intuitiveness to getting from point A to point B from the user's point of view.
Accordingly, as the demand for small-screen devices capable of running increasingly complex applications continues to grow, the need exists for a way to implement hierarchical menus that overcomes the various disadvantages with conventional hierarchical menus.
Exemplary methods and arrangements conducted and configured according to the advantageous solutions presented herein are depicted in the accompanying drawings where in:
As intimated hereinabove, one of the more important aspects of the handheld electronic device to which this disclosure is directed is its size. While some users will grasp the device in both hands, it is intended that a predominance of users will cradle the device in one hand in such a manner that input and control over the device can be affected using the thumb of the same hand in which the device is held. Therefore the size of the device must be kept relatively small; of its dimensions, limiting the width of the device is most important with respect to assuring cradleability in a user's hand. Moreover, it is preferred that the width of the device be maintained at less than ten centimeters (approximately four inches). Keeping the device within these dimensional limits provides a hand cradleable unit that users prefer for its useability and portability. Limitations with respect to the height (length) of the device are less stringent with importance placed on maintaining device hand-cradleablability. Therefore, in order to gain greater size, the device can be advantageously configured so that its height is greater than its width, but still remain easily supported and operated in one hand.
A potential problem is presented by the small size of the device in that there is limited exterior surface area for the inclusion of user input and device output features. This is especially true for the “prime real estate” of the front face of the device where it is most advantageous to include a display screen that outputs information to the user and which is preferably above a keyboard utilized for data entry into the device by the user. If the screen is provided below the keyboard, a problem occurs in being able to see the screen while inputting data. Therefore it is preferred that the display screen be above the input area, thereby solving the problem by assuring that the hands and fingers do not block the view of the screen during data entry periods.
To facilitate textual data entry, an alphabetic keyboard is provided. In one version, a full alphabetic keyboard is utilized in which there is one key per letter. This is preferred by some users because it can be arranged to resemble a standard keyboard with which they are most familiar. In this regard, the associated letters can be advantageously organized in QWERTY, QWERTZ or AZERTY layouts, among others, thereby capitalizing on certain users' familiarity with these special letter orders. In order to stay within the bounds of a limited front surface area, however, each of the keys must be commensurately small when, for example, twenty-six keys must be provided in the instance of the English language. An alternative configuration is to provide a reduced keyboard in which at least some of the keys have more than one letter associated therewith. This means that fewer keys can be included which makes it possible for those fewer keys to each be larger than in the instance when a full keyboard is provided on a similarly dimensioned device. Some users will prefer the solution of the larger keys over the smaller ones, but it is necessary that software or hardware solutions be provided in order to discriminate which of the several associated letters the user intends based on a particular key actuation; a problem the full keyboard avoids. Preferably, this character discrimination is accomplished utilizing disambiguation software accommodated within the device. As with the other software programs embodied within the device, a memory and microprocessor are provided within the body of the handheld unit for receiving, storing, processing, and outputting data during use. Therefore, the problem of needing a textual data input means is solved by the provision of either a full or reduced alphabetic keyboard on the presently disclosed handheld electronic device.
Keys, typically of a push-button or push-pad nature, perform well as data entry devices but present problems to the user when they must also be used to affect navigational control over a screen-cursor. In order to solve this problem the present handheld electronic device preferably includes an auxiliary input that acts as a cursor navigational tool and which is also exteriorly located upon the front face of the device. Its front face location is particularly advantageous because it makes the tool easily thumb-actuable like the keys of the keyboard. A particularly usable embodiment provides the navigational tool in the form of a trackball which is easily utilized to instruct two-dimensional screen cursor movement in substantially any direction, as well as act as an actuator when the ball of the trackball is depressible like a button. The placement of the trackball is preferably above the keyboard and below the display screen; here, it avoids interference during keyboarding and does not block the user's view of the display screen during use.
In some configurations, the handheld electronic device may be standalone in that it is not connectable to the “outside world.” One example would be a PDA that stores such things as calendars and contact information, but is not capable of synchronizing or communicating with other devices. In most situations such isolation will be detrimentally viewed in that at least synchronization is a highly desired characteristic of handheld devices today. Moreover, the utility of the device is significantly enhanced when connectable within a system, and particularly when connectable on a wireless basis in a system in which both voice and text messaging are accommodated.
In one respect, the present disclosure is directed toward a method for displaying an abbreviated menu on the screen of a handheld electronic device, variously configured as described above, at the request of the user. Typical examples of such devices include PDAs, mobile telephones and multi-mode communicator devices such as those capable of transmitting both voice and text messages such as email. The method includes displaying a cursor-navigable page on a screen of a handheld electronic device. One example would be the text of an email message. Next, the user initiates an ambiguous request for the display of menu options corresponding to the displayed page while a cursor is positioned at a location on the page that is not visually signified for menu display actuation. For instance, with the screen cursor positioned upon the body of the email message, but where there is no visual indicator that the location is one which will cause a menu to be displayed if actuated, an action is taken such as pressing a button on the device that indicates the user's desire to take an action with respect to the displayed page (email message). There are several actions which might be taken with respect to the email message, but none has been specified; therefore, the request is termed ambiguous. Responsively, the device, under the control of an included microprocessor, displays a short menu having a first list of menu items which is a subset of a second list of menu items that make up an extended menu associated with the displayed page. This first list of menu items has been assessed a higher probability for being user-selected or desired than at least some of the remaining items of the second list. This means that there is a long list (the second list) of actions that might be taken when the email message is displayed, but there is a short subset (the first list) of this long list which has been assessed to be more frequently selected/desired, so it is this short listing of selectable actions that is displayed in response to the user's ambiguous request.
In at least one version of the device, the user's ambiguous request is made through an auxiliary user input device on the handheld electronic device. One example of the auxiliary user input device is a navigation tool that controls movement of the cursor on the screen of the handheld electronic device, such as a trackball.
The device may also include an input that issues non-ambiguous request to display the extended menu associated with the displayed page, and which may be simply constituted by an actuable button or the like.
In order to facilitate usability, it is also contemplated that selectable items on the short listing can include choices to expand the short menu to the extended menu, or to close the short menu. In order to reinforce the commonality between the extended menu choice on the short list and the dedicated dedicated push-button for the long list, each is marked with a similar insignia.
In order to take full advantage of the small screen of the handheld device, the short menu is displayed on the screen in place of the displayed page, and preferably fills a substantial entirety of the screen.
As intimated above, the handheld electronic device can take the form of a wireless handheld communication device that transmits data to, and receives data from a communication network utilizing radio frequency signals. By way of example and not limitation, the data transmitted between the handheld electronic device and the communication network might exemplarily support voice and textual messaging.
To further enhance usability, the handheld electronic device can be sized to be cradled in the palm of a user's hand. Owing to this small size, the device can be easily grasped by a user and cradled in the palm of the hand. In at least one configuration, the size of the device is sufficiently small to allow the user to use only fingers and/or thumbs (digits) of the same hand within which the device is grasped to input data.
In order to achieve comfortable cradling and still provide sufficient “real estate” for the necessary inputs and displays, the device can be advantageously longer than it is wide. This is because it is the width of the device that primarily impacts the fit of the device in a user's hand. To that end, the handheld electronic device preferably measures between approximately two and three inches.
The device also carries a keyboard suitable for accommodating textual input, and in a preferred embodiment, the navigation tool is located essentially between the keyboard and the screen of the handheld electronic device. In one version, a full keyboard is provided that includes a plurality of keys with which alphabetic letters are associated, one letter per key. In the instance of the English language, the means at least twenty-six keys for the twenty-six letter of the alphabet. Alternatively, the keyboard may be of a reduced configuration in which at least a portion of the individual keys have multiple letters associated therewith. This means that for the English language, fewer than twenty-six letter keys will be included in such a reduced keyboard example.
Benefits of the disclosed hierarchical menu system include the ability to implement a hierarchical menu on devices having varying screen sizes, including small-screen devices. The disclosed hierarchical menu permits the display of one menu at a time. In an almost intuitive manner, the methods disclosed allow the user to make an ambiguous selection to directly open a particular item on a displayed page or to display a short menu of items typically used with a displayed page. This reduces user confusion and enhances usability of the system. By using a “menu” item on the short menu or a “menu” key, the user always has the option to view the extended menu associated with the displayed page. By using a “back” menu item or key, the user can navigate to previously displayed menus within the string of historically selected without cluttering the displayed menus with such historical items.
In the embodiments described below, computer 300 is generally discussed as being implemented as a small-screen, handheld electronic device such as, for example, a cell phone, or a PDA (personal digital assistant). Such devices generally provide more limited computing capabilities than a typical personal computer, such as information storage and retrieval capabilities for personal or business use, including keeping schedule calendars and address book information. Such devices usually offer some version of an operating system and various applications. Thus, a computer 300 implemented as a small-screen, handheld electronic device include email, phone, SMS (short message service), IM (instant messaging), organizer and Web applications.
PDA 300 a includes a processor 400, a volatile memory 402 (i.e., RAM), and a nonvolatile memory 404 (e.g., ROM, hard disk, floppy disk, CD-ROM, etc.). Nonvolatile memory 404 generally provides storage of computer/processor-readable instructions, data structures, program modules and other data for PDA 300 a. PDA 300 a may also include various input/output 406 devices. Examples of input device 406 (not shown) can include a mouse or trackball for moving a cursor and making selections, a touch-sensitive display screen, a stylus pen for making menu input selections on a touch-sensitive display screen displaying menu options and/or soft buttons of a GUI (graphical user interface), hard buttons on the PDA 300 a structure, and so on. Output device 406 examples (not shown) can include a display screen, a touch-sensitive display screen, an audio speaker, and so on.
PDA 300 a implements an operating system (OS) 408 on processor 400 from volatile memory 402. The OS 408 is stored in memory 404 and initially loaded from memory 404 into volatile memory 402 by a boot program (not shown). The OS 408 is generally configured to manage other application programs 410 that are also stored in memory 404 and executable on processor 400 from volatile memory 402. The OS 408 honors requests for services made by application programs 410 through predefined application program interfaces (APIs). More specifically, the OS 408 typically determines the order in which multiple applications 410 execute on processor 400 and the execution time allotted for each application 410, manages the sharing of memory 402 among multiple applications 410, handles input and output to and from attached hardware devices (e.g., hard disks, printers, dial-up ports), and so on. In addition, users can typically interact directly with the OS 408 through a user interface such as a command language or graphical user interface.
PDA 300 a typically implements various application programs 410 stored in memory 404 and executable on processor 400. Such applications 410 might include software programs implementing, for example, word processors, spread sheets, browsers, file share programs, database management systems (DBMS), peer-to-peer applications, multimedia players, computer-aided design tools and the like. Most applications 410 are menu-driven programs that provide a list of possible commands or options from which a user may choose in order to implement various application functions on the PDA 300 a.
The manner in which menu selections are made often depends upon the particular type of computer device 300 running an application 410. For example, entering a menu selection on a computer 300 (for example, a desktop computer) that has a mouse as an input device 406 may occur by pointing to a menu item with a mouse and then clicking on the item. Many small-screen computing devices 300, such as PDA 300 a of
The menuing task is generally performed by a menuing subsystem of an operating system executing on a computer 300. Accordingly, as illustrated in PDA 300 a of the
In addition to managing typical menuing functions, the “hierarchical menu with ambiguous selection module” 412 implements a hierarchical menu in accordance with application programs 410 that support hierarchical menus. Thus, for applications 410 designed to provide hierarchical menus, menu module 412 is configured to implement those hierarchical menus as hierarchical menus with ambiguous selection. The implementation of a hierarchical menu as a hierarchical menu with ambiguous selection can occur automatically for any application making a hierarchical menu call to operating system 408, or it can occur based on a specific request from an application 410 to implement the hierarchical menu as a hierarchical menu with ambiguous selection. Thus, small-screen computer device manufacturers can configure devices to automatically provide hierarchical menus with ambiguous selection for application developers. This enables application developers to design hierarchical menus, both extended and short menus, in a typical manner without making any changes to their application source code. Alternatively, small-screen computer device manufacturers can configure devices to provide hierarchical menus with ambiguous selection by default, or upon request for application developers. This enables application developers to design hierarchical menus in a typical manner and further allows them to determine if application menus will be implemented as hierarchical menus with ambiguous selection by making a simple selection through their application source code to identify what action should occur in response to an ambiguous selection and populate short menus with preferably those actions, tasks or other commands most commonly used for such displayed page on the screen.
The computer 300 in the form of a handheld electronic device includes an input portion and an output display portion. The output display portion can be a display screen, such as an LCD or other similar display device.
The input portion includes a plurality of keys that can be of a physical nature such as actuable buttons or they can be of a software nature, typically constituted by virtual representations of physical keys on a display screen (referred to herein as “software keys”). It is also contemplated that the user input can be provided as a combination of the two types of keys. Each key of the plurality of keys has at least one actuable action which can be the input of a character, a command or a function. In this context, “characters” are contemplated to exemplarily include alphabetic letters, language symbols, numbers, punctuation, insignias, icons, pictures, and even a blank space. Input commands and functions can include such things as delete, backspace, moving a cursor up, down, left or right, initiating an arithmetic function or command, initiating a command or function specific to an application program or feature in use, initiating a command or function programmed by the user and other such commands and functions that are well known to those persons skilled in the art. Specific keys or other types of input devices can be used to navigate through the various applications and features thereof. Further, depending on the application or feature in use, specific keys can be enabled or disabled.
In the case of physical keys, all or a portion of the plurality of keys have one or more indicia displayed at their top surface and/or on the surface of the area adjacent the respective key, the particular indicia representing the character(s), command(s) and/or function(s) typically associated with that key. In the instance where the indicia of a key's function is provided adjacent the key, it is understood that this may be a permanent insignia that is, for instance, printed on the device cover beside the key, or in the instance of keys located adjacent the display screen, a current indicia for the key may be temporarily shown nearby the key on the screen.
In the case of software keys, the indicia for the respective keys are shown on the display screen, which in one embodiment is enabled by touching the display screen, for example, with a stylus to generate the character or activate the indicated command or function. Such display screens may include one or more touch interfaces, including a touchscreen. A non-exhaustive list of touchscreens includes, for example, resistive touchscreens, capacitive touchscreens, projected capacitive touchscreens, infrared touchscreens and surface acoustic wave (SAW) touchscreens.
Physical and software keys can be combined in many different ways as appreciated by those skilled in the art. In one embodiment, physical and software keys are combined such that the plurality of enabled keys for a particular application or feature of the handheld electronic device is shown on the display screen in the same configuration as the physical keys. Thus, the desired character, command or function is obtained by depressing the physical key corresponding to the character, command or function displayed at a corresponding position on the display screen, rather than touching the display screen. To aid the user, indicia for the characters, commands and/or functions most frequently used are preferably positioned on the physical keys and/or on the area around or between the physical keys. In this manner, the user can more readily associate the correct physical key with the character, command or function displayed on the display screen.
The various characters, commands and functions associated with keyboard typing in general are traditionally arranged using various conventions. The most common of these in the United States, for instance, is the QWERTY keyboard layout. Others include the QWERTZ, AZERTY, and Dvorak keyboard configurations of the English-language alphabet.
The QWERTY keyboard layout is the standard English-language alphabetic key arrangement 44, as shown in
The QWERTZ keyboard layout is normally used in German-speaking regions. This alphabetic key arrangement 44 is shown in
The AZERTY keyboard layout is normally used in French-speaking regions. This alphabetic key arrangement 44 is shown in
The Dvorak keyboard layout was designed in the 1930s by August Dvorak and William Dealey. This alphabetic key arrangement 44 is shown in
Alphabetic key arrangements in full keyboards and typewriters are often presented along with numeric key arrangements. An exemplary numeric key arrangement is shown in
As shown in
It is desirable for handheld electronic devices 300 to include a combined text-entry keyboard and a telephony keyboard. Examples of such mobile electronic devices include mobile stations, cellular telephones, wireless personal digital assistants (PDAs), two-way paging devices, and others. Various keyboards are used with such devices depending in part on the physical size of the handheld electronic device. Some of these are termed full keyboard, reduced keyboard, and phone keypads.
In embodiments of a handheld electronic device having a full keyboard, only one alphabetic character is associated with each one of a plurality of physical keys. Thus, with an English-language keyboard, there are at least 26 keys in the plurality, one for each letter of the English alphabet. In such embodiments using the English-language alphabet, one of the keyboard layouts described above is usually employed, and with the QWERTY keyboard layout being the most common.
One device that uses a full keyboard for alphabetic characters and incorporates a combined numeric keyboard is shown in
In order to further reduce the size of a handheld electronic device without making the physical keys or software keys too small, such embodiments of a handheld electronic device use a reduced keyboard, where more than one character/command/function is associated with each of at least a portion of the plurality of keys. This results in certain keys being ambiguous since more than one character is represented by or associated with the key, even though only one of those characters is typically intended by the user when activating the key.
Thus, certain software is contained in the processor of the handheld electronic device to determine or predict what letter or word was intended by the user. Predictive text technologies can also automatically correct common spelling errors. Predictive text methodologies often include a disambiguation engine and/or a predictive editor application. This helps facilitate easy spelling and composition, since the software is preferably intuitive software with a large word list and the ability to increase that list based on the frequency of word usage. The software preferably also has the ability to recognize character letter sequences that are common to the particular language, such as, in the case of English, words ending in “ing”. Such systems can also “learn” the typing style of the user making note of frequently used words to increase the predictive aspect of the software. With predictive editor applications, the display of the device depicts possible character sequences corresponding to the keystrokes that were entered. Typically, the most commonly used word is displayed first. The user may select other, less common words manually, or otherwise. Other types of predictive text computer programs may be utilized with the keyboard arrangement and keyboard described herein, without limitation.
The multi-tap method of character selection has been in use a number of years for permitting users to enter text using a touch screen device or a conventional telephone key pad such as specified under ITU E 1.161, among other devices. Multi-tap requires a user to press a key a varying number of times, generally within a limited period of time, to input a specific letter, thereby spelling the desired words of the message. A related method is the long tap method, where a user depresses the key until the desired character appears on the display out of a rotating series of letters.
A “text on nine keys” type system uses predictive letter patterns to allow a user to ideally press each key representing a letter only once to enter text. Unlike multi-tap which requires a user to indicate a desired character by a precise number of presses of a key, or keystrokes, the “text on nine keys” system uses a predictive text dictionary and established letter patterns for a language to intelligently guess which one of many characters represented by a key that the user intended to enter. The predictive text dictionary is primarily a list of words, acronyms, abbreviations and the like that can be used in the composition of text. Generally, all possible character string permutations represented by a number of keystrokes entered by a user are compared to the words in the predictive text dictionary and a subset of the permutations is shown to the user to allow selection of the intended character string. The permutations are generally sorted by likelihood of occurrence which is determined from the number of words matched in the predictive text dictionary and various metrics maintained for these words. Where the possible character string permutations do not match any words in the predictive text dictionary, the set of established letter patterns for a selected language can be applied to suggest the most likely character string permutations, and then require the user to input a number of additional keystrokes in order to enter the desired word.
The keys of reduced keyboards are laid out with various arrangements of characters, commands and functions associated therewith. In regards to alphabetic characters, the different keyboard layouts identified above are selectively used based on a user's preference and familiarity; for example, the QWERTY keyboard layout is most often used by English speakers who have become accustomed to the key arrangement.
Another embodiment of a reduced alphabetic keyboard is found on a standard phone keypad. Most handheld electronic devices having a phone key pad also typically include alphabetic key arrangements overlaying or coinciding with the numeric keys as shown in
The table below identifies the alphabetic characters associated with each number for some other phone keypad conventions.
It should also be appreciated that other alphabetic character and number combinations can be used beyond those identified above when deemed useful to a particular application.
As noted earlier, multi-tap software has been in use for a number of years permitting users to enter text using a conventional telephone keypad such as specified under ITU E 1.161 or on a touch screen display, among other devices. Multi-tap requires a user to press a key a varying number of times, generally within a limited period of time, to input a specific letter associated with the particular key, thereby spelling the desired words of the message. A related method is the long tap method, where a user depresses the key until the desired character appears on the display.
In this embodiment, the device 300 b has a first input controller, which is preferably a navigation tool 120 having a depressible rolling member or trackball 121, which is used to access the short menu. The handheld device 300 b also has a second input controller, which in this case is a menu key 606, which is used to access the applicable extended menu. These menus are based on the interface principle of see and click. In this manner, users do not have to remember commands or options because they can view these options at any time.
Referring now to
The initial screen for the device 300 b is a home screen 610 a and 610 b. Two examples 610 a and 610 b are shown in
The menu key or button 606 is to the left of the trackball 121 and activates an extended menu, which contains high level actions desirable from the home screen or application specific commands when initiated from a selected application. The menu key or button 606 provides a consistent location where the user can look for commands. Each application has its own extended menu consisting of application-specific menus.
Clicking (depressing) the trackball 121 when an icon on the home screen is highlighted opens the application, preferably to a common page used by users. For example, if the email message's icon is highlighted, then a page listing the messages will open. When not on the home screen but while a page of an application is displayed without a menu showing, if the trackball 121 is clicked, this is presently referred to as an ambiguous selection, since several commands may apply in that circumstance. This ambiguous selection will cause a short menu to appear on the GUI. The short menu contains a list of menu items that are preferably the most commonly used commands in the present screen context. These short menus again are based on the interface principle of see and click. The options or menus change according to the task at hand.
The items shown in these short menus preferably are those that a user performs frequently. In other embodiments, the short menu is selected based on either predefined user or programmer preference. These short menus are preferably correctly organized, worded clearly, and behave correctly in order for the user to understand what options they should expect to see, and how to access the additional functionality specific to the selected application.
In at least one embodiment, the items displayed in the short menu are dynamically updated depending upon the user's selection of items from the extended menu. When items are selected from the extended menu repeatedly they are ranked and depending upon their number of selections will relatively appear in the short menu. The number of items in the short menu is preferably between two and ten items. The items displayed in the short menu can also be user selected in one embodiment.
In another embodiment, the information for the short menu is stored locally as well as at a central location. The transmission of the short menus that are applicable for the particular user is via a communication system as described below. The information stored at the central location allows the user to access that information on multiple devices. This will allow the user to experience identical menus on different devices. This is helpful when a user would like to encounter the same interface, but uses the devices in different ways. The information alternatively may be stored on a memory card and transferred between devices via the memory card.
For purposes of example, in the following disclosure, the use of the menus, trackball and keys are discussed relative to the use of an email message application.
Initially, the user uses the trackball 121 to scroll to the desired application. In this case, it is the email messaging application. In
For example, clicking on “Compose” would initiate the address book function and allow the user to select an addressee, select the type of message (email, SMS, IM, etc.) and proceed with the composition of a message. However, for the present example, the user desires to open their email message mailbox and view a list of email messages. In another embodiment, the menu includes the option “close,” which will close the menu. Preferably, the option to close the menu is listed near the bottom. This enables closing of the menu without requiring the use of an additional key to close the menu.
To do this, the menu key 606 is clicked again and the extended menu for the email messaging application is displayed, as shown in
In order to open and read a particular email message, the trackball 121 is then used to scroll to the desired email message in the displayed list to highlight it. The menu key 606 is clicked and the extended menu 618 is displayed, for example as shown in
The user then decides what to do as a result of reading the message. To perform the next action, the user clicks the menu key 606 and another extended menu 622 appears, as shown in
The use of the short menu usually requires fewer clicks to perform the same action as compared to the use of solely the extended menus. For example, the following is an embodiment using the ambiguous selections and/or short menus to open the email messaging application and to open a particular email message.
Starting from the home screen or menu 602, the trackball 121 is used to scroll to and highlight the email message icon 612 as shown in
In this regard, it is appreciated that to open the email message list took two clicks and one scrolling using the extended menus, whereas with the ambiguous selection routine of the menu program, this was reduced to just a single click.
Now, with the email message list 616 on the display, the user scrolls to the desired email message, clicks with the trackball 121, and the desired email message 620 is displayed on the screen 110 (See
In this regard, it is also appreciated that to open a desired email message took two clicks and possibly a scroll, whereas with the ambiguous selection routine of the menu program, this was reduced to just a single click.
While the user is viewing the message 620 on the GUI display 110 after having read its contents, the user clicks the trackball 121 making another ambiguous selection, again since no menu is on display 110 and more than one action or task is possible. This ambiguous selection causes the menu program to display a short menu 624, preferably of menu item corresponding to actions or tasks commonly performed by users at that point. In this embodiment, a short menu 624 is shown in
Thus, the short menu provides convenient access to the high level, most often-used commands associated with an application. The short menu displayed can also depend on the position of the cursor within the displayed page. The short menu can be considered as a shortcut to commands that make sense to the task at hand. In some cases when on the home screen, rather than opening the indicated application, a short menu can be displayed with the more common subset of actions, tasks or other commands by making an ambiguous selection by clicking on a highlighted application icon on the home screen.
If the desired action or task is not listed on the short menu, the user can click the menu key 606 to view the extended menu, such as shown in
It is also noted that commands for various tasks can also be input via the keyboard by typing them and entering it. More experienced users may use this feature to further reduce number of keystrokes in some situations.
Other applications of short menus are possible as well. Another example of the use of a short menu is when the device features soft keys, which can be user customizable. Since these softkeys are user customizable, a short menu can be activated when the soft key is activated two times without any additional user input and/or within a predefined time. The short menu would present options to change the soft key to bring up different program options. The short menu likewise could feature the extended menu features and close options mentioned above.
Example methods for implementing an embodiment of a hierarchical menu and ambiguous selection will now be described with primary reference to the flow diagram of
A “processor-readable medium,” as used herein, can be any means that can contain, store, communicate, propagate, or transport instructions for use by or execution by a processor. A processor-readable medium can be, without limitation, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples of a processor-readable medium include, among others, an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic), a random access memory (RAM) (magnetic), a read-only memory (ROM) (magnetic), an erasable programmable-read-only memory (EPROM or Flash memory), an optical fiber (optical), a rewritable compact disc (CD-RW) (optical), a portable compact disc read-only memory (CDROM) (optical), and a solid state storage device (magnetic; e.g., flash memory).
Initially, there is displayed a home screen 802 on the GUI. The user scrolls to a particular application using a navigation tool. The user can then depress the menu key to initiate a non-ambiguous selection 804 of that particular application that is received by the method 800. The method 800 then causes the selected application to opean an application 806 and display a page 808 on the GUI. Alternatively, the user can make an ambiguous selection 810, for example, if the navigation tool is a trackball having a depressible rolling member, the user depresses the rolling member when no menu is present. The method 800 receives the ambiguous selection 810 and then must determine whether there is a short menu for this application 812. If there is no short menu, then the method 800 causes the application to open 806 and display a page 808. If there is a short menu, then the method causes the display of the application short menu 814. The user then scrolls to the desired menu item and depresses the rolling member. The method 800 receives a non-ambiguous selection of the menu item 816 and either displays a page or causes the computer to perform the task selected 818.
Once a page is displayed 808 or 818, the user again has two choices. The user can depress the menu key and the method 800 receives a command to display an extended menu 820 corresponding to the displayed page. The method 800 then displays that extended menu 822. The user then scrolls to a particular menu item and depresses the rolling member, which causes the method 800 to receive a non-ambiguous selection of a menu item 824. The method 800 then displays a page or performs the task per the selection 826. Alternatively, the user can depress the rolling member with no menu displayed causing an ambiguous selection 828. The method 800 receives this ambiguous selection 828 and causes the display of a corresponding short menu 830, or the method 800 can be programmed to perform a particular task that is the most common for the displayed page (not shown in
If the user is presented with another displayed page, the user can repeat steps 820 through 826 or 828 through 834, depending on whether the user uses an extended menu or short menu, respectively.
Once the particular activity is completed, the user can use the back key to navigate back through the various pages displayed until the user reaches a page from which the user can perform another activity or select another application upon reaching the home screen 802. The computer can be equipped with an escape key to go to the home screen 802 directly. Alternatively, an ambiguous selection to display a short menu or a non-ambiguous selection can be made to display a short or extended menu that has a home screen menu item.
The computing environment 900 includes a general-purpose computing system in the form of a computer 902. The components of computer 902 can include, but are not limited to, one or more processors or processing units 904, a system memory 906, and a system bus 908 that couples various system components including the processor 904 to the system memory 906.
The system bus 908 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. An example of a system bus 908 would be a Peripheral Component Interconnects (PCI) bus, also known as a Mezzanine bus.
Computer 902 typically includes a variety of computer-readable media. Such media can be any available media that is accessible by computer 902 and includes both volatile and non-volatile media, removable and non-removable media. The system memory 906 includes computer readable media in the form of volatile memory, such as random access memory (RAM) 910, and/or non-volatile memory, such as read only memory (ROM) 912. A basic input/output system (BIOS) 914, containing the basic routines that help to transfer information between elements within computer 902, such as during start-up, is stored in ROM 912. RAM 910 typically contains data and/or program modules that are immediately accessible to and/or presently operated on by the processing unit 904.
Computer 902 can also include other removable/non-removable, volatile/non-volatile computer storage media. By way of example,
The disk drives and their associated computer-readable media provide non-volatile storage of computer readable instructions, data structures, program modules, and other data for computer 902. Although the example illustrates a hard disk 916, a removable magnetic disk 920, and a removable optical disk 924, it is to be appreciated that other types of computer readable media which can store data that is accessible by a computer, such as magnetic cassettes or other magnetic storage devices, flash memory cards, CD-ROM, digital versatile disks (DVD) or other optical storage, random access memories (RAM), read only memories (ROM), electrically erasable programmable read-only memory (EEPROM), and the like, can also be utilized to implement the exemplary computing system and environment.
Any number of program modules can be stored on the hard disk 916, magnetic disk 920, optical disk 924, ROM 912, and/or RAM 910, including by way of example, an operating system 926, one or more application programs 928, other program modules 930, and program data 932. Each of such operating system 926, one or more application programs 928, other program modules 930, and program data 932 (or some combination thereof) may include an embodiment of a caching scheme for user network access information.
Computer 902 can include a variety of computer/processor readable media identified as communication media. Communication media typically embodies computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media. Combinations of any of the above are also included within the scope of computer readable media.
A user can enter commands and information into computer system 902 via input devices such as a keyboard 934 and a pointing device 936 (e.g., a “mouse”). Other input devices 938 (not shown specifically) may include a microphone, joystick, game pad, satellite dish, serial port, scanner, and/or the like. These and other input devices are connected to the processing unit 904 via input/output interfaces 940 that are coupled to the system bus 908, but may be connected by other interface and bus structures, such as a parallel port, game port, or a universal serial bus (USB).
A monitor 942 or other type of display device can also be connected to the system bus 908 via an interface, such as a video adapter 944. In addition to the monitor 942, other output peripheral devices can include components such as speakers (not shown) and a printer 946 which can be connected to computer 902 via the input/output interfaces 940.
Computer 902 can operate in a networked environment using logical connections to one or more remote computers, such as a remote computing device 948. By way of example, the remote computing device 948 can be a personal computer, portable computer, a server, a router, a network computer, a peer device or other common network node, and the like. The remote computing device 948 is illustrated as a portable computer that can include many or all of the elements and features described herein relative to computer system 902.
Logical connections between computer 902 and the remote computer 948 are depicted as a local area network (LAN) 950 and a general wide area network (WAN) 952. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and the Internet. When implemented in a LAN networking environment, the computer 902 is connected to a local network 950 via a network interface or adapter 954. When implemented in a WAN networking environment, the computer 902 typically includes a modem 956 or other means for establishing communications over the wide network 952. The modem 956, which can be internal or external to computer 902, can be connected to the system bus 908 via the input/output interfaces 940 or other appropriate mechanisms. It is to be appreciated that the illustrated network connections are exemplary and that other means of establishing communication link(s) between the computers 902 and 948 can be employed.
In a networked environment, such as that illustrated with computing environment 900, program modules depicted relative to the computer 902, or portions thereof, may be stored in a remote memory storage device. By way of example, remote application programs 958 reside on a memory device of remote computer 948. For purposes of illustration, application programs and other executable program components, such as the operating system, are illustrated herein as discrete blocks, although it is recognized that such programs and components reside at various times in different storage components of the computer system 902, and are executed by the data processor(s) of the computer.
An exemplary handheld electronic device 300 b is shown in the perspective view of
An exemplary embodiment of the handheld electronic device 300 b as shown in
As may be appreciated from
In one embodiment, the keyboard 332 comprises a plurality of keys with which alphabetic letters are associated on one letter per key basis. It is contemplated that the keys may be directly marked with letters, or the letters may be presented adjacent, but clearly in association with a particular key. This one-to-one pairing between the letters and keys is depicted in
In the alternative embodiment of
The navigation tool 120 is frictionally engaged with the support frame 101, but in a preferred embodiment the navigation tool 120 is removable when the device is assembled. This allows for replacement of the navigation tool 120 if/when it becomes damaged or the user desires replacement with a different type of navigation tool 120. In the exemplary embodiment of
A serial port (preferably a Universal Serial Bus port) 330 and an earphone jack 140 are fixably attached to the PCB 102 and further held in place by right side element 105. Buttons 130, 131, 132, 133 are attached to switches (not shown), which are connected to the PCB 102.
Final assembly involves placing the top piece 107 and bottom piece 108 in contact with support frame 101. Furthermore, the assembly interconnects right side element 105 and left side element 106 with the support frame 101, PCB 102, and lens 103. These side elements 105, 106 provide additional protection and strength to the support structure of the device 300 b. In a preferred embodiment, backplate 104 is removably attached to the other elements of the device.
The block diagram of
The above described auxiliary I/O subsystem 328 can take the form of a variety of different subsystems including the above described navigation tool 120. As previously mentioned, the navigation tool 120 is preferably a trackball based device, but it can be any one of the other above described tools. Other auxiliary I/O devices can include external display devices and externally connected keyboards (not shown). While the above examples have been provided in relation to the auxiliary I/O subsystem, other subsystems capable of providing input or receiving output from the handheld electronic device 300 b are considered within the scope of this disclosure.
In a preferred embodiment, the communication device 300 b is designed to wirelessly connect with a communication network 319. Some communication networks that the electronic device 300 b may be designed to operate on require a subscriber identity module (SIM) or removable user identity module (RUIM). Thus, a device 300 b intended to operate on such a system will include SIM/RUIM interface 344 into which the SIM/RUIM card (not shown) may be placed. The SIM/RUIM interface 344 can be one in which the SIM/RUIM card is inserted and ejected.
In an exemplary embodiment, the flash memory 324 is enabled to provide a storage location for the operating system, device programs, and data. While the operating system in a preferred embodiment is stored in flash memory 324, the operating system in other embodiments is stored in read-only memory (ROM) or similar storage element (not shown). As those skilled in the art will appreciate, the operating system, device application or parts thereof may be loaded in RAM 326 or other volatile memory.
In a preferred embodiment, the flash memory 324 contains programs/applications 358 for execution on the device 300 b including an address book 352, a personal information manager (PIM) 354, and the device state 350. Furthermore, programs 358 and data 356 can be segregated upon storage in the flash memory 324 of the device 300 b. However, another embodiment of the flash memory 324 utilizes a storage allocation method such that a program 358 is allocated additional space in order to store data associated with such program. Other known allocation methods exist in the art and those persons skilled in the art will appreciate additional ways to allocate the memory of the device 300 b.
In a preferred embodiment, the device 300 b is pre-loaded with a limited set of programs that enable it to operate on the communication network 319. Another program that can be preloaded is a PIM 354 application that has the ability to organize and manage data items including but not limited to email, calendar events, voice messages, appointments and task items. In order to operate efficiently, memory 324 is allocated for use by the PIM 354 for the storage of associated data. In a preferred embodiment, the information that PIM 354 manages is seamlessly integrated, synchronized and updated through the communication network 319 with a user's corresponding information on a remote computer (not shown). The synchronization, in another embodiment, can also be performed through the serial port 330 or other short-range communication subsystem 340. Other applications may be installed through connection with the wireless network 319, serial port 330 or via other short-range communication subsystems 340.
When the device 300 b is enabled for two-way communication within the wireless communication network 319, it can send and receive signals from a mobile communication service. Examples of communication systems enabled for two-way communication include, but are not limited to, the GPRS (General Packet Radio Service) network, the UMTS (Universal Mobile Telecommunication Service) network, the EDGE (Enhanced Data for Global Evolution) network, and the CDMA (Code Division Multiple Access) network and those networks generally described as packet-switched, narrowband, data-only technologies mainly used for short burst wireless data transfer.
For the systems listed above, the electronic device 300 b must be properly enabled to transmit and receive signals from the communication network 319. Other systems may not require such identifying information. A GPRS, UMTS, and EDGE require the use of a SIM (Subscriber Identity Module) in order to allow communication with the communication network 319. Likewise, most CDMA systems require the use of a RUIM (Removable Identity Module) in order to communicate with the CDMA network. The RUIM and SIM card can be used in multiple different electronic devices 300 b. The electronic device 300 b may be able to operate some features without a SIM/RUIM card, but it will not be able to communicate with the network 319. In some locations, the electronic device 300 b will be enabled to work with special services, such as “911” emergency, without a SIM/RUIM or with a non-functioning SIM/RUIM card. A SIM/RUIM interface 344 located within the device allows for removal or insertion of a SIM/RUIM card (not shown). This interface 344 can be configured like that of a disk drive or a PCMCIA slot or other known attachment mechanism in the art. The SIM/RUIM card features memory and holds key configurations 351, and other information 353 such as identification and subscriber related information. The SIM/RUIM card features memory and holds key configurations 351, and other information 353 such as identification and subscriber related information. Furthermore, a SIM/RUIM card can be enabled to store information about the user including identification, carrier and address book information. With a properly enabled electronic device 300 b, two-way communication between the electronic device 300 b and communication network 319 is possible.
If the electronic device 300 b is enabled as described above or the communication network 319 does not require such enablement, the two-way communication enabled device 300 b is able to both transmit and receive information from the communication network 319. The transfer of data can be from the device 300 b or to the device 300 b. In order to communicate with the communication network 319, the device 300 b in a preferred embodiment is equipped with an integral or internal antenna 318 for transmitting signals to the communication network 319. Likewise the electronic device 300 b in the preferred embodiment is equipped with another antenna 316 for receiving communication from the communication network 319. These antennae (316, 318) in another preferred embodiment are combined into a single antenna (not shown). As one skilled in the art would appreciate, the antenna or antennae (316, 318) in another embodiment are externally mounted on the device 300 b.
When equipped for two-way communication, the electronic device 300 b features a communication subsystem 311. As is well known in the art, this communication subsystem 311 is modified so that it can support the operational needs of the device 300 b. The subsystem 311 includes a transmitter 314 and receiver 312 including the associated antenna or antennae (316, 318) as described above, local oscillators (LOs) 313, and a processing module 320 that in a preferred embodiment is a digital signal processor (DSP) 320.
A signal received by the electronic device 300 b is first received by the antenna 316 and then input into a receiver 312, which in a preferred embodiment is capable of performing common receiver functions including signal amplification, frequency down conversion, filtering, channel selection and the like, and analog to digital (A/D) conversion. The A/D conversion allows the DSP 320 to perform more complex communication functions such as demodulation and decoding on the signals that are received by DSP 320 from the receiver 312. The DSP 320 is also capable of issuing control commands to the receiver 312. An example of a control command that the DSP 320 is capable of sending to the receiver 312 is gain control, which is implemented in automatic gain control algorithms implemented in the DSP 320. Likewise, the electronic device 300 b is capable of transmitting signals to the communication network 319. The DSP 320 communicates the signals to be sent to the transmitter 314 and further communicates control functions, such as the above described gain control. The signal is emitted by the device 300 b through an antenna 318 connected to the transmitter 314.
It is contemplated that device 300 b communication with the wireless network 319 can be any type of communication that both the wireless network 319 and device 300 b are enabled to transmit, receive and process. In general, these can be classified as voice and data. Voice communication is communication in which signals for audible sounds are transmitted by the device 300 b through the communication network 319. Data is all other types of communication that the device 300 b is capable of performing within the constraints of the wireless network 319.
In the instance of voice communication, voice transmissions that originate from the electronic device 300 b enter the device 300 b though a microphone 336. The microphone 336 communicates the signals to the microprocessor 338 for further conditioning and processing. The microprocessor 338 sends the signals to the DSP 320 which controls the transmitter 314 and provides the correct signals to the transmitter 314. Then, the transmitter 314 sends the signals to the antenna 318, which emits the signals to be detected by a communication network 319. Likewise, when the receiver 312 obtains a signal from the receiving antenna 316 that is a voice signal, it is transmitted to the DSP 320 which further sends the signal to the microprocessor 338. Then, the microprocessor 338 provides a signal to the speaker 334 of the device 300 b and the user can hear the voice communication that has been received. The device 300 b in a preferred embodiment is enabled to allow for full duplex voice transmission.
In another embodiment, the voice transmission may be received by the electronic device 300 b and translated as text to be shown on the display screen 322 of the electronic device 300 b. The electronic device 300 b is also capable of retrieving messages from a voice messaging service operated by the communication network operator. In a preferred embodiment, the device 300 b displays information in relation to the voice message, such as the number of voice messages or an indication that a new voice message is present on the operating system.
In a preferred embodiment, the display 322 of the electronic device 300 b provides an indication about the identity of an incoming call, duration of the voice communication, telephone number of the communication device, call history, and other related information. It should be appreciated that the above-described embodiments are given as examples only and one skilled in the art may effect alterations, modifications and variations to the particular embodiments without departing from the scope of the application.
As stated above, the electronic device 300 b and communication network 319 can be enabled to transmit, receive and process data. Several different types of data exist and some of these types of data will be described in further detail. One type of data communication that occurs over the communication network 319 includes electronic mail (email) messages. Typically an email is text based, but can also include other types of data such as picture files, attachments and html. While these are given as examples, other types of messages are considered within the scope of this disclosure as well.
When the email originates from a source outside of the device and is communicated to the device 300 b, it is first received by the receiving antenna 316 and then transmitted to the receiver 312. From the receiver 312, the email message is further processed by the DSP 320, and it then reaches the microprocessor 338. The microprocessor 338 executes instructions as indicated from the relevant programming instructions to display, store or process the email message as directed by the program. In a similar manner, once an email message has been properly processed by the microprocessor 338 for transmission to the communication network 319, it is first sent to the DSP 320, which further transmits the email message to the transmitter 314. The transmitter 314 processes the email message and transmits it to the transmission antenna 318, which broadcasts a signal to be received by a communication network 319. While the above has been described generally, those skilled in this art will appreciate those modifications which are necessary to enable the electronic device 300 b to properly transmit the email message over a given communication network 319.
Furthermore, the email message may instead be transmitted from the device 300 b via a serial port 330, another communication port 340, or other wireless communication ports 340. The user of the device 300 b can generate a message to be sent using the keyboard 332 and/or auxiliary I/O 328, and the associated application to generate the email message. Once the email message is generated, the user may execute a send command which directs the email message from the electronic device 300 b to the communication network 319. In an exemplary embodiment, a keyboard 332, preferably an alphanumeric keyboard, is used to compose the email message. In a preferred embodiment, an auxiliary I/O device 328 is used in addition to the keyboard 332.
While the above has been described in relation to email messages, one skilled in the art could easily modify the procedure to function with other types of data such as SMS text messages, Internet websites, videos, instant messages, programs and ringtones. Once the data is received by the microprocessor 338, the data is placed appropriately within the operating system of the device 300 b. This might involve presenting a message on the display 322 which indicates the data has been received or storing it in the appropriate memory 324 on the device 300 b. For example, a downloaded application such as a game will be placed into a suitable place in the flash memory 324 of the device 300 b. The operating system of the device 300 b will also allow for appropriate access to the new application as downloaded.
While the above has been described in relation to a computer 300 and handheld electronic devices 300 a and 300 b, there are particular classes of these devices. A handheld communication device is a handheld electronic device 300 a, 300 b which is capable of communicating with a communications network which can be data, voice, or combination thereof.
Although the invention has been described in language specific to structural features and/or methodological acts, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as exemplary forms of implementing the claimed invention.