Patent Abstract:
A palmtop computer system that incorporates mechanical buttons that combine the task of turning the palmtop computer system on and starting a particular application program. Furthermore, the same mechanical button can be used to navigate the application program to find the information that is most likely needed by the user. Additionally, external devices can be coupled to the palmtop computer system in a manner that allows the external hardware device to initiate specific application programs that cooperate with the external hardware device.

Full Description:
FIELD OF THE INVENTION  
         [0001]    The present invention relates to the field of portable computer systems. Specifically, the present invention discloses a portable computer system that can quickly be turned on and access relevant information with a minimal user interaction.  
         BACKGROUND OF THE INVENTION  
         [0002]    Many busy business professionals require a lot of information while they are traveling. To fill this need, a market for palmtop computer systems has emerged. Palmtop computer systems are small compact computers that can fit in the palm of your hand. Palmtop computer systems are usually used to perform personal informational management tasks such as, an address book, a daily organizer and a to do list.  
           [0003]    Users of palmtop computer systems need to be able to access the information stored into the palmtop computer as fast as possible. For example, a person talking on a phone may schedule an appointment with the person on the other end of the phone. Thus, the person would need to access the information in his calendar program on the palmtop computer system as fast as possible such that no interruption of the telephone conversation would be required.  
           [0004]    Existing palmtop computer systems often require a number of steps to obtain the desired information. For example, to obtain information from a calendar date, a person may first need to turn on the palmtop computer system. Some systems then require a “boot-up” time before the palmtop computer system enters an operational state. After the palmtop is on and ready, the person must then start the calendar application. Finally, the person must navigate the calendar application to locate the desired date. Although, those few steps may seem simple, such steps seem to be an unnecessary nuisance to a person that wants to quickly access the appropriate information. It would therefore be desirable to implement a palmtop computer system that allows the user to very quickly access the required information.  
         SUMMARY AND OBJECTS OF THE INVENTION  
         [0005]    It is therefore an object of the present invention to implement a palmtop computer system that allows a user to quickly turn on the palmtop computer system and access the needed information. It is a further object of the present invention to allow the user to executed specific programs on the palmtop computer system using external devices coupled to the palmtop computer system.  
           [0006]    These and other objectives are accomplished by the palmtop computer system of the present invention which incorporates mechanical buttons that combine the task of turning the palmtop computer system on and starting a particular application program. Furthermore, the same mechanical button can be used to navigate the application program to find the information that is most likely needed by the user. Additionally, external devices can be coupled to the palmtop computer system in a manner that allows the external hardware device to initiate specific application programs that cooperate with the external hardware device.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0007]    The objects, features, and advantages of the present invention will be apparent from the following detailed description of the preferred embodiment of the invention with references to the following drawings.  
         [0008]    [0008]FIG. 1 illustrates a portable computer system with defined application buttons.  
         [0009]    [0009]FIG. 2 a  illustrates a screen display for an addressbook application program that divides records using multi-function categories.  
         [0010]    [0010]FIG. 2 b  illustrates a screen display for an addressbook application program that is displaying a pop-up menu with the multi-function categories.  
         [0011]    [0011]FIG. 2 c  illustrates a screen display for an addressbook application program that is displaying a set of records under the “business” multi-function category.  
         [0012]    [0012]FIG. 3 illustrates a portable computer system and a personal computer system equipped with a cradle for synchronizing with the portable computer system.  
         [0013]    [0013]FIG. 4 illustrates the rear of a portable computer system with an interface for communicating with the synchronization cradle of FIG. 3.  
         [0014]    [0014]FIG. 5 illustrates a portable computer system equipped with a small modem for remotely synchronizing with a personal computer system.  
     
    
     DETAILED DESCRIPTION  
       [0015]    Methods and apparatus for implementing a palmtop computer system that is well integrated with a personal computer system is disclosed. In the following description, for purposes of explanation, specific nomenclature is set forth to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that these specific details are not required to practice the present invention. In other instances, well-known circuits and devices are shown in block diagram form to avoid obscuring the present invention.  
       A Portable Computer System With One-Touch Application Buttons  
       [0016]    [0016]FIG. 1 illustrates a one embodiment of a portable computer system  100  constructed according to the teachings of the present invention. Most of the surface area of the portable computer system  100  consists of a screen display area  181 . The screen display area  181  is used for displaying information to the user. The screen display area is covered with a touch sensitive digitizer pad that can detect user interaction with a stylus or finger.  
         [0017]    Below the display area  181  is a user input area  183 . The user input area  183  is used to input text in the Graffiti® writing area  145  and interact with the application buttons  141  through  144 . The user input area  183  is covered by the digitizer pad that will sense the users finger or stylus.  
         [0018]    Below the user input area  183  is a mechanical button input area  185 . In the embodiment of FIG. 1 there are seven different mechanical buttons on the front of the portable computer system: a power button, two directional scrolling buttons, and four different application buttons.  
         [0019]    The first mechanical button is a power button  129 . If the portable computer system  100  is off, then the power button  129  turns on the portable computer system  100  and brings the portable computer system  100  to the state that the portable computer system  100  was in just before it powered down. Conversely, if the portable computer system is on then pressing the power button  129  will save the current state of the portable computer system  100  and turn the portable computer system  100  off.  
         [0020]    A pair of scrolling buttons  131  are used to scroll information in the display area  181  up and down. The scrolling buttons  141  allow a user to view a list of information that does not fit on the display.  
         [0021]    There are four mechanical application buttons  121 ,  123 ,  125 , and  127  illustrated in FIG. 1. In the embodiment of FIG. 1, application button  121  is used for a calendar application, application button  123  is used for an address book application, application button  125  is used for a To-do list application, and application button  127  is used for a note pad application. The embodiment of FIG. 1 provides just one possible set of applications. Other applications could be used instead of the applications illustrated in FIG. 1. Furthermore, the application buttons are programmable such that applications assigned to each application button may be changed.  
         [0022]    When the portable computer system  100  is powered-off, the application function buttons  121 ,  123 ,  125  and  127  turn on the portable computer system and then begin executing the associated application. For example, if the user presses the addressbook application button  123 , the portable computer system will turn on and begin executing the address book application.  
         [0023]    In the present embodiment, the application buttons operate by generating a hardware interrupt signal to the processor in the portable computer system  100 . The hardware interrupt signal wakes the processor in the portable computer system  100  from a sleep mode and caused the processor to execute code in a wake-up routine. In the wake-up routine, the processor checks a register to determine which application button was pressed. After determining which application button was pressed.  
         [0024]    To further convenience the user, each application starts executing by entering a state that has been chosen to best provide the information the user may be seeking. The following table lists the current applications illustrated in FIG. 1 and the initial state that each application enters when the corresponding application button is pressed:  
                                   Application   Description of Initial state.                   Calendar   Appointment list for the current day.       Addressbook   List of names and phone numbers for most recently           accessed multi-function category.       To-Do   To-Do list of most recently accessed multi-function           category.       Memo Pad   Current Memo being edited (if any) else current list of           memos.                  
 
         [0025]    Thus, each application button turns on the portable computer system  100 , starts executing the corresponding application, and brings the corresponding application into an initial state that has been chose to provide the most useful information. In some applications, the initial state can be set by the user such that the user can decide what state the application should enter when the corresponding application button has been pressed.  
       Multi-Function Categories and Application Button Overloading  
       [0026]    As stated in the previous section, when the addressbook application button  123  is pressed, the portable computer system is turned on and the addressbook application starts executing. FIG. 2A provides an example of how the addressbook application may appear on the screen after the addressbook application button  123  has been pressed. In FIG. 2A there is a list of acquaintances of the user and associated telephone numbers. The user can select a particular acquaintance using a stylus or his finger. In FIG. 2A the acquaintance “Allison Barry” has been selected. If the user touches the selected Allison Barry again, a display screen containing additional information about Allison Barry will be presented.  
         [0027]    Referring to the upper right corner of the addressbook screen display in FIG. 2A, there is a multifunction category name  263 . In FIG. 2A, the multifunction category that is currently displayed is the “all” category. Each addressbook record is assigned to a particular multifunction category. By assigning each addressbook record to a multifunction category, certain acquaintances can be grouped together. For example, one multifunction category may be “personal” and that category would include close personal friends of the user. Another multifunction category may be “business” and that category would include business acquaintances of the user. The “all” displays all the addressbook records from all multifunction categories.  
         [0028]    Next to the multifunction category name  263  is a multifunction category edit indicator  261 . The multifunction category edit indicator  261  indicates that the user can select a particular multifunction category to display by selecting the multifunction category edit indicator  261 . For example, FIG. 2B illustrates how the screen would appear after the user selects the multifunction category edit indicator  261 . In FIG. 2B a list of the available multifunction categories is displayed. In the example of FIG. 2B, the available multifunction categories are “all” categories, “business” acquaintances, “personal” acquaintances and “unfiled” acquaintances. Furthermore, the user can add additional multifunction categories or edit the existing multifunction categories by selecting the “Edit categories, . . . , ” list item from the pop-up menu.  
         [0029]    An easier method of switching between the different multifunction categories exists. Specifically, the user can select between the various multifunction categories in the addressbook by continuing to press the addressbook application button after the addressbook application is executing. For example, referring to the addressbook display of FIG. 2A if the user again presses the addressbook application button  123 , the address book application will move on to the multifunction category, the business category, as illustrated in FIG. 2C. By successively pressing the address book application button  123  the user can scroll through all the different multifunction categories. Alternatively, the user may continuously hold down the addressbook application button  123  and the addressbook application will slowly scroll through the different multifunction categories.  
         [0030]    Different applications can perform different actions when their respective application button is pressed when the application is already running. Thus, each application button is “overloaded” in that the function that the key performs depends on the current context. The following table describes how each application behaves when the associated application button is pressed when the application is already running:  
                                       Effect of pressing the Application button when the       Application   application is already running.                   Calendar   Scroll through appointment list for the current day.           (Scroll keys move to different days.)       Addressbook   Rotate through the different multifunction categories.       To-Do   Rotate through the different multifunction categories.       Memo Pad   Rotate through the different multifunction categories.                  
 
         [0031]    In summary, each application button turns on the portable computer system  100  and begins executing the associated application if the portable computer system is off. If a different application is running when an application button is pressed, the application associated with the pressed application button begins executing. However, if the application is already up and running and the application button for that application is pressed then the application can perform a specific function such as rotating through different multifunction categories as described in the example of FIGS. 2A and 2C.  
       Externally Accessible Application Signals  
       [0032]    [0032]FIG. 3 illustrates a portable computer system  330 . The portable computer system  330  may execute a number of different application programs. However, the most common applications on the portable computer system  330  will consist of a suite of Personal Information Management (PIM) applications such as the addressbook application, the calendar application, the To-Do list application, and the memo pad application previously described. Most people that use a portable computer system  330 , also have a personal computer system that has the same or similar applications. It would therefore be desirable to synchronize information between the portable computer system  330  and the personal computer system. This would allow the user to edit the information while using the desktop personal computer system at an office and edit the same information when using the portable computer system while traveling.  
         [0033]    Referring again to FIG. 3, a desktop personal computer system  310  is also illustrated. Coupled to the serial port  313  of the desktop personal computer system  310  is a communication cradle  320 . The communication cradle  320  is used to provide a serial communication link between the portable computer system  330  and the personal computer system  310 . Specifically, the serial communication lines from the serial port  313  are extended and terminate at a serial interface connector  327  on the communication cradle  320 . A matching serial interface connector (not shown) on the rear of the portable computer system  330  connects the portable computer system  330  to the personal computer system  310 .  
         [0034]    To synchronize the information on the portable computer system  330  with the information on the personal computer system  310 , a user drops the portable computer system  330  into the communication cradle  320  and presses a synchronization button  325  on the communication cradle  320 . The synchronization button  325  causes a synchronization program on the portable computer system  330  to execute. The synchronization program on the portable computer system  330  wakes up a peer synchronization program on the personal computer system  310 . The synchronization program on the portable computer system  330  and the peer synchronization program on the personal computer system  310  perform the necessary operations to synchronize information stored on the two computer systems. The architecture of the synchronization process is described in the U.S. patent application entitled “Extendible Method and Apparatus for Synchronizing Multiple Files On Two Different Computer Systems” with Ser. No. 08/542,055, filed on Oct. 13, 1995.  
         [0035]    The synchronization button  325  on the communication cradle  320  operates similar to the application buttons on the personal computer system  310 . Specifically, the synchronization button  325  on the communication cradle  320  asserts a hardware interrupt signal to the processor in the personal computer system  310 . The interrupt routine determines that the synchronization button  325  was pressed and thus starts executing the synchronization program on the portable computer system  330 . Thus, the synchronization button  325  uses an externally accessible version of the application buttons.  
         [0036]    [0036]FIG. 4 illustrates the rear panel of a portable computer system  400  for use in the communication cradle  320 . Referring to the bottom of portable computer system  400 , a set of printed circuit board interface connectors  451  though  460  are illustrated. The printed circuit board interface connectors connect with a corresponding interface on the communication cradle  320 . The following table lists the printed circuit board interface connectors in one embodiment of the portable computer system  400 :  
         [0037]    Ref.# Description  
         [0038]    [0038] 451  Data Terminal Ready (DTR) [output] 
         [0039]    [0039] 452  Power output [output] 
         [0040]    [0040] 453  Serial Data Input (RXD) [input] 
         [0041]    [0041] 454  Ready To Send (RTS) [output] 
         [0042]    [0042] 455  Serial Data Output (TXD) [output] 
         [0043]    [0043] 456  Clear To Send (CTS) [input] 
         [0044]    [0044] 457  Hardware Interrupt Line [input] 
         [0045]    [0045] 458  General purpose data input [input] 
         [0046]    [0046] 459  Unused  
         [0047]    [0047] 460  Electrical Ground  
         [0048]    To assert a hardware interrupt signal to the processor in the portable computer system  400 , the synchronization button  325  on the communication cradle  320  only needs to complete an electrical circuit between the power output connector  452  and the hardware interrupt line  457 . The hardware interrupt line  457  is different from the hardware interrupt line used by the application buttons. [Is this true?].  
         [0049]    The hardware interrupt line  457  can be used to perform other operations as well. FIG. 5 illustrates a portable computer system coupled to a clip-on modem  510 . The clip-on modem  510  includes a remote synchronization button  520  for remotely synchronizing with a companion personal computer. Since a remote synchronization through the clip-on modem  510  is very different than a local synchronization through a communication cradle  320 , the remote synchronization button  520  needs to execute a different synchronization program or execute the same synchronization program with different input parameters.  
         [0050]    To handle the remote synchronization, the remote synchronization button  520  can be wired to assert both the hardware interrupt line  457  and the General purpose data input  458 . In such an embodiment, the interrupt service routine that handles a hardware interrupt associated with the hardware interrupt line  457  would first check the General purpose data input  458 . If the General purpose data input  458  is not asserted, then a standard synchronization through the communication cradle  320  would be performed. However, if the General purpose data input  458  is asserted, then a special synchronization routine for handling remote synchronizations would be performed.  
         [0051]    Although the present invention has been described in terms of specific exemplary embodiments, it will be appreciated that various modifications and alterations might be made by those skilled in the art without departing from the spirit and scope of the invention as set forth in the following claims.

Technology Classification (CPC): 6