Abstract:
Systems and methods are described for using physical buttons on a device in association with a display to display, access, and execute functions available through associated hardware and software. The physical buttons are programmable, and the function of each button is displayed on an associated display when the button is activated using a first type of motion, and the function of the button is performed when the button is activated using a second type of motion. This allows the display to be free of unnecessary icons, tool-tips, menus, text, etc., and to be devoted to actual content unless and until a user decides to perform a function associated with the device containing the display. Increasing the available display space is especially important in the advancing art of electronics, where devices are becoming smaller and smaller, yet consumers are demanding more and more functionality.

Description:
RELATED APPLICATIONS  
       [0001]    The present application is related to U.S. patent application Ser. No. 09/001,873, titled “Portable Internet-Enabled Controller And Information Browser For Consumer Devices”, (hereinafter referred to as “the &#39;873 application”), and to U.S. patent application Ser. No. 09/001,841, titled “System For Dual-Display Interaction With Integrated Television And Internet Content”, (hereinafter referred to as “the &#39;841 application”), both filed on Dec. 31, 1997. The present application is also related to U.S. patent application Ser. No. 09/221,940, titled “Method of Data Display For Electronic Program Guides (EPGs), (hereinafter referred to as “the &#39;940 application”), filed on Dec. 28, 1998. The disclosures of all of the above-referenced related applications are incorporated herein by reference. 
     
    
     
       FIELD OF THE INVENTION  
         [0002]    The present invention relates generally to efficient use of display space on a data display device. More particularly, the present invention relates to methods of using physical buttons to access functions available from software and hardware associated with the display device, without necessarily using the display space on the display device to indicate the available functions until prompted to do so by a user.  
         DEFINITIONS  
         [0003]    As used in this application, “button” refers to various types of buttons, such as push buttons, touch-buttons, switches, sliders, knobs, dials, trackballs, mice, levers, pads, etc. Various buttons are described and shown in more detail in the &#39;873 application. The phrase “button set” is used herein to describe a plurality of buttons, which, when activated in combination, have a single effect as if the button set were a single physical button. For example, activating two separate physical buttons substantially simultaneously may initiate a first function, whereas activating the same two buttons with a third button substantially simultaneously may initiate a second function. Unless the context indicates otherwise, whenever the display or function of a button is discussed, it is to be understood that the discussion also includes a button set.  
           [0004]    “Activate” as used herein means to perform the required act or acts on a button that indicate to a device associate with the button, that the button has been engaged. For example, “activate” may refer to pushing, touching, switching, sliding, turning, dialing, rolling, clicking, etc., depending on the physical characteristics of the button involved.  
           [0005]    A particular button may have a variety of physical motions associated therewith that could cause activation thereof, perhaps for different purposes. For example, activation of a button by a first type of physical motion (e.g., pushing forward) may cause a first event to occur, such as displaying information on the display to describe a function of the button. An activation causing this type of event is referred to herein as a “display activation”, and the motion associated therewith is referred to herein as a “display activation motion”. An activation of the same button by a different type of physical motion (e.g., pushing downward) may cause a second event to occur, such as executing a function associated with the button. An activation causing this type of event is referred to herein as an “execution activation”, and the motion associated therewith is referred to herein as an “execution activation motion”. A particular motion associated with a particular button may be a display activation motion, an execution activation motion, or another type of motion, due to a predetermined or programmed association.  
           [0006]    Also in this application, the terms “user”, “viewer”, and “consumer” are used interchangeably depending on the context, to refer to a person using the methods and devices described herein. A user may be a “logical user”. A “logical user” may be a single user, or a group of users having shared or aggregated program preferences. For example, “kids” may be a logical user, for which program preferences are determined by a parent. Or “critics&#39; choice” may be a logical user, for which program preferences are determined by a group of program critics. Or “default” may be a logical user, for which program preferences are determined by a predetermined or random algorithm.  
           [0007]    As used in this application, the term “action” refers to any sequence of events performed or required to be performed by a user to display, access, and/or execute an available function. Actions include, but are not limited to, keyboard events (e.g., touching or pressing a key or keys simultaneously or in sequence), mouse events (moving, right- or left-clicking, double-clicking, dragging, etc.), actuating a button (e.g., pressing, releasing, sliding, toggling, squeezing, etc.), screen events (e.g., touching a screen), and any other event in which a signal or other data is input to a device in response thereto.  
         BACKGROUND  
         [0008]    Many electronic and other devices have various functions associated therewith, and access to those functions may occur through a wide variety of mechanisms. Numerous combinations of physical buttons and software or on-screen buttons are provided to enable users to access available functions. Although eventually a user may memorize the actions required to access and execute some or all of the available functions, prior to that point there needs to be a way to communicate the information to the user. Typically, there is a separate User&#39;s Guide, cheat-sheet, display screen or other visual indicator associated with the device that is used for that purpose.  
           [0009]    A simple example is a personal computer, used in combination with a keyboard, mouse, or other data input device, a display monitor, and associated software. It is well-known in the art of personal computing to use industry standard keys (such as ALT, CTRL, SHIFT, Apple Command, and Windows Command) in combination with other available keys, to access and execute a desired function. Similarly, it is well-known to use Function keys, such as F1, F2, etc., or to use a mouse to point-and-click or point-and-double-click a specified icon or menu option to access and/or execute a function associated therewith.  
           [0010]    In each of the above-mentioned situations, however, the functions associated with a particular keystroke sequence or other input action are typically displayed in response to a first action or set of actions, and then the desired function is executed by use of a second action or set of actions. For example, it is common for application software programs to have help icons or help menus, which are accessible by a particular mouse or keyboard sequence. Once within the help module, a user can navigate to determine a second set of actions required to perform the desired function. Many times this even requires a user to engage the use of various cooperating input devices, such as a mouse to point to the menu, and then a keyboard to navigate through the menu and eventually access and execute the desired function.  
           [0011]    An example of a dual-function button wherein two functions are performed from the same button, is a shutter button on some types of cameras. On SLR cameras that have manual focus but automatic exposure control, typically pressing the shutter button half-way will give an indication of what the exposure rate will be, and following through and fully depressing the shutter button result in the picture being taken. Similarly, on many auto-focus cameras, depressing the shutter half-way causes the auto-focus mechanism to set for the subject currently in view, and full shutter depression then takes the picture. The functions of these “dual-function” buttons on cameras, however, are not programmable.  
           [0012]    Another dual-function functionality known as “tool tips&#39; is common in software. Tool tips are short pop-up textual descriptions associated with visual icons. The icons represent buttons that provide different kinds of program functionality such as opening, saving, or printing files. If a user moves the mouse over these icons and holds it there for a second or two, the text description pops up telling the user what the button will do if the user subsequently clicks on it. These tool-tips are similar to the “balloon help” provided with Macintosh computers, and they are common in programs such as Microsoft Word.  
           [0013]    Tool-tips may be useful user interface devices in standard computer applications, because they enable novice users to simply point to an on-screen icon, and find out what it will do. For more experienced users, they can simply click on the icon representing the functional tool, without waiting for the description of the function to pop up. However, there are at least two major drawbacks to tool-tips. First, they depend on a “mouse and keyboard” input metaphor, where it is possible to point the mouse at an icon without clicking on that icon. However, for devices with graphical touch-screens, the natural interaction method is to point one&#39;s finger at an icon by touching the screen, and have it activated immediately. In this case, there is no distinction possible between “pointing” and “clicking”. Some touch-screen-based applications do create this distinction using a pen, and requiring that the pen be tapped twice in quick succession in order to create a “click”, whereas just touching the pen once to the touch-screen surface constitutes a “point”. But this is an awkward interaction style, especially if one is using one&#39;s finger instead of a physical pen.  
           [0014]    Another significant drawback with tool-tips is that they take up screen display space. For each function button to which one wishes to attach a tool-tip, it is necessary to provide an icon, such that pointing to it will cause the textual description to pop-up. In the context of a small-screen display, the continuous display of such icons uses up precious display space resources even when the icons are not in use.  
           [0015]    The Palm Pilot, by 3-Com, Corporation, has a small touch-screen and a small number of physical buttons. However, the Palm Pilot&#39;s physical buttons are dedicated to always performing a single operation. The buttons are not at all versatile. They simply switch between four primary program application screens, and have no other use.  
           [0016]    A desirable method of overcoming the above-referenced drawbacks in the prior art is to provide physical buttons on the devices, that may be programmable, wherein a function of each button or combination of buttons (button set) is displayed on an associated display when said button or button set is activated using a display activation motion, and a function of the button or button set is executed when the button or button set is activated using an execution activation motion, different than the display activation motion. This would allow the display to be free of unnecessary icons, menus, text, etc., and to be devoted to actual content, unless and until a user has a need or desire to view information related to the function of a button associated with the device containing the display.  
         SUMMARY OF THE INVENTION  
         [0017]    As technology has been advancing at a rapid pace, devices have become increasingly small in size, and many such devices exist with fully integrated input, processing, and display features, in a compact device suitable for being hand-held and operated. For example, hand-held calculators and hand-held video games have existed for many years, and more recently hand-held electronic organizers such as 3-Com Corporation&#39;s Palm Pilot have become available. In addition, the &#39;873 application discloses a hand-held remote controller for consumer devices, having an integrated display.  
           [0018]    As the size of these electronic devices has been decreasing, the degree of functionality associated with them has been increasing. This is due to better technology, market demand, and other factors. With these smaller devices, both the display area and the available space for physical buttons are limited, and it is therefore desirable to make efficient use of the space available in both respects. It thus becomes important to pack a high degree of functionality into such devices, using a relatively small number of physical buttons, and without using valuable display space to display to the user what the functions of each button are.  
           [0019]    The present invention accomplishes these goals by providing physical buttons (preferably programmable) on the devices, wherein the function of each button or button set is displayed on an associated display when said button or button set is activated using a display activation motion, whereas the function of the button or button set is executed when the button or button set is activated using an execution activation motion, different than the display activation motion, wherein the execution activation motion is not necessarily preceded by the display activation motion.  
           [0020]    The present invention thus provides systems and methods to allow maximally efficient use of screen space on these types of devices, while preserving maximal ease-of-use for consumers. The display space on an associated device is thus free from unnecessary clutter for experienced users familiar with the functions of the buttons, and the experienced user is thus required to perform only an execution activation motion associated with the button, never having to take time or waste display space associated with performing a display activation motion associated with the button. At the same time, less experienced users may enjoy the clutter-free display until they need to check to see what function a particular button or set of buttons performs, in which case they can simply perform a display activation motion in which case indications of the appropriate functions will appear on the display temporarily. The user may then perform an execution activation motion on the desired button or button set, to perform the desired function. Alternatively, the user may activate an escape sequence to clear the clutter from the display, or may perform a display activation motion on a second button or button set to see what function is associated with the second button or button set, or may simply wait for a suitable amount of time of non-activity to occur for the display to clear itself from clutter. Non-activity refers to no other buttons being activated on the device, and a suitable time may be either predetermined or programmed.  
           [0021]    Thus, one aspect of the present invention involves using a first physical button on a device, in association with a display, to display and execute a function associated with the first physical button, by performing a display activation motion associated with the first physical button upon the first physical button; displaying on the display, in response to the display activation motion performed upon the first physical button, a description of a function associated with the first physical button; performing an execution activation motion associated with the first physical button upon the first physical button; and executing, in response to the execution activation motion performed upon the first physical button, the function associated with the first physical button; wherein the display activation motion associated with the first physical button is of a different type than the execution activation motion associated with the first physical button.  
           [0022]    Another aspect of the present invention involves using a first physical button on a device comprising the first physical button and a second physical button, in association with a display, to display and execute a function associated with the first physical button, by performing a display activation motion associated with the first physical button upon the first physical button; displaying on the display, in response to the display activation motion performed upon the first physical button, a description of a function associated with the first physical button; displaying on the display, in response to the display activation motion performed upon the first physical button, a description of a function associated with the second physical button; performing an execution activation motion associated with the second physical button upon the second physical button; and executing, in response to the execution activation motion performed upon the second physical button, the function associated with the second physical button.  
           [0023]    Another aspect of the present invention involves using a first physical button set on a device comprising the first physical button set and a second physical button set, in association with a display, to display and execute a function associated with the first physical button set, by performing a display activation motion associated with the first physical button set upon the first physical button set; displaying on the display, in response to the display activation motion performed upon the first physical button set, a description of a function associated with the first physical button set; displaying on the display, in response to the display activation motion performed upon the first physical button set, a description of a function associated with the second physical button set; performing an execution activation motion associated with the second physical button set upon the second physical button set; and executing, in response to the execution activation motion performed upon the second physical button set, the function associated with the second physical button set.  
           [0024]    Thus, the systems and methods of the present invention allow the use of a display that is free of unwanted clutter typically present to describe the functions of physical buttons. The systems and methods of the present invention also provide a user with the ability to determine the function of a button if desired, and to have the function executed either with or without having first performed a display activation motion.  
           [0025]    Other objects and advantages of the present invention will be apparent from the detailed description which follows, when read in conjunction with the associated drawings. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0026]    [0026]FIG. 1 shows a hand-held device having physical buttons and a display area, as an example of a device embodying the concepts of the present invention. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0027]    For devices such as those described in the &#39;873 application (titled “Portable Internet-Enabled Controller And Information Browser For Consumer Devices”) the use of physical buttons was described on hand-held devices to perform different program functions, including navigation, on different application screens. “Hand-held” refers generally to the size and weight of the device, and is used to indicate that the device may generally be held and/or operated using a single hand. Sometimes the buttons perform functions related to a particular screen such as playing a CD or scrolling the contents of a program display. In other cases the buttons switch between different screens, for example between a “welcome screen” and a “pictures” screen. A preferred embodiment of the present invention is used in conjunction with the hand-held devices described in the &#39;873 application. Those devices have a display, and associated integrated programmable software used in conjunction therewith, such that the devices may act as intelligent interactive remote controllers for consumer devices.  
         [0028]    In general the function buttons described in the &#39;873 application are very versatile, but a user may often need to be reminded of what the buttons do in a particular context. In response to this concern, it is common to always have a graphical display continuously indicating the current functionality of each button. FIG. 1 shows a sample device  10  having physical buttons  15   a ,  15   b ,  15   c , and  15   d , corresponding graphical labels  20   a ,  20   b ,  20   c , and  20   d , which indicate the functions of their associated physical buttons  15 , and a display area  25  displaying a “welcome” screen. The device  10  is a sample of a device described in the &#39;873 application.  
         [0029]    There appears to be no problem with overcrowding on the “welcome” screen shown in FIG. 1, but on other screens, even on the same display area  25 , the labels  20  occupy screen space that might otherwise be used for showing more content-related information. Such other screens may include a screen displaying Electronic Program Guide information, or a screen listing a user&#39;s CD collection.  
         [0030]    The present invention allows users to “reclaim” the display space taken up by labels  20  for the content information, whilst retaining the user&#39;s ability to quickly see what each button  15  is used for if the user so desires. The buttons  15  preferably have multiple distinct physical motions, movements or activation requirements associated therewith. Preferably there are exactly two distinct motions that effect actuation of the button  15 , but there may be three, or four, or five, or six, or even more. In the embodiment where a button has exactly two distinct physical motions associated therewith that effect actuation thereof, it is preferred that one of the motions is a display activation motion, while the other is an execution activation motion.  
         [0031]    Various buttons  15  may have various amounts of distinct movements (e.g., some may have two movements, some may have three movements, etc.). Also, preferably each button  15  in and of itself has a multiple-function characteristic, but the multiple-function characteristic may be associated with a button set, such as two particular buttons (e.g.,  15   a  and  15   b ), or three particular buttons (e.g.,  15   a ,  15   b , and  15   c ), or some other combination of buttons  15 . With button sets, buttons  15  may have various shapes, contours, thicknesses, sizes, colors, physical actuation requirements (i.e. push, slide, roll, switch, touch, etc), or other attributes, such that there are distinct classes or kinds of buttons  15 . Specific combinations of shapes, colors, etc., may be programmed to perform desired functions. For example, if there are four round buttons  15 , then performing a display activation motion on any two may result in the display of a first function, any three may result in the display of a second function, and all four in the display of a third function. Performing an execution activation motion on any two, three, or four would execute the associated function. Each individual round button  15  could still correlate to a separate and unique function.  
         [0032]    Turning back to the embodiment wherein a particular button  15  has two distinct activation motions associated therewith, an example is that a first activation requirement could be sliding the button  15  forward towards the display area  25 , while the second activation requirement could be pressing down on the button  15 , or vice versa. Note, however, that the same advantages apply with other types of dual movement, such as moving down half-way then down all the way, or forward half then full, or twisting right then left, etc., so long as the two motions are distinct. A particular advantage of having the motions be distinct is that the user may rely solely on the sense of touch to operate the device, and may therefore do so effectively in situations wherein the devices are used in dark or sparsely lit areas (e.g., in a user&#39;s home at night). In such situations, it would be more difficult to operate the device if the display activation motion and the execution activation motion were the same, but merely followed in sequence, because a light, sound, or other indicator would be required to inform the user whether the next activation motion would be a display activation or an execution activation.  
         [0033]    As the preferred embodiment of the present invention is to have only two distinct activation motions associated with each button  15 , the examples henceforth will refer to this embodiment. However, the invention is not to be so limited. The two different motions are associated with two different functions in application and/or system software that is preferably integrated into the display device having the buttons  15 .  
         [0034]    In one embodiment, when the button  15  is activated using an activation motion associated with the first distinct motion, a “pop-up” graphical button or text (e.g.,  20   a ,  20   b ,  20   c , and  20   d  in FIG. 1) is displayed with text explaining the current function of the physical button  15 . Preferably, the location of the graphical buttons  20  are such that they may be easily associated with the physical buttons  15  to which they correspond, as seen in FIG. 1. When the button is activated using an activation motion associated with the second distinct motion, the programmed functionality (i.e., the displayed function  20 ) for the associated button  15  is executed.  
         [0035]    Alternatively, activating a button  15  by performing the button&#39;s associated display activation motion may cause a pop-up display of functions for all physical buttons  15 , so it is easy to see what all the buttons  15  do just by activating one of them. A novice could then intelligently execute the function associated with any physical button  15  by performing the appropriate execution activation motion associated therewith. Still alternatively, activating a button  15  by performing the button&#39;s associated display activation motion may cause a pop-up display of functions for all physical buttons  15  in the same class (i.e. of “like kind”), so it is easy to see what all the buttons  15  of like kind do just by activating one of them. Again, the function ultimately executed would depend on which button the user performed the appropriate execution activation motion to.  
         [0036]    In the case where button sets are used, display activation of a particular set may cause display of the function associated with that set, or it may cause display of the functions associated with all similar sets. For example, activating two square buttons by performing the associated display activation motion may cause a display of two squares and an associated function, three squares and an associated function, four squares and an associated function, etc.).  
         [0037]    In either case, whether single buttons  15  or button sets are used, there may be an escape sequence to clear the display  25  of clutter. There may be a specific dedicated button for escaping, or the display may be cleared automatically after a predetermined or programmed time delay. The escape sequence may even be simply to repeat the same display activation motion on the same button  15 . In the latter case, the first motion causes information to be displayed, while the second, repeat motion causes the information to be cleared. For example, a forward motion would cause display. After the display, a second repeat forward motion would cause the display to be cleared, whereas a different motion (e.g., pushing down), would cause the proper function to be executed.  
         [0038]    The latter embodiment might be desirable, because as previously described, using such a repeat sequence is not suitable for displaying and then executing a function, so using the sequence as an escape sequence would not use up a sequence potentially available for other programming. The disadvantages previously described (i.e., the need for an audible or visual indicator), would not be as problematic in this scenario, because the display activation motion is distinct from the execution activation motion, so there is less risk of accidentally executing a function while attempting to display a description of a function on the display  25 .  
         [0039]    Additionally or alternatively, there may be a predetermined or programmable time delay before which the display  25  automatically clears itself of clutter. Additionally or alternatively, the user could perform the display activation motion associated with a second button or button set to change the display to show the functions associated with the second button or button set. For example, after activating a square button  15  by performing the button&#39;s associated display activation motion thereon, and then seeing on the display either the function associated with that button  15 , or the functions associated with each square button  15 , depending on the embodiment, if the user then performed a proper display activation motion upon a circular button, the system would switch to displaying the function associated with that particular circular button, or all circular buttons, depending on the embodiment.  
         [0040]    The software implementation of the behavior of the buttons  15  is also straightforward, and preferably the software is integrated into the device  10  having the buttons  15  and display  25 . The device  10  may thus be programmed to improve the overall usability of the present invention. For illustration purposes, the paradigm case of the expert user of a device embodying the concepts of the present invention is someone who is so familiar with the different application screens that he or she always knows which button  15  or button set does what, and never needs to look at the pop-up descriptions  20  for help. The paradigm device is a device such as those described in the &#39;873 application used to control consumer devices, but the device may be any device that implements our multiple-motion programmable function buttons  15 . The expert likes to have the extra space on the display  25  for displaying content such as program titles, etc.  
         [0041]    Also for illustration purposes, the paradigm case of the novice user is someone who does not know what any of the buttons  15  do, and who would prefer to have the pop-up descriptions  20  of the button functions always present. This novice does not mind sacrificing a little screen space (and hence sometimes needing to do more scrolling to see all the information), in order to have a clearer understanding of exactly what state the device  10  is in.  
         [0042]    However, the naive categorization of users into “experts” or “novices” is an oversimplification. In most cases, a single user will be a novice as to the functions of the buttons  15  on some screens (which are used infrequently), but will be an “expert” on the functions of the buttons  15  on screens that he or she uses frequently. In a preferred embodiment, the software may be used to program the device  10  to take these considerations into account as follows.  
         [0043]    When a new user first uses a device embodying the concepts of the present invention, the descriptions  20  of the buttons  15  or function keys could appear on all screens, for the entire duration of the user&#39;s visit to that screen. The system can keep track for each user of how many times a given screen has been visited, and decrease the amount of time that the description displays remain visible as the number of user visits increase. At any stage, there could be manual override of the automatic description display mechanism. For example, by activating any button  15  three times in rapid succession, the display of all the descriptions could toggle from normally shown to normally hidden and vice versa. Or this can be accomplished by activating only a designated button  15 , while such a series of activations to other buttons  15  may be used to indicate to the associated software that the user wishes to toggle the “always shown/always hide” status of those other buttons  15 . As described more fully in the &#39;873 application, various users or logical users may have access to the device being used, in which case the associated software would remember the “show/hide” status for all buttons  15  associated with each user, and would reinstate said status upon verification that a particular user was “logged in” to the device.  
         [0044]    Additionally, some screens, such as the “welcome screen” shown in FIG. 1, do not have a need to display large amounts of information simultaneously. For these screens, the default state of the graphical buttons  20  may always be set to “show” or “visible”. Furthermore, for some users, such as young children, it may be advantageous to always have the descriptions visible, no matter how frequently individual screens are visited. In such cases, the default adaptive behavior of the device may be overridden, by editing the user profiles as described more fully in the &#39;873 and &#39;841 applications.  
         [0045]    Software may also be used to achieve dynamic association of functions to physical buttons  15 . For example, whether a particular activation motion associated with a particular button is to be treated as a display activation motion, an execution activation motion, or another type of motion, may depend on whether certain other events have occurred prior to the activation motion. The device may be programmed such that a particular motion associated with a particular button is normally to be treated as a display activation motion, but is to be treated as an execution activation motion if the motion is performed within a specified time period after another button has been activated, with no intervening activations. Such dynamic determination of the treatment of an activation motion may be limited to only situations wherein the other (first) button  15  activated was of a “like kind” to the second button  15  and/or was activated by a “like motion”.  
         [0046]    Thus, the use of physical buttons  15  with programmable functionality and multiple distinct physical motions, in conjunction with a device having a display, have been described and disclosed. Preferably, one of the motions is a display activation motion, and another is an execution activation motion. The concepts of the present invention are applicable to other devices that combine screen usage with physical button inputs, but are most notably beneficial when used in conjunction with hand-held devices or other devices having a small display area  25 .  
         [0047]    While certain embodiments are illustrated in the drawings and are described herein, it will be apparent to those skilled in the art that many modifications can be made to the embodiments without departing from the inventive concepts described. For example, the associated software discussed herein may be firmware; it may be preloaded, or downloaded from an independent source such as the Internet; it may be programmable using the associated device itself, or it may be programmable using an independent source such as a personal computer or the Internet, etc. Accordingly, the invention is not to be restricted except by the claims which follow.