FIELD OF THE INVENTIONThe present invention pertains to wireless communication devices. More particularly, the present invention relates to Graphical User Interface (GUI) features of a microbrowser in a hand-held wireless communication device.[0001]
BACKGROUND OF THE INVENTIONFor people and businesses requiring instant access to information, the Internet and intranets have provided a vehicle for near real-time delivery of information from an enormous number of sources. For many of those same individuals, mobile devices such as cellular telephones, two-way pagers, and Personal Digital Assistants (PDAs) have provided a way of communicating regardless of locality. In recent years, Internet technology and mobile computing and communications technologies have begun to merge, to the point where mobile devices such as mobile telephones, PDAs, and pagers are now common entry points to the Internet and intranets.[0002]
Devices used to access the Internet (or intranets) generally have certain features in common, whether they sit on a desktop or are held in the palm of the hand. One such feature is that they may be used to display and navigate hypermedia content, such as World Wide Web pages. Such devices normally include software known as a browser, which allows the user to access and navigate hyperlinked content. In a mobile device, this software is sometimes referred to as a microbrowser or minibrowser, because the software consumes much less memory than a conventional PC browser, but it is nonetheless simply a particular type of browser and may be referred to as such.[0003]
To access the Internet, network servers and network personal computers (PCs) normally use standard web protocols and mark-up languages, such as hypertext transport protocol (HTTP) and hypertext markup language (HTML), respectively. Mobile devices generally use wireless protocols, such as wireless access protocol (WAP) or handheld device transport protocol (HDTP), and wireless markup languages, such as wireless markup language (WML) and handheld device markup language (HDML), to accomplish the same tasks.[0004]
One problem with using mobile devices to access the Internet is the lack of user-friendliness of their user interfaces. Because these devices are designed to be mobile, they normally have very small displays, limited memory, compact keypads and, commonly, only a limited provision for pointer/cursor movement. These restrictions exist on mobile devices because the mobile devices are designed to be relatively inexpensive and small so as to fit into the palm of the hand. What is needed, therefore, is a mobile device which provides a more user-friendly interface for accessing the Internet or other remote data networks.[0005]
In a mobile (e.g., cellular) telephone, because of the small amount of device memory, it is difficult to fit in memory a browser with code for one user interface for browser functions and another, completely separate set of code for a second user interface for telephony functions (e.g., dialing telephone numbers, accessing the telephone's internal address book, and accessing the telephone's settings). It is also difficult for many users to learn two user interfaces if these user interfaces have different end-user features. Therefore, it is desirable on some mobile telephones to leverage the browser's user interface to implement the telephone's user interface, in order to save memory (only one set of user interface code is needed in the telephone) and to reduce end-user confusion (only one user interface is presented to the user).[0006]
SUMMARY OF THE INVENTIONThe present invention includes a method and apparatus for operating a hand-held mobile device. In one embodiment of the method, a softkey indicator indicating a corresponding softkey action is displayed on a display of the hand-held mobile device. An input field is also displayed on the display with the softkey indicator, for receiving characters input by a user using an input device of the hand-held mobile device. In response to detecting activation of the input field, a softkey action previously associated with the input field is automatically selected, and the softkey indicator is automatically changed to indicate the selected softkey action.[0007]
In another embodiment of the method, an input field and a menu including a number of actions that can be performed using characters input to the input field are displayed on the display. A user input representing a single action by the user and designating one of the actions in the menu is then received. In response to the user input, the designated action is selected and the input field is activated to enable the user to input characters associated with the designated action.[0008]
In another embodiment of the method, the hand-held mobile device communicates with a remote processing system over a wireless network and acquires information associated with a current location of the hand-held mobile device. The hand-held mobile device then displays a hyperlink indicating the location of the device to the user on the display, based on the acquired information.[0009]
Other features of the present invention will be apparent from the accompanying drawings and from the detailed description which follows.[0010]
BRIEF DESCRIPTION OF THE DRAWINGSThe present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:[0011]
FIG. 1 illustrates a network environment in which a hand-held mobile device may be used;[0012]
FIG. 2 is a schematic view of a hand-held mobile device that may be used to access the Internet;[0013]
FIG. 3 is a block diagram of the principle components of the hand-held mobile device; and[0014]
FIGS. 4A through 4F show a sequence of display screens generated by the browser of the hand-held mobile device.[0015]
DETAILED DESCRIPTIONA method and apparatus for providing a microbrowser with a Graphical User Interface (GUI) in a hand-held, wireless, mobile device are described. Note that in this description, references to “one embodiment” or “an embodiment” mean that the feature being referred to is included in at least one embodiment of the present invention. Further, separate references to “one embodiment” in this description do not necessarily refer to the same embodiment; however, neither are such embodiments mutually exclusive, unless so stated and except as will be readily apparent to those skilled in the art. For example, a feature, structure, act, etc. described in one embodiment may also be included in other embodiments. Thus, the present invention can include a variety of combinations and/or integrations of the embodiments described herein.[0016]
A microbrowser in a hand-held mobile device can be designed to provide a (Graphical User Interface) GUI that is more user-friendly than those of prior mobile devices, as described below. As used herein, “hand-held” means designed to be held in the palm of the hand. A “wireless” device is a device designed to communicate across a wireless network.[0017]
One type of hand-held mobile device is a mobile (e.g., cellular) telephone. A problem with current mobile telephones that include browsers is that, to make a telephone call while the browser is running, the user is required to perform an undesirably long sequence of actions. This problem also occurs when using the browser to implement the mobile telephone's phone user interface for making calls. With a current browser, the user must first select a displayed text box, then type a telephone number into the text box using the telephone's keypad, then use a key to de-select the text box, then select a hyperlink labeled “Call” or “Talk” (or something similar), and finally, activate the hyperlink to initiate the call. This sequence of actions is tedious for many users and, in any event, is undesirably longer and more complicated than placing a telephone call on a telephone that has no browser or in which the browser is not running as the telephone's user interface. It is desirable, therefore, to simplify making a telephone call from the context of an active browser, so that it is more like making a telephone call from a more conventional or non-browser-enabled telephone.[0018]
Accordingly, as described in greater detail below, the browser of the present invention provides a mode which facilitates making a telephone call, in a manner which is much easier for the user than in prior browsers. Specifically, the browser provides a GUI that includes a softkey indicator indicating a corresponding softkey action and an input field for receiving a user-input character string, such as a telephone number. In response to activation of (e.g., typing a number into) the input field, a softkey action previously associated with the input field, such as a dial action, is automatically selected, and the softkey indicator is automatically changed to indicate the selected action. This allows the user to initiate the call simply by typing the telephone number and then activating the softkey.[0019]
In another mode, the GUI displays an input field and a menu listing performable actions. In response to a user input representing a single action by the user and designating one of the performable actions, the designated action is selected and the input field is activated, enabling the user to input characters associated with the designated action. This allows easier selection from among multiple menu items along with associated text entry.[0020]
Another problem to be addressed herein is that, when the user of a mobile device is traveling, there may be instances when the user is lost or is unsure about his current location. Sometimes the user may need information that is particularly relevant to the user's current location, such as the locations of nearby gas stations, restaurants, stores, automatic teller machines (ATMs), or points of interest. Accordingly, the browser of the present invention provides an efficient way of indicating the user's current location and of enabling the user to quickly and easily access information and location-dependent services that are relevant to that location. Other advantageous features of the browser will be apparent from the description which follows.[0021]
FIG. 1 shows a network environment in which a mobile, hand-held communication device (or simply “mobile device”) can be used.[0022]Mobile device100 may be of any of the types of mobile devices mentioned above, such as a mobile (e.g., cellular) telephone, PDA, or two-way pager, for example. To facilitate explanation, the example of a mobile telephone is used at various points in the following description.Mobile device100 is configured to retrieve remotely stored hypermedia information, such as WML card decks, HTML documents, compact HTML (cHTML) documents, extensible markup language (XML) documents, or HDML documents, from one or more network server device, shown asnetwork servers116 and120.Network Servers116 and120 may be, for example, conventional personal computers (PCs), server-class computers, or computer workstations.Mobile device100 has adisplay102 and akeypad103.
[0023]Mobile device100 also includes and executes a microbrowser, which is software that allows the user ofmobile device100 to access and navigate content on the Internet or other network, including browsing the World Wide Web or any other “web” of hypermedia content. One example of a microbrowser that may be used for this purpose is the UP.Browser from Openwave Systems Inc. of Redwood City, Calif. The microbrowser may be stored in memory within themobile device100. The microbrowser generates a GUI viadisplay102 to enable the user of themobile device100 to access and retrieve hypermedia information fromnetwork servers116 and120. Various features of the GUI which make the microbrowser more user-friendly are described below.
The communication path between[0024]mobile device100 andnetwork servers116 and120 includes awireless communication network104, aproxy server108, and awireline network112. Thewireless network104 is a wireless telecommunications network such as a cellular digital packet data (CDPD) network, a global system for mobile (GSM) network, a code division multiple access (CDMA) network, or a time division multiple access (TDMA) network. The communications protocols used bywireless network104 may include, for example, WAP and/or HDTP. Thewireline network112 is a land-based network that may be or include the Internet, an intranet, or a data network of any private network, such as a local area network (LAN). The communication protocol supportingwireline network112 may be, for example, transmission control protocol/Internet protocol (TCP/IP), HTTP, or secure HTTP (sHTTP).
[0025]Proxy server108 acts a bridge betweenwireless network104 andwireline network112.Proxy server108 may be, for example, a conventional server-class computer or PC. Although shown as a physically separate device,proxy server108 may be implemented in a network server (e.g. network servers116 or120) with hardware and software well known in the art providing the connection betweenwireless network104 andwireline network112.Proxy server108 may also provide gateway functions, such as translation/conversion between the language(s) and protocol(s) used on thewireless network104 and those used on thewireline network112.
FIG. 2 is a schematic view of the[0026]mobile device100, according to one embodiment. As shown,mobile device100 includes adisplay102 and akeypad103.Display102 may display hypermedia information, such asinformation208, and, depending on the current mode of the device, one or more softkey indicators, such assoftkey indicator212.Function keys216 and220 can be used to activate softkeys represented by the softkey indicators (when enabled). It is useful to now define what is meant by a “softkey”. A softkey is a user-operable feature that is analogous to a physical key or button, but which is formed by a combination of a physical key (e.g., either ofkeys220 and216 in FIG. 2) and a softkey indicator displayed on thedisplay102. Because not all features can be easily mapped to specific keys on small, wireless devices, the use of softkeys has become commonplace for manipulating items on the screen and initiating functions. Such devices typically have no direct input mechanisms (e.g., pen-based input or mouse input (such as on a PDA or PC respectively). To compensate, softkeys are indicated by indicators displayed directly above the physical keys that operate the softkey functions. To facilitate description, softkey indicators may be referred to herein simply as “softkeys”. It will be understood, however, that “pressing” or otherwise activating a softkey is accomplished by pressing the physical key which corresponds to the softkey indicator.
Referring still to FIG. 2,[0027]keypad103 includes alphanumerical keys230 (such as for dialing a telephone numbers and entering links),function keys216 and220,Up arrow key221A, andDown arrow key221B.Arrow keys221A and221B are used to navigate through information displayed ondisplay208, such as to move a selection indicator (e.g., highlighting), cursor, pointer, or other indicator, or to scroll the display.
The[0028]hypermedia information208 shown in FIG. 2 includes a list of selectable identifiers (e.g. “UP Home”) having corresponding Uniform Resource Identifiers (URIs).Hypermedia information208 may be generated from a WML file or “deck”, for example, including one or more WML cards. In certain modes of operation, activatingfunction key220 while a displayed item is selected (e.g., highlighted) causesmobile device100 to retrieve and display a WML card associated with a URL of that item. In addition, using thealphanumerical keys230, the user may enter a URL manually to access hypermedia content. To facilitate this operation, the microbrowser may provide several different input modes, such as a number input mode, an alphabetic input mode, a symbol input mode, and a URL input mode.
FIG. 3 is a block diagram showing the principle components of[0029]mobile device100, according to one embodiment. Themobile device100 includes a processor301, which may be, or may include, any of: a general-purpose or special-purpose programmable microprocessor, digital signal processor (DSP), microcontroller, application specific integrated circuit (ASIC), programmable logic array (PLA), field programmable gate array (FPGA), etc., or any combination thereof.Mobile device100 includes a Wireless Control Protocol (WCP)interface313 that couples to a carrier network viawireless network104 to receive incoming and outgoing signals. Device identifier (ID)storage316 stores and supplies to WCP interface313 a device ID which identifiesmobile device100 to outside entities (e.g. proxy server108). The device ID is a specific code that is associated withmobile device100 and directly corresponds to the device ID in the user account typically provided in an associated proxy server device, such asproxy server108.
In addition,[0030]mobile device100 includesmemory304 that stores data and/or software for performing many of the processing tasks performed bymobile device100, including the microbrowser (or “browser”)320, when executed by processor301. These tasks include: establishing a communication session with a proxy server device viawireless network104; receiving user inputs fromkeypad103; requesting and receiving data from thewireless network104; and displaying information on thedisplay102. Hence,memory304 may represent one or more physical memory devices, which may include any type of random access memory (RAM), read-only memory (ROM) (which may be programmable), flash memory, non-volatile mass storage device, or a combination of such memory devices.Memory304 is also coupled toWCP interface313 for the establishment of a communication session and the requesting and receiving of data.
The[0031]mobile device100 also includesvoice circuitry318 for inputting and outputting sound during a telephonic communication between the user ofmobile device100 and a remote party.Voice circuitry318 includes circuitry to process telephony signals and may include, for example, sound transducers, analog-to-digital (A/D) and digital-to-analog (D/A) converters, filters, etc., such as are well-known in the art. An encoder/decoder310 is coupled between the processor301 and thevoice circuitry318 for encoding and decoding audio signals.
The mobile device also may include a conventional global positioning system (GPS)[0032]location device322 or another, similar type location device, which precisely determines the geographic location (latitude and longitude) of themobile device100. As described further below, the location of themobile device100 may be used to provide an indication of the location to the user and/or to provide location-dependent information or services for the user. Alternatively, the location of themobile device100 may be determined by a device or system external to themobile device100, such as a remote location server on thewireless network104.
What follows is a description of certain features of the GUI generated by the microbrowser (hereinafter “browser”)[0033]320 of themobile device100, which may be implemented in a given embodiment, to make themobile device100 more user-friendly. It will be readily apparent to those skilled in the art how to implement these GUI features in program code, from the following description of the user-perceivable characteristics of these features. A browser that incorporates these features may implemented in any programming language that is currently used to write browsers for mobile devices. Note that as an alternative to thebrowser320 generating the following GUI features, these features can instead be provided by a remote device (e.g. proxy server108 orservers116 or120), such that the mobile device only receives and displays these features to the user.
FIGS. 4A through 4F show a sequence of display screens generated by the[0034]browser320 ofmobile device100. The sequence illustrates a GUI feature which simplifies initiating a telephone call while in the context of thebrowser320, i.e., while thebrowser320 is active and displayed to the user. As will be described, to make the call, the user simply inputs a telephone number and either presses the “Talk” softkey or a physical “Send” key. FIG. 4A shows the idle screen of the GUI generated by thebrowser320. The idle screen is the display screen which initially appears when thebrowser320 is started and when thebrowser320 is running but not being used. As shown, the idle screen includes aprimary softkey indicator401, asecondary softkey indicator402, acustomizable image403, a “Dial”input field404, and a location-dependent hyperlink405. Theprimary softkey indicator401 is labeled “Inbox” in the idle screen, which allows the user to access his inbox of voicemail and/or e-mail directly from the idle screen simply by activating the primary softkey. Thesecondary softkey indicator402 is labeled “Menu”, which allows the user to access a menu, such as a menu of browser functions or other phone user interface functions (e.g., an address book or settings screens). Theimage403 may be, for example, a logo of the wireless carrier or a photo or other image provided by the user. The “Dial”input field404 is used to enter a telephone number of a party to be called. Thehyperlink405 is used to access location-dependent information and services, as described below.
As shown in FIG. 4A, the “Dial”[0035]input field404 is selected by default in the idle screen, as indicated by the bold highlighting around that field. The user begins dialing by typing any numbers on thekeypad103 ofmobile device100. The first number typed will automatically activate the “Dial”input field404. In the example of FIG. 4B, the user has pressed the first digit (“8”), such that the “Dial”input field404 becomes activated (a blinking cursor appears to indicate this) and the digit is inserted automatically. In addition, the first digit causes theprimary softkey indicator401 to change from “Inbox” to “Talk” to indicate the change in the corresponding softkey function. Referring to FIG. 4C, the user has completed inputting the telephone number and can now activate the primary softkey (“Talk”) or the hard “Send” key to make the telephone call. Thus, making a telephone call from the context of the active browser is much simpler than in prior browser-enabled mobile telephones: the user simply inputs the telephone number and either presses the “Talk” softkey or the hard “Send” key.
The[0036]hyperlink405 is used to access information or services relevant to the location of themobile device100. In the illustrated embodiment, hyperlink405 (hereinafter “city link”405) indicates the name of the city in which themobile device100 is currently located; another embodiment, it may refer to another type of geographic area in which themobile device100 is located or nearby, or a nearby point of interest. The location of themobile device100 may be determined by theGPS device322 withinmobile device100, or it may be determined by a remote location server or other similar device and then transmitted to themobile device100 over thewireless network104. Note that the specific manner in which the location of the mobile device is determined is not important for purposes of understanding the feature now being described; any of various conventional techniques may be used.
In one embodiment, the location of the[0037]mobile device100, once determined, is used by the browser to select one of multiple hyperlinks previously stored within the mobile device, each corresponding to the different geographic region. These hyperlinks may have been stored in themobile device100 by the manufacturer, or they may have been previously provisioned in themobile device100. The selected hyperlink is then displayed ascity link405. In another embodiment, the location of themobile device100 is used by the browser to request, via thewireless network104, a hyperlink for accessing information or services relevant to the location of themobile device100. The location-dependent information or services may be accessed by the mobile device remotely via thewireless network104. In yet another embodiment, the location of the mobile device is determined by a remote server and used to push the hyperlinks or the location-dependent information or services to themobile device100 via thewireless network104. Alternatively, some or all of the location-dependent information or services may have been previously provisioned in themobile device100.
FIGS. 4D through 4F illustrate the operation of city link[0038]105 and other related actions, according to one embodiment. From the idle screen shown in FIG. 4A, the user may scroll down by pressing thedown arrow key221B (FIG. 2) once to selectcity link405.City link405 thus becomes highlighted and the primary softkey label changes to “Services”, as shown in FIG. 4D. The user can now select thecity link405 to cause thebrowser320 to access remote location-based information or services, which may be (but do not have to be) provided by the wireless carrier. To do this, the user presses the primary softkey while the primary softkey indicator is labeled “Services”. The result of this action is shown in FIG. 4E, where the user sees a pop-upmenu406 listing the services and information that are available for the current location. In one embodiment, the wireless carrier has previously provisioned the pop-upmenu406 in themobile device100.
The first menu item, “Directions”, is highlighted by default and allows the user to request directions using a conventional route-finding service. FIG. 4F shows the display screen that appears when the user selects the “Directions” item. The display screen includes a[0039]menu408 of different types of destinations, to which the user may request directions from the current location. As shown, the user may request directions to a particular contact (e.g., person), nearby airports, nearby subways, or a specific address.
The following described feature enables easier selection from among multiple menu items than is possible with current browsers. Note that a numeral appears to the left of each item in pop-up[0040]menu406 in FIG. 4E and to the left of each item inmenu408 of FIG. 4F. For example, to the left of “Directions” inmenu406 is the numeral “1”; to the left of the “Gas Stations” is the numeral “2”; and so on. When viewing pop-upmenu406 ormenu408, the user can select any of the displayed choices simply by typing the number of the user's choice on thekeypad103. In response to such action, the indicated choice is automatically selected by the browser. Referring to FIG. 4F, when a number corresponding to an item inmenu408 is pressed on thekeypad103,text input field407 is also automatically activated to allow the user to input a destination of the selected type. This feature, therefore, enables easier selection from among multiple menu items than is possible with current browsers.
Thus, a method and apparatus for providing a microbrowser with a Graphical User Interface (GUI) in a hand-held mobile device have been described. Although the present invention has been described with reference to specific exemplary embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention as set forth in the claims. Accordingly, the specification and drawings are to be regarded in an illustrative sense rather than a restrictive sense.[0041]