Abstract:
A system implements a circular navigation paradigm that matches a physical input device to a graphical user interface (GUI). The GUI may be displayed on a personal navigation device, music player, or any other electronic device that employs a GUI. The match between the physical input device and the GUI facilitates ready understanding and intuitive interaction with the GUI by the device operator. The circular navigation paradigm may also extend over multiple screens within an application, and across multiple applications, to provide consistency of operation throughout the entire feature set of this device.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is a continuation-in-part of U.S. patent application Ser. No. 11/779,152, filed Jul. 17, 2007, which claims the benefit of priority to U.S. Provisional Patent Application No. 60/839,488, filed Aug. 22, 2006, both of which are hereby incorporated by reference. 
     
    
     BACKGROUND OF THE INVENTION 
       [0002]    1. Technical Field 
         [0003]    The present invention is directed to a user interface for a multifunction device such as, for example, a personal navigation device having navigation and media functionality. 
         [0004]    2. Related Art 
         [0005]    Until recently, many consumer devices have been designed with a single consumer function in mind. For example, a multimedia player may be designed with particular detail given to its performance of multimedia functions. Similarly, a geographical navigation device, such as a GPS system, may be designed with particular detail given to its performance of geographical navigation functions. In each instance, the user interface may be tailored to the functionality of the particular device. Since the functions of different devices may vary, the user interfaces for the different devices also may significantly differ from one another. Users of multiple consumer devices may find these devices difficult to master since the user may need to learn the nuances of the various user interfaces. 
         [0006]    As microelectronic manufacturers develop the ability to integrate more capabilities into ever-decreasing integrated package sizes, consumer device manufacturers have attempted to integrate multiple consumer functions into single consumer devices/systems. Multimedia players and geographical navigation devices, formerly existing as separate entities, may now be incorporated into a single system. However, merely incorporating disparate user interfaces in a single system environment may prove difficult for the end user to comprehend and may impede the ultimate usefulness of the multifunction system. 
       SUMMARY 
       [0007]    A portable interface hub including an electronics hub body and a detachable cigarette lighter power stalk connectable with the electronics hub body is set forth. A mating guide on the power stalk may be removably connected with a mating slot on the hub body to allow a secure attachment of the hub body and power stalk. When the hub body and power stalk are connected, a secondary power input connector on the hub body may couple through a detachable power coupling to a primary power connector on the power stalk. Power from the cigarette lighter interface may flow from the power stalk to the hub body. The electronics hub body may also include a main control module interface and a media device interface interconnected with the main control module interface. A media device supplying audio/video content may be connected to the media device interface and interconnected with a main control module through the portable interface hub. 
         [0008]    A user interface system is set forth including a processor and a memory with processor-executable instructions that detect an angular position of a rotatable control, convert the angular position to a rotational movement, and analyze the rotational movement against a user interface mapping for a screen of a graphical user interface. The user interface mapping includes an angular transition threshold predetermined for radially arranged user interface elements on the screen of the graphical user interface. If the rotational movement exceeds the angular transition threshold, then the system directs a display device to change highlighting from a current radially arranged user interface element to a neighboring radially arranged user interface element in the direction of the rotational movement. A related computer readable medium is also disclosed. 
         [0009]    Other systems, methods, features and advantages of the invention will be, or will become, apparent to one with skill in the art upon examination of the following figures and detailed description. It is intended that all such additional systems, methods, features and advantages be included within this description, be within the scope of the invention, and be protected by the following claims. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS  
         [0010]    The invention can be better understood with reference to the following drawings and description. The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. Moreover, in the figures, like referenced numerals designate corresponding parts throughout the different views. 
           [0011]      FIG. 1  is a block diagram of one example of a multifunction system that may employ a multifunction user interface. 
           [0012]      FIG. 2  is a perspective view of one manner in which the main module shown in  FIG. 1  may be physically implemented. 
           [0013]      FIG. 3  is a top plan view of one manner in which the interface hub shown in  FIG. 1  may be physically implemented. 
           [0014]      FIG. 4  is a perspective view of the external input module shown in  FIG. 1 . 
           [0015]      FIG. 5  is a plan view of the external input module shown in  FIG. 4 . 
           [0016]      FIGS. 6 through 12  are directed to exemplary screen layouts that may be used to implement various user interfaces that are employed to interact with the underlying functional applications executed by the main module of the system shown in  FIG. 1 . 
           [0017]      FIG. 13  illustrates a screen layout that also may be used in connection with one or more portions of the user interface of the system shown in  FIG. 1 . 
           [0018]      FIG. 14  illustrates one manner in which a source menu may be laid out. 
           [0019]      FIG. 15  shows exemplary screen layouts that may provide user interaction with the navigation application when the user activates the navigation button of the source menu shown in  FIG. 14 . 
           [0020]      FIG. 16  shows exemplary screen layouts that may provide user interaction with the navigation application when the user activates the navigation button of the source menu shown in  FIG. 14  while the navigation application is engaged in activities associated with an active route. 
           [0021]      FIG. 17  shows exemplary screen layouts that may provide user interaction with a media application when the user activates the music button of the source menu shown in  FIG. 14  while the media application is engaged in activities associated with playback of an audio file. 
           [0022]      FIG. 18  shows an exemplary menu screen that may provide user interaction with the media application when the user activates the music button of the source menu shown in  FIG. 14  and where the media application fails to detect an audio file on the system. 
           [0023]      FIG. 19  shows an exemplary screen layout that may be provided when the user activates the settings button of the source menu shown in  FIG. 14 . 
           [0024]      FIG. 20  illustrates how the navigation button, music button, and video button return the user to the last saved state in the navigation application, music application, and video application, respectively, when the buttons are actuated by the user. 
           [0025]      FIG. 21  shows a plurality of screens that may be employed in connection with the navigation application when the navigation settings button of the source menu shown in  FIG. 14  is actuated by the user. 
           [0026]      FIG. 22  illustrates a place selection menu that may be provided to a user upon activation of the “plan a trip” button of the navigation menu shown in  FIG. 15 . 
           [0027]      FIG. 23  is a flow diagram illustrating one manner in which the navigation interface may operate in response to user activation of the address button shown in  FIG. 22 . 
           [0028]      FIG. 24  shows an exemplary set of screens that may be used to enter the street number and/or street name of a desired destination. 
           [0029]      FIG. 25  shows an exemplary set of screens that may be used to select a city of a desired destination. 
           [0030]      FIG. 26  shows an exemplary set of screens that may be used to select a state of a desired destination. 
           [0031]      FIG. 27  shows an exemplary set of menus that may be used to enter the ZIP code of the desired destination. 
           [0032]      FIG. 28  shows a sequence of screens that may be invoked when the user actuates the “place” button shown in  FIG. 22 . 
           [0033]      FIG. 29  shows an exemplary place category selector screen sequence. 
           [0034]      FIG. 30  shows a plurality of screens that may be used to enter a destination based on its place name. 
           [0035]      FIG. 31  shows a plurality of screens that may be used in connection with an exemplary intersection search when the intersection button of the place selection menu shown in  FIG. 22  is actuated by the user. 
           [0036]      FIG. 32  shows a plurality of screens that may be invoked when the user actuates the saved places button of the place selection menu shown in  FIG. 22 . 
           [0037]      FIG. 33  shows one manner in which the user may select and save the default home location. 
           [0038]      FIG. 34  shows a plurality of screens that may be employed when the user actuates the delete button shown in  FIG. 32  to delete a place from the saved places list. 
           [0039]      FIG. 35  shows a route options screen that may be displayed when the user actuates the route options button of the navigation menu. 
           [0040]      FIG. 36  shows an exemplary map screen that may be presented to the user when the view route button of the route options menu shown in  FIG. 35  is actuated. 
           [0041]      FIG. 37  shows a plurality of screens that may be presented to the user when the view turn-by-turn button of the route options screen is actuated. 
           [0042]      FIG. 38  shows a plurality of screens that may be presented to the user when the user actuates the add destination button of the route options screen. 
           [0043]      FIG. 39  shows one example of an overlay that may be used by the navigation application to notify the user of upcoming turns. 
           [0044]      FIG. 40  shows one example of a trip data screen that may be presented to the user upon actuation of the menu button of the map screen shown in  FIG. 36 . 
           [0045]      FIG. 41  shows a plurality of screens that may be used to alter the appearance of the screens presented to the user based on the ambient light conditions. 
           [0046]      FIG. 42  is a perspective view of the interface hub shown in  FIG. 1 . 
           [0047]      FIG. 43  is a side view of the interface hub showing a detachable power stalk. 
           [0048]      FIG. 44  is a view of the interface hub and cigarette lighter power stalk showing power connection ports. 
           [0049]      FIG. 45  is a side view of the interface hub showing a connected power cable. 
           [0050]      FIG. 46  is a block diagram of an exemplary interface hub. 
           [0051]      FIG. 47  is a block diagram of an exemplary external input module connected with a main control module. 
           [0052]      FIG. 48  is an exemplary process of controlling the main module using the external input module. 
           [0053]      FIG. 49  shows an example user interface layout with physical correspondence to an external input module. 
           [0054]      FIG. 50  shows a cross-section view of the interface hub and cigarette lighter power stalk. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0055]      FIG. 1  is a block diagram of one example of a system  100  that may employ a multifunction user interface. In this example, the system  100  may include geographical navigation functionality as well as media storage and/or playback functionality integrated into a main module  105 . System  100  also may include an optional interface hub  110  and an optional external input module  115 . Interface hub  110  and external input module  115  provide further system functionality that may be useful when the system  100  is installed in a vehicle. 
         [0056]    Main module  105  may be implemented as an assembly that is secured at a fixed location, as an assembly that is readily mounted to and detached from an assembly mount, and/or as a completely portable assembly that is integrated into a single housing without reference to an assembly mount. In each instance, main module  105  may be implemented as a complete system having standalone media and GPS functionality. This functionality may be enhanced when the main module  105  is releasably attached to an assembly mount in a system configuration that includes the interface hub  110  and/or the external input module  115 . 
         [0057]    It will be recognized that main module  105  may be implemented in a wide variety of manners to execute the user interface described in specific detail below. In the exemplary system shown in  FIG. 1 , main module  105  may include a central processor  120  that executes programming associated with an input module  125 , a display module  130 , a GPS module  135 , and a media module  140 . The circuitry of the central processor  120  may be based on a number of different processor types, such as one or more of the processors available from Centrality® of Redwood City, Calif. The input module  125  and the display module  130  facilitate user interaction with other portions of the main module  105  by allowing, for example, the user to select menu entries, input data, and the like, in response to menus, prompts, data fields, and the like provided on a display of the display module  130 . Some such menus, prompts, data field identification, and the like also may be provided audibly using, for example, the media module  140 . The input module  125  may include pushbutton switches, touchscreen areas on a touchscreen of display module  130 , or a combination of both. The use of a touchscreen display to implement both the input module  125  and display module  130  assists in rendering the main module  105  compact and portable and, further, may contribute to the ability of the end-user to master the functions provided by the main module  105 . 
         [0058]    The GPS module  135  may include those components that are used to implement the various functions associated with a geographical navigation device. Such functions may include: 1) ascertaining a geographical destination and/or location by address, intersection, place name, or place type; 2) guiding the user to a defined destination; 3) simulating a trip from first location to second location; and/or 4) finding information in the context of a given location. The specific allocation of the resources of the main module  105  used to implement the geographical navigation functions are not particularly pertinent to the overall operation of the system  100 . As such, a majority of the geographical navigation functions may be implemented by the central processor  120 , by the GPS module  135 , or divided between them in an equal or unequal manner. Additionally, many of the functions associated with the geographical navigation operations associated with main module  105  may be implemented by the input module  125  and/or display module  130 . 
         [0059]    The media module  140  may include components that are used to implement the various functions associated with a media device. Such functions may include: 1) providing internal storage for media (audio and/or video); 2) providing access to removable and/or external storage for media; 3) locating media on storage for playback; and/or 4) controlling media playback. The media module  140  may include an audio module  142  for storage, playback, and/or control of audio media, such as music, and a video module  144  for storage, playback, and/or control of video media. The media module  140  may playback audio media through self-contained speaker and/or headphone circuitry. In the illustrated example, main module  105  may provide audio and/or video output to a first playback zone  150 , which may be integrated into the main module  105  or formed as a separate component. Similarly, media module  140  may playback video media on display module  130 . Still further, media module  140  may playback video media provided from an external source, such as a DVD player, iPod®, or the like. 
         [0060]    As with the geographical navigation functions, the specific allocation of the resources of the main module  105  used to implement the media functions are not particularly pertinent to the overall operation of the system  100 . As such, a majority of the media functions may be implemented by the central processor  120 , by the media module  140 , or divided between them in an equal or unequal manner. Additionally, functions associated with the media operations of the main module  105  may be implemented by the input module  125  and/or display module  130 . 
         [0061]    Interface hub  110  may include components that extend the functionality of the main module  105 . For example, interface hub  110  may include a further media module  155 . The further media module  155  may provide additional media storage space and playback video and/or audio through a second media zone  160  under the control of the main module  105 . A media device interface  165  may be provided in the interface hub  110  to facilitate use of one or more supplemental media devices  170  with the main module  105 . Such supplemental media devices  170  may include, for example, MP3 players, iPod® devices, satellite radios, and the like. An FM modulator  175  also may be included in the interface hub  110  to modulate any of the audio signals of system  100  to an RF frequency suitable for reception by the radio  180  of the vehicle. If desired, the output of the FM modulator  175  may be filtered through an antenna controller  185  to limit undesirable retransmission of the modulated signal over antenna  190 . 
         [0062]    When configured for installation in a vehicle, external input module  115  may be mountable at a first location within the vehicle cabin for manipulation by the user. The main module  105  may be securely mounted or removably docked at a second location within the vehicle cabin. For example, the external input module  115  may be mounted on a console between the driver&#39;s seat and the front passenger seat of the vehicle, while the main module  105  may be mounted in or on the dashboard of the vehicle. This allows the user to manipulate the external input module  115  and observe the display of the main module  105  with a minimal amount of distraction. Although the interconnections between the external input module  115  and of the main module  105  may be wired connections, such connections may be replaced by one or more wireless connections, such as infrared connections, Bluetooth connections, etc. In operation, both the external input module  115  and input module  125  may be concurrently active to facilitate user input from either. 
         [0063]      FIG. 2  is a perspective view of one manner in which the main module  105  shown in  FIG. 1  may be physically implemented. In this example, main module  105  includes a housing  205  having a front portion with an opening defined by a bezel  210 . Bezel  210  is disposed about the periphery of an electronic display  215 , such as a touchscreen display. A mounting stem  220  may extend to engage housing  205  to facilitate mounting of the main module  105  within the vehicle cabin. Depending on the desired implementation, main module  105  and mounting stem  220  may include cooperating connectors to facilitate connection of electrical signals between the main module  105  and other components of the system  100 , such as, for example, interface hub  110 , external input module  115 , components of the first media playback zone  150 , and the like. One or more cables  225  proceed from the housing  205  for connection to such other system components. 
         [0064]      FIG. 3  is a top plan view of one manner in which the interface hub  110  shown in  FIG. 1  may be physically implemented. In this example, the interface hub  110  includes a body portion  305  that may enclose the electronics of the interface hub  110 . Mounting tabs  307  may extend from the body portion and may be used to mount the interface hub at a fixed location in the vehicle. One or more conductive lines  309  may be provided to connect the interface hub  110  to other components of the system  100 . 
         [0065]    A power stalk  310  having positive and negative power terminals  315  and  320  extends from the body portion  305  and may be used to engage a corresponding power opening, such as a cigarette lighter opening of the vehicle. The power received through stalk  310  may be used to power the electronics of the interface hub  110 , main module  105 , and external input module  115 . If the main module  105  is powered with a rechargeable battery, the power provided through stalk  310  also may be used for recharging purposes. Stalk  310  and body portion  305  may be constructed so that the stalk  310  is removable to allow the user to optionally secure the interface hub  110  at a fixed location using the mounting tabs  307 . Otherwise, the interface hub  110  may be supported by the stalk  310  when the stalk  310  is inserted into the corresponding power opening. 
         [0066]      FIG. 4  is a perspective view of the external input module  115  shown in  FIG. 1 . As illustrated, the external input module  115  is in the form of a generally circular housing  405  having a face portion  410  and a rear portion  415 . A mounting stem  420  extends from the rear portion  415  of the housing  405  to facilitate mounting of the external input module  115  in the vehicle cabin. 
         [0067]    The external input module  115  includes a number of components that allow a user to interact with system  100 . In the illustrated example, the external input module  115  may include a plurality of user selectable buttons  425 ,  426 ,  427 , and  428 , are disposed radially about a first axis  430  of the generally circular housing  405 . A potentiometer control  435  also may be provided. Potentiometer control  435  may be disposed for rotational movement about an axis of the housing  405 , such as axis  430 , although other relative orientations for the potentiometer control  435  may be employed. A central select button  440  may be disposed proximate a central area of the front portion  410 . 
         [0068]    Potentiometer control  435  may be rotated about axis  430  in a clockwise direction and/or counterclockwise direction. The rotation of the potentiometer control  435  may be continuous in each direction. Alternatively, the potentiometer control  435  may have limited rotational motion in each direction. The output of the potentiometer control  435  may be provided to the input of an analog-to-digital converter, where the digital value corresponds to the position of the potentiometer control  435  and the rate of change of the digital value indicates how quickly the user rotates the control  435 . 
         [0069]      FIG. 5  is a plan view of the external input module  115  shown in  FIG. 4 . The function(s) executed by a particular button will often depend on the context in which it is activated, such as the state of system  100  at the time of activation. Each of the buttons  425 ,  426 ,  427 , and  428  may have a primary function, a secondary function, a tertiary function, and the like. Further, these functions may vary depending on which interface is provided by the main module  105  to the user at a given time. For example, buttons  426  and  428  may be used as track selection buttons when the main module  105  provides the user with a screen from the audio media interface. Alternatively, or in addition, rotation of the potentiometer control  435  may be used to scroll through a list of audio media, with activation of the switch  440  providing selection of an audio media file from the displayed list. 
         [0070]    There are a variety of manners in which activation of the various switches and potentiometer control may be detected in system  100 . In one example, the central processor  120  may be responsive to interrupts that are generated when the buttons are pressed and/or the potentiometer control is rotated. Which button has been pressed may be determined by checking the buttons upon occurrence of the interrupt and storing data corresponding to the interrupt for handling. Polling of the buttons and control potentiometer also may be employed. 
         [0071]    The user interface used by system  100  to facilitate interaction between the user and the application functions may be presented in a number of different manners. For example, the user interface described below may employ four types of screens: menu screens, wizard screens, information screens, and action screens. Menu screens may be used to provide pathways to data input wizard applications and to informational screens. Wizard screens may be used to provide data entry and pair down database search results. Information screens may be used to provide non-interactive information to the user, and action screens may be used to provide interactive information and entertainment. 
         [0072]      FIGS. 6 through 12  are directed to exemplary screen layouts  600  that may be used to implement various user interfaces that are employed to interact with the underlying functional applications executed by the main module  105 . In these examples, each screen layout  600  is comprised of a plurality of buttons  605  and corresponding visual indicia  610 , such as alphanumeric characters, that may be used to identify the function(s) associated with each button  605 . The buttons  605  may be selected virtually, as with a pointing/selection device, or directly as with a touchscreen. Selection also may be accomplished using voice activation in systems provided with voice recognition capabilities. The buttons  605  may be disposed about the area of the screen  215  in a variety of different manners. For example, the buttons  605  of the illustrated screen layouts  600  shown in  FIGS. 6 through 12  have been selectively disposed about the screen  215  in a radial fashion to correspond to the radial nature of the specific construction of the external input module  115  shown in  FIG. 5 . 
         [0073]    Other buttons also may be provided on the screen layouts  600 . For example, each screen layout  600  may include a title section  615 . Visual indicia  620 , such as alphanumeric characters, may be provided in the title section  615  to indicate the current operational context of the buttons  605 . A back button  625  may be provided for activation by the user to direct the user interface software to display a prior screen layout. Additionally, a source button  630  may be used to invoke display of a source menu. Although the source button  630  in each of the examples set forth below is presented as a touchscreen button, it also may be provided as a hardware button that is manually actuated by the user apart from the screen. A source menu button  630  may be presented on a plurality of the screens of the navigation interface and media interface to provide ready access to the corresponding source menu (discussed below). 
         [0074]    Still further, the operational context of an underlying user interface may be identified in a region such as  635  disposed between the back button  625  and source button  630 . Region  635  may be used as an interface toggle button to direct the user interface software to store the operational context of the currently displayed user interface and switch to the display of the current and/or stored operational context of the underlying user interface. Using region  635  as a button thereby allows the user to switch between user interfaces corresponding to different device functions. For example, activation of button  635  may be employed by the user to toggle between a screen layout of the navigation user interface and a screen layout of the media user interface. 
         [0075]      FIG. 13  illustrates a screen layout  1300  that also may be used in connection with one or more portions of the user interface of system  100 . The screen layout  1300  is particularly suitable for use in displaying and/or selecting database driven results. It is also suitable for use in those instances in which concurrent display of all available information and/or menu selections tends to crowd the screen  215 . In certain instances, the system  100  may display alphabetically or numerically organized search results in the manner shown in  FIG. 13 . The up and down arrows  1305  and  1310  on the side of the menu screen  1300  may be used to page up and page down through multiple menu items and/or through multiple pages of information. If a selected item is highlighted and the user pages up or down, the first item of the newly drawn page may be highlighted. A scroll indicator  1303  may be used to indicate where the currently displayed page is relative to the entire list of menu items. 
         [0076]    In the example shown in  FIG. 13 , the screen layout  1300  is adapted to implement a video list screen. The fact that the screen layout  1300  is associated with selection of a video file is indicated by the word “video” in the title section  1315  of the screen layout  1300 . A plurality of buttons  1320  are provided for user selection of a particular video file. Visual indicia  1325 , such as alphanumeric characters, may be used to identify the video file associated with a particular button  1320 . As above, the screen layout  1300  may be provided with a source button  630 . Further, region  635  may be used as a button to allow the user to switch between user interfaces that correspond to different device functions. 
         [0077]      FIG. 14  illustrates one manner in which the source menu  1400  may be laid out. Source menu  1400  may be implemented as a pop-up display that sits atop any current screen when the source button  630  is activated. From the source menu  1400 , the user may access the user interfaces associated with the various applications executed by the system  100 . In the illustrated example, the source menu  1400  allows the user to access interfaces associated with three applications as well as an interface associated with setting the user selectable options. To this end, the source menu  1400  includes a navigation button  1405 , a music button  1410 , a video button  1415 , and a settings button  1420 . 
         [0078]    The user interfaces associated with each of the primary sections (Navigation, Audio, Video, Settings) may have consistent colored outer glows and button down states. For example, the navigation section may be blue, the audio section may be red, the video section may be green, and the settings section may be gray. These colors may correspond to the colors used to invoke the respective interface on the source menu  1400 . 
         [0079]    The specific screen layout that is displayed upon activation of one of the buttons  1405 ,  1410 ,  1415 , or  1420 , may be dependent on the prior saved state of the application associated with the button. When a button is actuated for the first time or when a prior saved state does not exist for the selected application, then activation of one of the buttons may result in the display of a top/main menu associated with the selected application. These top/main menus may include: Navigation—no active route; Navigation—with active route; Audio—with media present; Audio—no media is present; Video; and Settings. 
         [0080]    Navigation—No active route— FIG. 15  shows exemplary screen layouts that may be provided to interact with the navigation application on screen  215  when the user activates the navigation button  1405 , but no active route has been programmed into the navigation application. Under such circumstances, a 2-item navigation menu  1500  may be displayed. The navigation menu  1500  may include a “map” button  1505  that may be used to switch between this 2-item screen  1500  and a map screen  1510  that indicates the current position of the system  100  as calculated by the navigation application. A “menu” or “back” button  1515  may be used to switch back from the map screen  1510  to the navigation menu screen  1500 . 
         [0081]    Navigation—With active route— FIG. 16  shows exemplary screen layouts that may be provided to interact with the navigation application on screen  215  when the user activates the navigation button  1405  while the navigation application is engaged in activities associated with an active route. Under such circumstances, a 4-item navigation menu  1600  may be displayed. The navigation menu  1600  may include a “map” button  1605  that may be used to switch between this 4-item screen  1600  and a map screen  1610 . The map screen  1610  may be used to display routing information provided by of the navigation application. A “menu” or “back” button  1615  may be used to switch back from the map screen  1610  to the navigation menu screen  1600 . 
         [0082]    Audio—with media present— FIG. 17  shows exemplary screen layouts that may be provided to interact with a media application on screen  215  when the user activates the music button  1410  while the media application is engaged in activities associated with playback of an audio file. Under such circumstances, a playback control screen  1700  may be displayed that identifies the audio file currently playing. The playback control screen  1700  may include a play/pause button  1705 , a fast forward/next track button  1710 , and a rewind/previous track button  1715 . Additionally, the playback control screen  1700  may include a “menu” button  1720  or the like that may be used to switch between the playback control screen  1700  and an audio locator screen  1725 . The audio locator screen  1725  may be used to locate audio media by, for example, artist, album, genre, playlist, and/or song name. Such location information may be provided using the media application. A “menu” or “back” button  1730  may be used to switch back from the audio locator menu screen  1725  to the playback control screen  1700 . 
         [0083]    Audio—no media present— FIG. 18  shows an exemplary menu screen that may be provided on screen  215  to interact with the media application when the user activates the music button  1410  and where the media application fails to detect an audio file on system  100 . Under such circumstances, a no media detected screen  1800  may be displayed that uses information in the title bar  1805  to indicate the absence of audio media files. To maintain a consistent look, screen layout  1800  may maintain the play/pause button  1705 , the fast forward/next track button  1710 , and the rewind/previous track button  1715  found on the playback control screen  1700 . 
         [0084]      FIG. 19  shows an exemplary screen layout that may be provided on screen  215  when the user activates the settings button  1420  of the source menu  1400 . In this example, the activation of the settings button  1420  directs system  100  to present the user with a main settings menu  1900  through which the user may interact with a settings application. The main settings menu  1900  may provide a plurality of buttons that may be activated to access system options that may be set and/or changed by the user. For example, the plurality of buttons may include a button  1905  to access brightness settings, a button  1910  to access color mode settings, a button  1915  to access language, a button  1920  to access volume mixer settings, a button  1925  to access FM broadcast settings associated with FM modulator  175 , a button  1930  to access date/time settings, a button  1935  to access battery charge settings, and a button  1940  to access MTP/mass storage settings. 
         [0085]    As shown in  FIG. 20 , the navigation, audio, and video sections may maintain state when the user switches applications. The last screen the user views when leaving a particular application is preferably the first screen the user views when returning to that application. 
         [0086]    When the source button  630  is actuated from any of the screen layouts, the state of the current active screen layout and, if desired, the specific state of the currently active application may be saved. The current active screen layout and, if desired, specific state of the currently active application are therefore available for subsequent access. Such subsequent access may include any changes made to the state of the currently active application and/or current active screen layout that logically occurs over time as a result of the logical operation of the respective application. 
         [0087]    The source menu  1400  with its corresponding menu selection buttons  1405 ,  1410 ,  1415 , and  1420 , is also displayed to the user. As shown in  FIG. 20 , user activation of the navigation button  1405  directs the navigation interface at  2005  to display a screen layout corresponding to the last saved screen layout of the last saved state of the navigation application. If no such prior saved screen/state exists, the navigation interface may display the default screen menu  1500  shown in  FIG. 15 . User activation of the music button  1410  directs the audio media interface at  2010  to display a screen layout corresponding to the last saved screen layout of the last saved state of the audio media application. If no such prior saved screen/state exists, the audio media interface may display the default screen menus shown in  FIG. 17  or  18 . User activation of the video button  1415  directs the video media interface at  2015  to display a screen layout corresponding to the last saved screen layout of the last saved state of the video media application. If no such prior saved screen/state exists, the video media interface may display one or more default screen menus similar to those shown in  FIG. 17  or  18 . 
         [0088]    User activation of the settings button  1420  may function slightly different than activation of buttons  1405 ,  1410 , and  1415 . Since the settings application is not likely to be used on a frequent basis, user activation of the settings button  1420  may direct the settings interface at  2020  to display a screen layout corresponding to the top settings menu, such as shown at  1900  of  FIG. 19 , as opposed to the last saved screen layout of the last saved state of the settings application. If desired, however, activation of the settings button  1420  may direct the settings application to display a screen layout corresponding to the last saved screen layout of the last saved state of the settings application. 
         [0089]    As shown in  FIG. 15 , a user may be presented with navigation menu  1500  when the navigation button  1405  is activated. In the example illustrated in  FIG. 15 , the navigation menu  1500  includes a “plan a trip” button  1520  and a “navigation settings” button  1525 . If the system  100  is currently engaged in a navigating activity, the navigation menu  1600  shown in  FIG. 16  may be employed. The navigation menu  1600  may include an additional stop navigation button  1525  and a route options button  1630 . 
         [0090]      FIG. 21  shows a plurality of screens that may be employed in connection with the navigation application when the navigation settings button  1525  is actuated by the user. The plurality of screens may be used to allow the user to view and calculate default navigation settings. Which settings are to be viewed and/or altered may be selected from a top level navigation settings interface screen  2100 . These settings may include, for example, items to avoid (avoidances)  2105 , distance units  2110  that are to be used by the navigation application, route priority options  2115  that are to be used by the navigation application, and GPS status data  2120  received from the navigation application. Navigation interface screens for avoidances  2125 , distance unit selection  2130 , route priority option selection  2135 , and GPS status data display  2140  are shown in  FIG. 21  with corresponding links to the activating button of the navigation settings interface screen  2100 . Each of the screens, or a subset thereof, may be provided with a source button  630  for access to the source menu  1400 . 
         [0091]      FIG. 22  illustrates a place selection menu  2200  that may be provided to a user upon activation of the “plan a trip” button  1520  of the navigation menu  1500 . The place selection menu  2200  allows the user to indicate the manner in which a route and/or destination is to be provided to the navigation application. To this end, the place selection menu  2200  may include an address button  2205  that may be used to initiate the display of one or more subsequent screens that the user can use to define a destination by its address, zip code, and/or city. The user also may initiate the display of one or more screens used to search for a destination by place name or place type using buttons  2210 ,  2225 , and/or  2230 . Still further, the user may initiate the display of one or more screens used to recall an address from a list of recently input destinations or an address book using buttons  2235  and  2240 , respectively. The display of one or more screens used to set a city center or intersection as the destination may be initiated through activation of buttons  2215  and  2220 , respectively. 
         [0092]      FIG. 23  is a flow diagram illustrating one manner in which the navigation interface may operate in response to user activation of the address button  2205  shown in  FIG. 22 . In this example, address definition for the destination may be executed by presenting a series of navigation screens having multiple choice questions and/or prompts that narrow down possible destinations. To this end, the user may be presented with the state/zip code search options menu  2300  when the address button  2205  is actuated. The exemplary state/ZIP code search options menu  2300  includes a default state selection button  2305 , a ZIP code option button  2310 , and an “other state” option button  2315 . 
         [0093]    User activation of the default state selection button  2305  may direct the navigation user interface to display the street name/city search option menu  2320 , which may be used to determine how the destination address will be entered. The street name button  2325  invokes one or more menus at  2330  that may be used to enter the street number and/or street name of the desired destination. An exemplary set of screens that may be used to enter the street number and/or street name of the desired destination is shown in  FIG. 24 . If a city is not defined in this search, the user may select the correct address in the correct city from a list provided from a search of an internal database of main module  105 . As shown in  FIG. 24 , the street name may be selected from a list provided from the internal database. If a city is not defined in the search, the user may select the correct address in the correct city from a list provided from the internal database. 
         [0094]    Once the street number and/or street name have been entered by the user through one or more menus at  2330 , the user may be prompted to select a city using one or more menus at  2335 . An exemplary set of screens that may be used to select a city is shown in  FIG. 25 . The same or similar menus may be invoked upon actuation of the “city” button  2370 , after which one or more menus identical or similar to those at  2330  may be displayed. 
         [0095]    In the example shown in  FIG. 25 , there is an “all cities in ‘X’” option, where X is populated with the selected state. If the user has recently input a city name, then the top level menu screen of the screen sequence  2335  may be displayed with the recent city shown as a selectable option. Otherwise, the user may enter the name of the desired city by keying it into, for example, a touch pad keyboard. Alternatively, or in addition, the user may select the city name from a list. 
         [0096]    A confirmation menu screen  2340  may be provided to allow the user to confirm that the destination information has been properly entered. From the confirmation menu screen  2340 , the user may initiate calculation of routing information by the navigation application by activating the “go” button  2345 . A map from the current location to the selected destination may be displayed through user activation of the “view map” button  2350 . Travel along the calculated route may be simulated in response to user activation of the “simulate” button  2355 . Still further, the destination may be saved for subsequent use through user activation of the “save” button  2360 . 
         [0097]    With reference again to menu screen  2300 , user activation of the “other state” button  2315  may invoke a sequence of one or more menu screens associated with state selection  2365 . An exemplary set of screens that may be used to enter the state of the desired destination is shown in  FIG. 26 . Upon selection of a state, menu screen  2320  may be displayed. Activation of the “zip code” button  2310  may invoke a sequence of one or more menu screens associated with zip code selection  2375 . An exemplary set of menus that may be used to enter the ZIP code of the desired destination is shown in  FIG. 27 . 
         [0098]      FIG. 28  shows a sequence of screens that may be invoked when the user actuates the “place” button  2210  shown in  FIG. 22 . Using these screens, the user may select a destination from a variety of destination types. To this end, the user is presented with a “find a place” options menu screen  2800 . Screen  2800  may provide, for example, a “nearby” button  2805  to invoke one or more further screens to select a place of interest that is close to the current location of the system  100 , a “near destination” button  2810  to invoke one or more further screens used in selecting a place of interest that is close to the programmed destination location, and an “in another city” button  2815  to invoke one or more for the screens used in selecting a place of interest that is in another city. If the “in another city” button  2815  is selected, the user may be prompted to select a state, a city, and then to search by name or category. If either the “nearby” button  2805  or “near destination” button  2810  is selected, the user may be prompted to search by category (place category selector) or name spelling (place name selector) as shown at menu  2820 . 
         [0099]    A sequence of place category selector menus may permit the user to search through predefined categories of points of interest pursuant to selection of the destination location. An exemplary place category selector screen sequence is shown in  FIG. 29 . In this example, the user may be prompted to select a category (e.g., such as restaurants) using menu layout  2905 , select a type within the category (e.g., such as restaurant type) using menu layout  2910 , select a specific restaurant in the type category using menu layout  2915 , and confirm the address using menu layout  2920 . Examples of place groupings and indented sub-groupings that may be employed in system  100  are set forth below. Sub-group lists are displayed when the user selects a major group.
   Restaurants and Food   
 
         [0101]    All Food Types 
         [0102]    Complete list of all food categories 
         [0103]    Wineries
   Hotels   Parking   Gas Stations   Auto Services   Transit   
 
         [0109]    Airports 
         [0110]    Boating/Marinas 
         [0111]    Ground Transportation 
         [0112]    Rest Areas
   ATMs &amp; Banks   Shopping   
 
         [0115]    Shops &amp; Retailers 
         [0116]    Grocery &amp; Liquor Stores 
         [0117]    Home &amp; Garden
   Entertainment   
 
         [0119]    Conventions Centers 
         [0120]    Sports Complexes 
         [0121]    Movie Theaters 
         [0122]    Nightlife
   Education   
 
         [0124]    Libraries 
         [0125]    Museums 
         [0126]    Schools &amp; Universities
   Sports   Parks &amp; Recreation   Emergency Services   Government Offices   Local Community   Neighborhoods (a.k.a. Named Places)   Places of Worship   
 
         [0134]      FIG. 30  shows a plurality of screens that may be used to enter a destination based on its place name. To this end, place name entry screen  3005  may be displayed when the place button  2210  of place selection menu  2200  is actuated by the user. The place name entry screen  3005  may include a keyboard  3010  that is used to enter alphanumeric characters that are used to initiate a word search for the place name. Once at least a partial entry of the place name is made by the user, the user may actuate the next key  3015  to display a place name selection screen  3020 , which may include a list of places that begin with the alphanumeric characters entered by the user on screen  3005 . After the user selects the place name of the desired destination, a confirmation screen  3025  may be displayed that allows the user to begin navigation routing, view a map to the selected destination, simulate travel to the desired destination, and/or save the selected destination for later use. 
         [0135]    The speller screens shown in the examples above may be used to enter letters, numbers, and other characters into a search entry field. The speller screens may assist the user in selection of an entry by dynamically graying out letters and numbers that are not available in the remaining database search results. When the list of possible entries is less than a predetermined number, the system may display a results list without user intervention. The smart speller also may display the number of possible entries remaining so that a user may decide if they would like jump view a results list. If the smart speller application cannot update the screen with the correct grayed out letters in less than a predetermined time, then the smart speller application may be disabled and the user may enter any character. 
         [0136]    If the user enters partial or incomplete data, the system  100  may display a list of possible results. For example, if the user enters the letters “Bee” for a street name and selects the Next button, the system may present the user with a list of streets that begin with the letters “bee” (such as Beech, Beech Knoll, and Beethoven). 
         [0137]    The smart speller screens may be toggled through in order by successively selecting the Numbers, Character, and Letters buttons on the respective screens. Exemplary letter and number entry screens are shown in  FIG. 24 . The special characters needed to complete data entry for all of the languages used in the system may populate the multiple entry keys once a final set of languages has been selected for use by the user. 
         [0138]    With reference to  FIG. 22 , the place selection menu  2200  may include such other buttons as the city center button  2215 , the restaurants button  2225 , the gas stations button  2230 , the recent places button  2235 , the saved places button  2240 , and the like. The city center button  2215  may permit the user to jump to a list of cities ordered by nearest-location-first. The restaurants button  2225  may permit the user to jump to a search of local restaurants. The system  100  may display an “All Food” category followed by an alphabetical list of other food categories. The gas stations button  2230  may permit the user to jump to a list of gas stations ordered, for example, is to by nearest-location-first. The recent places button  2235  may provide a list of, for example, the 20 most recently input destinations and places with the last input destination provided at the top of the list. If the destination is a place in the place name database of the system  100  then the name may be displayed instead of the street number and name. 
         [0139]    A plurality of screens that may be used in connection with an exemplary intersection search when the intersection button  2220  of the place selection menu  2200  is actuated by the user is shown in  FIG. 31 . In this example, the user may be prompted to enter the state in which the intersection is located using a screen layout such as the one shown at  3105 . If the desired state is not shown as an available selection on screen layout  3105 , the other state button  3110  may be actuated to initiate one or more screens for state selection, such as those shown at  2365  of  FIG. 23 . Navigation interface screens  3115  and  3120  illustrate one manner of selecting the desired first street name while navigation interface screens  3125  and  3130  illustrate one manner of selecting the desired second street name. If the intersection exists in more than one city, the user may be prompted to select the desired city using a city selection menu such as the one shown at screen  3135 . A confirmation screen may be displayed at  3140  that allows the user to begin navigation routing, view a map to the selected destination, simulate travel to the desired destination, and/or save the selected destination for later use. If the user saves the selected destination, the destination may, if desired, be saved for subsequent selection using the saved places button  2240  of the place selection menu  2200 . 
         [0140]    A plurality of screens that may be invoked when the user actuates the saved places button  2240  of the place selection menu  2200  is shown in  FIG. 32 . As shown, actuation of the saved places button  2240  may result in the display of the saved places screen  3205 . In this example, the saved places screen  3205  provides a list of destinations and places that have been saved by the user. The user can save addresses and places from the confirmation screens that are invoked during other destination selection processes. The saved places list may begin with “Home” and have a default ordering of unnamed places, such as places that are designated solely by addresses beginning with a house number. Places that are designated solely by addresses may be followed by named places. Actuation of the “Home” button  3210  directs the navigation interface to a confirmation screen showing the user&#39;s predefined home location. If the user has not defined a “Home” location, the navigation interface may present the user with one or more screens  3213  that may be used to designate the desired home location. The “Home” button  3210  may be a different color than the other list buttons. 
         [0141]    The list ordering after the “Home” button  3210  may be changed by the user through actuation of the “Sort by Street Name” button  3215 . If the user chooses to reorder the list by street name then the “Sort by Street Name” button  3215  may be replaced with a “Sort by Place Name” button. The user can delete a saved place in the confirmation screen after selecting the location using the saved places screen  3205 . To this end, the user may actuate the delete button  3220  of the confirmation screen  3225  after selecting the saved location that is to be deleted. 
         [0142]    The user may select and save the default home location in the manner shown in  FIG. 33 . In this example, the user may select a state using one or more state selector screens  3305 , a city using one or more city selector screens  3310 , and a street and street number using one or more number/street selector screens  3315 . Once the user has provided the desired information to the system  100 , a confirmation screen, such as the one shown at  3320 , may be provided to the user. Using the confirmation screen  3320 , the user may save the home location through activation of the save button  3325  and/or view a map that includes the home location through activation of the view map button  3330 . 
         [0143]      FIG. 34  shows a plurality of screens that may be employed when the user actuates the delete button  3220  to delete a place from the saved places list. As illustrated, the navigation interface may display a pop-up menu  3405  that prompts the user to confirm deletion of the displayed saved place. To this end, the pop-up menu  3405  may include a delete button  3410  and a cancel button  3415 . Activation of the cancel button  3415  returns the user to the address confirmation screen  3225  and cancels the place deletion process. Final deletion of the saved place is accomplished when the user activates the delete key  3410 . When the delete key  3410  has been activated, the displayed saved place is removed from the system  100  and a confirmation to this effect is provided on an informational pop-up screen  3420 , which may be displayed for a predetermined limited time, such as, for example, three seconds. 
         [0144]    When the user actuates the route options button  1630  of the navigation menu  1600 , a route options screen such as the one shown at  3505  of  FIG. 35  may be displayed. The route options screen  3505  may provide the user non-recurring optional changes to any currently entered route. The route options button  1630  may be available from the navigation menu  1600  whenever the navigation application is engaged in conducting a navigation function with respect to a destination that has been entered by the user. The route options menu  3505  may include a view route button  3510 , a view turn-by turn button  3515 , a detour next turn button  3520 , and an add a destination button  3525 . 
         [0145]    A map screen, such as the one shown at  3605  of  FIG. 36 , may be presented to the user when the view route button  3510  is actuated. The specific manner in which the map is displayed, such as whether it is displayed as a 2-D map, a 3-D map, north-up, and the like, may be provided in system  100  as user selectable options. In the example shown in  FIG. 36 , the map screen  3605  is presented as a North Up, 2D map having the current route highlighted. The destination may be marked with an icon (not shown). If multiple destinations have been entered, each destination may be marked with an icon. 
         [0146]    The map screen  3605  may display the following information using anti-aliased fonts, graphics, and some alpha-blended overlays:
       Present Street (optionally displayed at  635  if no media is currently being played back)   Upcoming Maneuver Graphic ( 3610 )   Distance to Upcoming Maneuver ( 3615 )   Maneuver Point Street Name ( 3620 ) including, if desired, exit number and/or exit name for highway exits   Discrete zoom in/out controls ( 3625 )   Time to Destination ( 3630 )   Distance to Destination ( 3635 )   Highlighted Route   Compass ( 3640 )
 
Additionally, the map screen may display the following under the appropriate circumstances:
   No GPS Signal Indicator   Low Battery Indicator   Muted speaker icon   Car icon       
 
         [0160]    The car icon may be centered horizontally at the bottom of the area containing the map. If the user switches between a regular map view and a detailed map view, the system may re-center the entire map inside the selected screen format. The map shown in the map screen  3605  may have three user selectable map orientation settings: 2.5D) heading up, 2D heading up and 2D north up. These settings may be toggled through by pressing the compass button  3640 . The user may access the current trip&#39;s information screen by pressing the menu button  3645 . If there is no route active then this area may display the current speed. 
         [0161]    A detailed map screen may be accessed and exited when the user presses the upcoming maneuver graphic  3610 . The detailed map screen may be similar to the primary map screen except that the upcoming maneuver information may be larger and may include an icon overlaid onto a display of the actual upcoming maneuver (i.e., shown as a heading up 2D map). The distance to maneuver, time to destination, and distance to destination may be reformatted to accommodate the larger graphic. 
         [0162]    When the media application is playing an audio file, the track name and artist name of the current audio file may be displayed as a music track button  635  on the map screen  3605 . The music track button  635  may be actuated by the user to display a user interface screen associated with the audio application. For example, actuation of the music track button  635  may result in the display of the playback control screen  1700  shown in  FIG. 17  for interface with the audio application. 
         [0163]      FIG. 37  shows a plurality of screens that may be presented to the user when the view turn-by-turn button  3515  of the screen  3505  is actuated. As shown, actuation of the button  3515  may result in the presentation of a route list screen  3705  to the user. The route list screen  3705  may include a list of maneuvers needed to get from the current location to the final destination. Each maneuver description may be preceded with a corresponding maneuver icon  3710 . If there are multiple destinations then each destination is preceded with a corresponding destination icon  3715 . If the user actuates one of the buttons corresponding to a maneuver, they may be presented with a map of the maneuver as shown at maneuver screen  3720 . Using the “avoid this road” button  3725  of the maneuver screen  3720 , the user may choose to avoid the road(s) of the selected maneuver. Users may be asked for avoidance confirmation using a pop-up screen as shown at the screen  3730 . 
         [0164]      FIG. 38  shows a plurality of screens that may be presented to the user when the user actuates the add destination button  3525  of the route options screen  3505 . Prior to the display of the confirm further destination screen  3805 , the user may enter the further destination in the manner associated with any of the selections from the place selection menu  2200 . When the user is finished entering the data for the additional location, the confirm further destination screen  3805  may be displayed. Screen  3805  may be provided with an add to route button  3810  to add the further destination to the current route. The user also may view a map that includes the further destination by actuating the view map button  3815  on screen  3805 . If the further destination is added to the current route, an acknowledgment screen  3820  may be displayed to indicate that the navigation application is recalculating the current routing information to include the further destination. 
         [0165]    Actuation of the detour next turn button  3520  of the route options screen  3505  may be used to direct the navigation application to recalculate the route in a manner that avoids the next maneuver. If desired, an acknowledgment screen such as screen  3820  of  FIG. 38  may be displayed to indicate that the navigation application is recalculating the current routing information to avoid the next maneuver. 
         [0166]    The media application may employ a plurality of screens that are implemented in accordance with the Centrality multimedia user interface standards to select audio and/or video files for playback, deletion, etc. In accordance with this user interface standard, the media application may search for and present interface screens based on whether the media application is in artist mode, album mode, genre mode, playlist mode, and/or song mode. In artist mode, songs may be listed on an interface screen alphabetically and grouped by artist name. An exemplary screen in artist mode is shown at  1725  of  FIG. 17 . In each mode, the corresponding screen may include a plurality of buttons such as those shown at  1735 ,  1740 ,  1745 ,  1750 , and  1755  that allow the user to select the mode in which the media application is to operate. 
         [0167]    In album mode, songs may be listed alphabetically on an interface screen in the order they came in on the album and, further, may be grouped by album. In genre mode songs may be listed alphabetically and grouped by genre. Playlist mode may be available to the user if M3Us are detected on the selected source. If this mode is available, songs are listed in the order they were placed in the playlist. Songs mode may present the user with a screen comprised of a single long list of all songs alphabetically organized by ID3 tag song name. Whether the various items of each of the modes is listed alphabetically, listed in reverse alphabetical order, listed by increasing/decreasing date, listed numerically, or the like, may be selectable by the user as a default in the initial settings, from one or more screens associated with the particular mode, and/or from one or more screens generally associated with the media application. 
         [0168]    Once the user has located the desired audio file using the selected mode, the user may actuate a button corresponding to the audio file. Ultimately, the media application may present the user with the playback control screen  1700  showing information relating to the selected audio file while concurrently executing playback of the file. If a file is not playable, the system  100  may display a brief explanation as to why the file is not playable for a predetermined amount of time at, for example, the portion of the screen normally reserved for the track title button. As the system  100  discovers unplayable files, the unplayable file will be skipped. Unplayable files may be grayed out in the list screen and skipped over during playback. 
         [0169]    If desired, the navigation application may notify the user of upcoming turns using an overlay such as the one shown at  3905  of  FIG. 39 . The overlay  3905  need not be displayed every time the navigation application prepares for an upcoming maneuver. Rather, display of the overlay  3905  may be limited to the first and second to last time a maneuver is announced. Overlay  3905  may be semi-transparent and show a graphic corresponding to the next maneuver. The graphic may be displayed for a predetermined period of time before fading away. Further, if the user wants the pop-up to fade from the screen prior to the expiration of the predetermined period of a time, the user may press anywhere on the screen to promptly remove the overlay  3905  from the screen. Some or all of the buttons of the underlying screen  1700  may remain functional while the overlay  3905  is displayed. 
         [0170]      FIG. 40  shows one example of a trip data screen  4005  that may be presented to the user upon actuation of the menu button  3645  of the map screen  3605  shown in  FIG. 36 . In the trip data screen, the gray boxes  4010  may be populated with alphabetic and/or numeric data. 
         [0171]    The system  100  may have a light sensor that allows the user interfaces to automatically switch between a daylight mode and a night mode. This to change the graphics of one or more portions of the user interface from a light set of graphics with black fonts to a dark set of graphics with white fonts. The switch from day mode to night mode or night mode to day mode also may be triggered by location specific sunrise and sunset times provided by the GPS and navigation software. Further, the user may turn off the automatic switch and set the system  100  to stay in day mode or night mode in the main system settings menu. Such selections may be available from a mode screen  4105  such as the one shown in  FIG. 41 . Examples of a day mode and a night mode are shown at  4110  and  4115 , respectively, in  FIG. 41 . 
         [0172]    A graphical user interface for use in connection with a multifunction device has been disclosed. In one example, the multifunction device includes navigation and media functionality. The graphical user interface comprises a navigation interface, a media interface, and a source menu display. The navigation interface includes a plurality of screens that are adapted to facilitate interaction between a user and a navigation application of the device and has one or more navigation interface states corresponding to the plurality of screens of the navigation interface. The media interface includes a plurality of screens adapted to facilitate interaction between a user and a media application of the device and has one or more media interface states corresponding to the plurality of screens of the media interface. The source menu includes at least a first button actuatable by the user to invoke display of a screen corresponding to a previously stored navigation interface state, and at least a second button actuatable by the user to invoke display of a screen corresponding to a previously stored media interface state. There is at least one source button disposed for actuation on a plurality of screens of the navigation interface and a plurality of screens of the media interface to invoke display of the source menu to the user. Actuation of the at least one source button results in storage of a currently active interface state. In one example, one or more of the buttons of the interface are virtual buttons. 
         [0173]      FIG. 42  is a perspective view of the interface hub  110  shown in  FIG. 1 . The interface hub  110  includes an electronics hub body  4202  that may enclose the electronics of the interface hub  110 . A cigarette lighter power stalk  4204  may be removably connected to the electronics hub body  4202 . The stalk  4204  may include a primary power connector  4206  for connection with a cigarette lighter receptacle in a vehicle. The power received through stalk  4204  may power the electronics of the interface hub  110 , a supplemental media device  170 , an expansion device, a main control module  105 , or other components. 
         [0174]    The interface hub  110  may also include interfaces to external components. The interfaces may include a media device interface  4208 , an expansion interface  4210 , a main control module interface  4212 , and an audio/video line output  4214 . A supplemental media device  170  may be connected to the media device interface  4208 , and may provide audio and/or video content. For example, the supplemental media device  170  may include an MP3 player, an iPod® device, a Universal Serial Bus flash drive, and other sources of content. The supplemental media device  170  may be directly or indirectly connected to the media device interface  4208 , such as through a cable, converter, and/or plug adapter. The media device interface  4208  may include a Universal Serial Bus port, a Firewire port, a proprietary connection, and/or other types of interfaces. 
         [0175]    An expansion device may be connected to the expansion interface  4210 , and may provide audio, video, and/or data content. Examples of the expansion device include a satellite radio receiver, a personal digital assistant, a cellular phone, and other devices. The expansion device may be directly or indirectly connected to the expansion interface  4210 . For example, a satellite radio adapter may be connected to the expansion interface  4210  to allow display and control of a satellite radio receiver. As another example, a Bluetooth cellular phone adapter may be connected to the expansion interface  4210  to wirelessly control the cellular phone, display and select a phonebook, display a caller identification, and perform other phone functions. The expansion interface  4210  may include a Universal Serial Bus port, a Firewire port, a proprietary connection, and/or other types of interfaces. 
         [0176]    A main control module  105  may be connected to the main control module interface  4212 . The main control module  105  may display information and accept user input, as described previously, for example. In particular, the supplemental media device  170  may be in communication with the main control module  105  through the interface hub  110 . The media device interface  4208  and/or the expansion interface  4210  may be interconnected with the main control module interface  4212  so that data and commands may be exchanged between the supplemental media device  170  and the expansion device, and the main control module  105 . The exchanged data and commands may include audio and video content, control commands (e.g., play, stop, pause, track forward, track back, volume up/down, power on/off, or other commands), and other information. The main control module interface  4212  may include a Universal Serial Bus port, a Firewire port, a proprietary connection, and/or other types of interfaces. 
         [0177]    An external audio/video system, such as a vehicle radio system, may be connected to the audio/video line output  4214 . The external audio/video system may present the audio/video content provided from the supplemental media device  170 , the expansion device, and/or other components through the audio/video line output  4214 . The audio/video line output  4214  may provide an analog audio/video signal that may be transmitted to the external audio/video system via a cable. In addition, an external wired frequency modulation (FM) adapter may be connected to the audio/video line output  4214 . The wired FM adapter provides a wired FM connection between the interface hub  110  and the external audio/video system. Switching circuitry may sense if a cable is or is not connected to the audio/video line output  4214 . When the switching circuitry senses no connected cable, the switching circuitry may route audio/video content to an FM modulator in the interface hub  110  for local FM transmission (e.g., to a vehicle radio). The main control module  105  may also include an FM modulator for local FM transmission of audio/video content. Otherwise, the switching circuitry may route the audio/video content out the audio/video line output  4214 . 
         [0178]      FIG. 43  is a side view of the interface hub  110  showing the cigarette lighter power stalk  4204 . The stalk  4204  is shown attached to and removed from the electronics hub body  4202  on the top and bottom of  FIG. 43 , respectively. In the example shown in  FIG. 43 , the stalk  4204  includes a cigarette lighter section  4302  and an interface hub section  4304 . The interface hub section  4304  may conform to a portion of the circumferential shape of the electronics hub body  4202  of the interface hub  110 . The interface hub section  4304  may thereby mate nearly seamlessly with the interface hub  110  to provide an unexpectedly good fit, yet maintain the flexibility of convenient detachment. As one example, the interface hub section  4304  may be a portion of the circumference of a truncated cone, and may match a corresponding interface hub body mating interface  4502  ( FIGS. 44 and 45 ), such as a matching material gap in the interface hub  110 . 
         [0179]      FIG. 44  is a view of the interface hub  110  showing the stalk  4204  removed and exposing a secondary power input connector  4402  on the electronics hub body  4202 . The secondary power input connector  4402  may be adapted to interconnect with a detachable power coupling  4412 . The secondary power input connector  4402  retains the detachable power coupling  4412  to provide power from the cigarette lighter through the primary input power connector  4206 . The detachable power coupling  4412  may be implemented with pins (e.g., spring loaded pins such as Pogo pins), posts, male or female sockets or pins, or other couplings. The secondary power input connector  4402  may include power, ground, and accessory connectors to allow a hardwired connection via a power cable  4504  to a vehicle electrical system, as shown in  FIG. 45 , for example. The power cable  4504  may mate with a plug receptacle  4424  to electrically connect the power, ground, and accessory connectors. 
         [0180]    As noted above, the stalk  4204  may include an interface hub section  4304  that may mate with a corresponding hub body mating interface  4502  defined in or on the electronics hub body  4202 . The body mating interface  4502  may be a mirror image of the interface hub section  4304 , such that the stalk  4204  may seamlessly be attached to the body  4202 . Other shapes of the body mating interface and interface hub section may be used. 
         [0181]    The interface hub section  4304  may include opposed mating guides  4408  and  4409  for insertion into corresponding mating interface slots  4422  and  4420 , respectively, on the body  4202 . The mating guides  4408  and  4409  and mating interface slots  4422  and  4420  may be shaped and positioned to create a secure attachment between the interface hub section  4304  and the body mating interface  4502 . For example, the mating guides  4408  and  4409  and mating interface slots  4422  and  4420  may be L-shaped. The mating guides  4408  and  4409  may include positive location guides, posts, ridges, lips, pins, locking tabs, and the like. The mating interface slots  4422  and  4420  may include slots or other positive location apertures. 
         [0182]    In addition, the interface hub section  4304  may include a locking tab  4416  that releasably connects with a groove  4418  on the hub body mating interface  4502 . Turning briefly to  FIG. 50 , the locking tab  4416  is shown locked into the groove  4418 . The locking tab  4416  may flex and deform when the interface hub section  4304  is attached or detached from the hub body mating interface  4502  so that the locking tab  4416  locks and unlocks from the groove  4418 , respectively. Other locking mechanisms and shapes may also be used to ensure secure attachment of the stalk  4204  and the body  4202 . When the stalk  4204  and body  4202  are mated, the secondary power input connector  4402  and the detachable power coupling  4412  are connected, and power flows through the primary input power connector  4206  to the body  4202 . 
         [0183]      FIG. 46  is a block diagram of the interface hub  110 . In this example, the interface hub  110  may include audio/video input interfaces, audio/video output interfaces, power connections, and an interface with a main control module  105 . In particular, the interface hub  110  may include a controller  4602  to interconnect the input interfaces, such as the media device interface  4208  and the expansion interface  4210 , with the main control module interface  4212 . The controller  4602  may coordinate, convert, and process data and commands between the main control module  105 , the supplemental media device  170 , and/or the expansion device  4604 . Thus, the controller may be a communications controller (e.g., a serial bus controller) or a processor including input/output functionality. For example, the supplemental media device  170  and/or the expansion device  4604  may present information on the main control module  105 . The main control module  105  may also be used to accept user commands on a touchscreen or from an external input device, for example, to control the operation of the supplemental media device  170  and/or the expansion device  4604 . 
         [0184]    The audio, video, or other content from the supplemental media device  170  and/or the expansion device  4604  may be provided to an external audio/video system  4608 , such as a vehicle radio. The external audio/video system may be connected to the interface hub via the audio/video line output  4214 . The audio/video line output  4214  may provide an analog audio/video signal that may be transmitted to the external audio/video system via a cable. Alternatively, switching circuitry may sense if a cable is not connected to the audio/video line output  4214 . When the switching circuitry senses no connected cable, audio/video content may be wirelessly provided over an antenna  190  using a frequency modulation (FM) modulator  175 . 
         [0185]    The interface hub  110  may also include a power conversion unit  4606  that receives a voltage (e.g., a DC voltage) from an external power source  4610  through the secondary input connector  4402 . The external power source  4610  may be a cigarette lighter power source, a hardwired vehicle power source, a battery, or other power source. The power conversion unit  4606  may convert the received voltage to a suitable voltage for use by other components in the interface hub  110  and connected to the interface hub  110 . In addition, the received voltage may be converted to other suitable voltages for powering the supplemental media device  170 , the expansion device  4604 , and/or the main control module  105 . Rechargeable batteries in the supplemental media device  170 , the expansion device  4604 , and/or the main control module  105  may also be charged with the other suitable voltages provided by the power conversion unit  4606 . 
         [0186]      FIG. 47  is a block diagram of the external input module  115  connected with a main control module  105 . The input module  115  may be wired or wirelessly in communication with the main control module  105 . In this example, the input module  115  may include a rotatable control  4702 , and buttons  4706 ,  4708 ,  4710 ,  4712 , and  4714  for receiving user input. More or less controls may be included on the input module  115 . The rotatable control  4702  may be ring-shaped and disposed on the outer portion of the input module  115  for rotational movement about a center axis  430 , as shown in  FIGS. 4 and 5 , for example. The rotatable control  4702  may also be other shapes (e.g., polygons such as triangles, rectangles, or octagons) that allow rotational movement about an axis. A potentiometer  4704  may detect an angular position and a rate of change of the rotatable control  4702 . The potentiometer  4704  may provide an analog or digital signal signifying the angular position and the rate of change of the rotatable control  4702  to a controller  4716 . Alternatively, the controller  4716  may receive angular position updates over time and calculate the rate of change. The controller  4716  may convert the angular position to a rotational movement  4722  that is provided to the central processor  120  of the main control module  105 . The rotational movement  4722  may be stored in a memory  4720  of the main control module  105 , and include the angular position  4724  and the rate of change  4726 . 
         [0187]    The rotatable control  4702  may correspond to radially arranged user interface elements, for example, as in the layout  600  and plurality of buttons  605  shown in  FIGS. 6-12 , on a graphical user interface displayed on a screen of the main control module  105 . The radially arranged user interface elements may include corresponding visual indicia  610 , such as alphanumeric characters, that may be used to identify a function associated with the user interface element. 
         [0188]    When the rotatable control  4702  is rotated, the controller  4716  analyzes the rotational movement against a selected user interface mapping  4756  stored in a mapping database  4718  of the main control module  105 . The user interface mapping may include an angular transition threshold that specifies an angular amount that will result in changing a highlighting or selection from the currently highlighted or selected user interface element to a subsequent (e.g., immediately adjacent) radially arranged user interface element on the screen in the direction of the rotation. For example, an angular transition threshold may specify that five degrees of rotational movement of the rotatable control  4702  changes highlighting or selection from a presently highlighted or selected user interface element to a neighboring user interface element. Other integer and non-integer angular transition thresholds may be specified. 
         [0189]    The mapping database  4718  may include multiple user interface mappings and angular transition thresholds specific to multiple screens of an application, and/or for multiple applications of the main control module  105 . The multiple user interface mappings and angular transition thresholds may vary depending on the number of user interface elements present on a particular screen. The angular transition threshold may correspond to the actual angular positioning of user interface elements on the screen. 
         [0190]    Turning briefly to  FIG. 49 , an example user interface  4900  is shown with six user interface elements  4902 ,  4904 ,  4906 ,  4908 ,  4910 , and  4912  radially arranged at increments of 60 degrees around an axis  4914 . In this example, the angular transition threshold may be 60 degrees. As another example, for elements radially arranged at 0 degrees (element 0), 45 degrees (element 1), 135 degrees (element 2), and 270 degrees (element 3), the angular transition threshold may vary from element to element: 45 degrees (from element 0 to element 1), 90 degrees (from element 1 to element 2), 135 degrees (from element 2 to element 3), and 90 degrees (circularly returning from element 3 to element 0). Similarly, the angular transition threshold may be −90 degrees to move from element 0 to element 3, and so on. A separate scaling factor may also be applied to increase or decrease the angular transition threshold. For example, the scaling factor may be chosen such that a predetermined maximum (e.g., 5) degree of controller  115  movement is always sufficient to change to the next user interface element. If 5 degrees is the maximum, then in the example above where the angular transition threshold was 60 degrees, the scaling factor would be 12. Thus, angular transition threshold may vary from element to element, from screen to screen, or from application to application. 
         [0191]    The multiple user interface mappings and angular transition thresholds may be constant and/or customizable for the multiple screens and multiple applications. For example, a user interface may accept angular transition selection parameters, including a scaling factor. The system may then store the custom parameters in the memory  4720 . 
         [0192]    When an application is initiated, the user interface mappings and angular transition thresholds specific to the application may be loaded from the mapping database  4718  to the memory  4720 . For example, a first application  4728  may include user interface mappings and angular transition thresholds for multiple application screens such as screen  1   4730  to screen N  4736 . Other parameters for the application and screens may be included in the memory  4720 . Each screen  4730  and  4736  may include an angular transition threshold  4732  and  4738 , and user interface element data  4734  and  4740 , respectively. The angular transition threshold  4732  and  4738  specifies the angular rotational movement that causes the controller  4716  to change highlighting or selection from one user interface element to a neighboring radially arranged user interface element in the direction of rotation for the particular screen  4730  and  4736 . The user interface element data  4734  and  4740  may include the radially arranged user interface elements  605  and corresponding visual indicia  610  for the particular screen  4730  and  4736 . Similarly, an application N  4742  may include screen  1   4744  to screen N  4750  that may each include an angular transition threshold  4746  and  4752 , and user interface element data  4748  and  4754 , respectively. 
         [0193]    The central processor  120  may use the user interface element data  4734 ,  4740 ,  4748 , and  4754  in the memory  4720  to render a particular screen of a particular application. The central processor  120  may use the angular position  4724 , the rate of change  4726 , and the angular transition thresholds  4732 ,  4738 ,  4746 , and  4752  in the memory  4720  to determine, for a particular screen and/or application, when to change highlighting from a particular radially arranged user interface element to a neighboring radially arranged user interface element in the direction of the rotational movement. The change in highlighting may occur when the detected rotational movement of the rotatable control  4702  exceeds the angular transition threshold  4732 ,  4738 ,  4736 , and  4752  for a particular screen and/or application. 
         [0194]    The controller  4716  may also detect actuation of the buttons  4706 ,  4708 ,  4710 ,  4712 , and  4714 . The button  4706  may be used for selection of a highlighted user interface element on the screen, and the buttons  4708 ,  4710 ,  4712 , and  4714  may be used to activate various predetermined functions (e.g., play, stop, pause, track forward, track back, volume up/down, power on/off, or other functions). The buttons  4706 ,  4708 ,  4710 ,  4712 , and  4714  may be disposed as shown in  FIGS. 4 and 5 , for example, in the center  440 , top  425 , bottom  427 , left  428 , and right  426  portions of the input module, respectively. The location and orientation of the function buttons  4708 ,  4710 ,  4712 , and  4714  may correspond to function user interface elements disposed on a screen of the graphical user interface. Thus, referring back to  FIG. 49 , the user interface may include an actuable element  4916  at the top of the user interface that maps to the top button  4708 , an actuable element  4918  at the bottom of the user interface that maps to the bottom button  4710 , an actuable element  4920  on the right side of the user interface that maps to the right button  4714 , and an actuable element  4922  on the left side of the user interface that maps to the left button  4712 . For example, referring to  FIGS. 6-12 , the top button  4708  may activate a function relating to the title bar  620 ; the bottom button  4710  may activate a function relating to the region  635 , such as toggling between active applications; the left button  4712  may activate a prior screen function  625 ; and the right button  4714  may activate a source menu function  630 . The buttons  4708 ,  4710 ,  4712 , and  4714  may also activate secondary and tertiary functions. 
         [0195]    The user interfaces thereby have a close correspondence to the physical design and arrangement of the hardware that controls the user interface, as shown, for example in  FIG. 49 . Specifically, the radial arrangement of user interface elements matches the physical design of the rotatable control  4702 , while specific user interface buttons (or other elements) on the screen match the physical layout of the buttons  4708 - 4714 . One result is that the system delivers a more intuitive, easy to operate experience. Another beneficial result is that the operator more quickly learns how to navigate and manipulate the user interface to achieved desired results. 
         [0196]      FIG. 48  is an exemplary process of controlling the main control module  105  using the external input module  115 . The central processor  120  determines and initiates an executable application ( 4802 ). A user may begin a navigation application or a media application on the main control module  105 , for example. After determination and initiation of the application, the central processor  120  loads a mapping for an initial screen of the application ( 4804 ). The mapping may include user interface element data, an angular transition threshold, and other parameters. The user interface element data may include the radially arranged user interface elements and corresponding visual indicia for the particular screen. The angular transition threshold may specify an angular amount a rotational movement of a rotatable control on the external input module that causes the controller  4716  to change a highlighting or selection from one user interface element to a neighboring radially arranged user interface element in the direction of rotation on the screen. 
         [0197]    The central processor  120  may determine whether the user or an application has initiated a new screen ( 4806 ). A new screen may be initiated if a user selects a submenu, recalls a list of information, or performs other functions within the application, for example. If a new screen has been initiated, then the central processor  120  loads a mapping for the new screen ( 4804 ). If a new screen has not been initiated, then the controller  4716  may obtain a potentiometer reading signifying the angular position and rate of change of the rotatable control ( 4808 ). For example, a user may rotate the rotatable control  4702  in a clockwise or counterclockwise direction, and the angular position and rate of change of the rotatable control  4702  may be detected by the potentiometer  4704 . The rotatable control  4702  may correspond to radially arranged user interface elements, for example, as in the layout  600  and plurality of buttons  605  shown in  FIGS. 6-12 , on a graphical user interface displayed on a screen of the main control module  105 . 
         [0198]    The controller  4716  may convert the potentiometer reading to a rotational movement ( 4810 ). The rotational movement may be stored in a memory of the main control module, and include the angular position and the rate of change. The central processor  120  may compare the rotational movement to the loaded angular transition threshold for the active screen and/or application ( 4812 ). If the rotational movement exceeds the angular transition threshold, then the central processor  120  may determine a subsequent user interface element ( 4814 ). For example, if the angular transition threshold for the active screen is five degrees, then the central process  120  may determine a subsequent user interface element when a rotational movement of the rotatable control exceeds five degrees. The subsequent user interface element may neighbor the current user interface element in the direction of the rotational movement. 
         [0199]    The central processor  120  may highlight the subsequent user interface element on the screen ( 4816 ). The central processor  120  may then determine whether a new application has been activated ( 4818 ). The central processor  120  may also determine whether a new application has been activated ( 4818 ) if the rotational movement does not exceed the angular transition threshold ( 4812 ). A new application may be activated by the user or the currently active application. For example, a user may activate a media application when a navigation application is currently active so that both applications would be running simultaneously. If a new application has been activated, then the central processor  120  determines and initiates the new application ( 4802 ). If a new application has not been activated, then the central processor determines whether a new screen of the currently active application has been initiated ( 4806 ). 
         [0200]    While various embodiments of the invention have been described, it will be apparent to those of ordinary skill in the art that many more embodiments and implementations are possible within the scope of the invention. Accordingly, the invention is not to be restricted except in light of the attached claims and their equivalents.