`
`[19]
`
`[11] Patent Number:
`
`6,128,012
`
`Seidensticker, Jr. et al.
`
`[45] Date of Patent:
`
`*Oct. 3, 2000
`
`US006128012A
`
`[54] USER INTERFACE FOR A PORTABLE DATA
`
`SIZE AND PROCESSING CAPABILITY
`
`5,760,776
`5,790,115
`5,812,117
`5,815,142
`
`6/1998 MCGurrin et al.
`.................... .. 345/353
`. 345/341 X
`8/1998 Pleyer et al.
`
`9/1998 Moon ........ ..
`345/169
`...................... .. 345/169 X
`9/1998 Allard et al.
`
`OTHER PUBLICATIONS
`
`IBM Corp., 59-61,
`
`Advanced Interface Design Guide,
`63-72, Jun. 1989.
`Cowart, “Mastering Windows 3.1”, Sybex, Inc., pp. 18-20,
`28_29,
`Microsoft Schedule + v7.0a, Microsoft Corp, screen dump
`pp. 1-13, 1996.
`Cowart, “Mastering Windows 3.1”, Sybex, pp. 268-269,
`1993.
`
`Primary EXammer_SIeVen Sax
`Attorney, Agent, or Firm—Ronald M. Anderson
`
`[57]
`
`ABSTRACT
`
`A user interface for a combination pager and personal
`information management (PIM) data device provides con-
`siderable versatility in accessing the data and in controlling
`how the data are displayed to the user. The user interface
`'
`ludes a display screen having only a few rows oil which
`19¢
`.
`.
`lines of data are displayed, and four control buttons, includ-
`mg an Up button’ a Down button’ an Action button’ and a
`Back button. Since the device riiaiiitairis data in a liierarclii-
`cal directory structure and starts at the highest (root) level,
`the Action button is used to move to a lower level in the
`directory hierarchy, while the Back button is used to move
`back up to a higher level. In addition, the Action button is
`employed to initiate a selected function. If a line (or entry)
`of a list is above the top line displayed on the screen, an
`upwardly pointing arrowhead is displayed to theiuser adja-
`cent the top line. Similarly, a downwardly pointing arrow-
`head is displayed if a line in the list is below the last hne on
`the screen currently displayed. The user can select an
`application to execute in the root node of the hierarchy when
`the device is initially turned on, reset, or after a predefined
`[jme jn[e1'Va1 has elapsed. In addjfion, [he user can Selec-
`tively actuate a faster scroll rate to move up or down through
`a list that is relatively long. The format applied to data
`presented to the user in the display screen is user selectable.
`
`28 Claims, 8 Drawing Sheets
`
`[75]
`
`Inventors: Robert B. Seidensticker Jr.,
`Woodinville; Vinay Deo,’ Bellevue;
`Michael John 0’Leary, Redmond, all
`Of WaSh-
`_
`_
`‘l\7:I]lC£OS0ft Corporation, Redmond,
`as .
`
`.
`Assignee:
`
`[*] Notice:
`
`This patent issued on a continued pros-
`ecution application filed under 37 CFR
`l.53(d), and is subject to the twenty year
`patent
`term provisions of 35 U.S.C.
`154(a)(2)'
`
`[21] Appl. No.: 08/826,542
`
`[22]
`
`Filed:
`
`Apr. 3, 1997
`
`Related U.S. Application Data
`Provisional application No. 60/025,748, Sep. 19, 1996.
`
`[60]
`
`Int. Cl.7 ...................................................... .. G06F 3/14
`[51]
`.
`[52] U..S. Cl.
`........................................... .. 345/336, 345/341
`[58]
`Fleld of Search ““““““““““““““““““““ ‘ 345/326_358>
`345/123-125’ 963’ 973’ 169
`References Cited
`Us. PATENT DOCUMENTS
`
`[56]
`
`8/1989 Weiner .................................. .. 345/352
`4,862,390
`3/1994 Eagen et al.
`..
`.. 345/341 X
`5,295,241
`5/1994 Abraham et al.
`345/124 X
`5 317 306
`11,1995 Nakasuji et al.
`345/123
`5,384,579
`1/1996 Suzuki
`........ N
`345/353
`5,485,175
`2/1996 Kwatinetz .
`345/341
`5,495,556
`..
`4/1996 Tobey et al.
`345/341
`575107311
`10/1996 Masunaga ............................. .. 345/169
`5,563,631
`10/1996 Chen el al.
`........................... .. 345/341
`5,568,603
`8/1997 Cline et 31-
`345/341
`54353094
`9/1997 Volk et a1‘
`5’673’401
`345/327
`5,677,708 10/1997 Matthews, Ill et al.
`345/123 X
`5,689,668
`11/1997 Beaudet et al.
`....................... .. 345/353
`5,689,669
`11/1997 Lynch et al.
`...................... .. 345/341 X
`5,758,295
`5/1998 Ahlberg et al.
`................... .. 345/353 X
`
`
`
`.
`
`<?
`
`__.] mmmm [W3
`
`E
`
`‘
`
`[54
`
`WAITFOR
`*°iu:::a:w:"G*
`r
`-
`103 VES
`N:xItVtNl'
`/ UPDATEDISVLAY
`T v
`«
`wmi NKW
`\
`MOVE ssizcm:
`TOPUNESHOWING
`POSITION IN LIST
`noww one on; or
`3
`FOSSIELE)
`no
`,/ ’\\ I64
`- " a nman our
`/’ TIMER C
`I166
`7
`sumTIMERA K7/vm
`,"bOWN\-f153 vrs
`;
`,./ RI]']'rmN =-__
`Rzm/«RT
`' 335
`\
`7
`fimasen
`TIMER s
`135
`Via
`TOPLINESHDI/JlNG=
`,
`ToPLINESHOW]NGo
`[newsman
`smv TIMER/K
`A 190
`WITH NEW
`= ro-imssmzwim.
`//UPDATEDISPLAY :
`
`[32
`
`I
`
`pm
`,
`
`I
`I 5““”“"‘“ “
`"D ‘ QM /"~
`JR 174
`]
`UPDATEDISPLAY
`]
`urmrrtrssnnv)
`./
`.115
`./ mam ~.,,
`' ATIMKEOUT
`
`—uo
`
`SONY Exhibit 1014
`SONY Exhibit 1014 SONY v. Creative
`SONY v. Creative
`
`
`
`U.S. Patent
`
`Oct. 3, 2000
`
`Sheet 1 of 8
`
`6,128,012
`
`34
`
`I
`
`"MAIN MENU“
`
`TIME
`
`46
`
`
`PERSONAL
`42
`REMINDER
`
`PAGES
`
`PHONE
`
`GOLF
`
`
`
`VOPTIONS
`
`FIG.1
`
`INTERFACE
`
`PC
`
`COMMUMCAHON
`
`DISPLAY
`
`SCREEN
`
`34
`
`NON-VOLATILE
`
`MEMORY
`
`READ/WRITE
`
`36
`
`KEYPAD
`
`55
`
`58
`
`WORMNG
`RAM
`
`52
`
`PAGER
`INTERFACE
`
`FIG. 2
`
`
`
`U.S. Patent
`
`Oct. 3, 2000
`
`Sheet 2 of8
`
`6,128,012
`
`MENU SHOWING,
`
`72
`
`ITEM SELECTED,
`
`ACTION BUTTON
`
`DEPRESSED
`
`YES
`
`RECORD
`CURRENT
`POSITION IN
`
`76
`
`
`
`
`POSITION STACK
`
`
`
`EXECUTE
`
`APPLICATION
`
`78
`
`NO
`
`REFER TO OTHER
`
`N0
`
`MENU ITEM
`
`YES
`
`RECORD
`
`CURRENT
`
`
`
`84
`
`
`
`SIMILARLY
`
`PROCESS
`
`
`
`OTHER OPTIONS
`
`82
`
`
`
`POSITION IN
`
`POSITION STACK
`
`
`
`DISPLAY NEW
`
`86
`
`FIG. 3
`
`
`
`MENU ITEM WITH
`
`SELECTION
`
`
`
`
`NDICATOR AT TOP
`
`
`
`
`
`
`
`
`
`SELECTED ITEM
`' EFER TO APPLIC.
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Oct. 3, 2000
`
`Sheet 3 of8
`
`6,128,012
`
` 90
`
`
`USER
`PRESSES
`
`94
`
`YES
`
`NO CHANGE IN
`DISPLAY
`
`BACK BUTTON
`
`
`
`
`
`
`IS
`DISPLAY AT TOP
`OF TREE
`?
`
`
`
`NO
`
`POP MOST RECENT
`POSITION DATA
`FROM TOP OF
`
`
`
`
`POSITION STACK
`
`
`96
`
`
`
`GO TO POSITION
`INDICATED BY
`
`93
`
`
`
`POSITION DATA
`
`FIG. 4
`
`100
`
`
`
`RERENDER
`DISPLAY TO
`
`SHOW POSITION
`
`BRIDGE
`
`**GAMES**
`BLACKJACK
`HEARTS
`SOLITAIRE
`GIN RUMMY
`EUCHRE
`
`130
`
`A BLACKJACK
`HEARTS
`SOLITAIRE
`GIN RUMMY
`EUCHRE
`BRIDGE
`GOLF
`V BACKGAMMON
`
`132
`
`FIG. 6A
`
`FIG. 6B
`
`136
`
`
`
`U.S. Patent
`
`Oct. 3, 2000
`
`Sheet 4 of 8
`
`6,128,012
`
` 110
`MENU
`
`DISPLAYED
`
`
`
`(TITLE NOT
`SELECTABLE)
`
`114
`
`WAS
`
`UP BUTTON
`
`PRESSED
`
`NO
`
`NO
`
`SELECTED
`
`ROW>1?
`
`
`
`DOES MENU
`
`HAVE TITLE?
`
`YES
`
`120
`
`
`WAS
`UP BUTTON
`
`PRESSED
`
`
`
`
`
`
`NO CHANGE IN
`
`DISPLAY
`
`
`
`SELECTED
`
`YES
`
`
`
`
`YES
`
`ROW>2?
`
`
`
`
`SELECTED ROW =
`SELECTED ROW-1
`
`118
`
`FIG. 5
`
`
`
`U.S. Patent
`
`Oct. 3, 2000
`
`Sheet 5 of8
`
`6,128,012
`
`
`
`142
`
`140
`
`
`
`DISPLAY OF
`UP/DOWN
`
`
`
`ARROW ICONS
`
`
`
`
`LINEINLIST = NO. LINES IN MENU
`
`
`
`
`
`LINESINDISPLAY = NO. LINES
`
`DISPLAYABLE
`
`TOPLINESHOWING IS LIST ITEM AT
`
`TOP OF DISPLAY
`
`
`
`
` TOPLINESHOWING
`
`146
`
`DISPLAY UP
`
`ARROW ICON
`
`
`
`DON'T
`
`DISPLAY UP
`
`ARROW ICON
`
`152
`
`
`
`
`
`LINESINLIST -
`TOPLINESHOWING + 1 >
`
`LINESINDISPLAY
`
`
`
`
`DISPLAY
`DOWN
`ARROW ICON
`
`DON'T
`
`
`
`DISPLAY
`
`
`
`
`‘ RROW ICON
`
`DOWN
`
`
`
`
`FIG. 7
`
`
`
`U.S. Patent
`
`Oct. 3, 2000
`
`Sheet 6 of 8
`
`6,128,012
`
`FAST
`SCROLLING
`
`160
`
`
`
`NO
`
`
`162
` DOWN
`
`BUTTTON
`
`PRESSED
`
`?
`
` WAIT FOR
`
`NEXT EVENT
`
`163
`
`YES
`
`I START TIMER B
`
`
`
`
`178
`
`
`TOPLINESHOWING=
`180
`TOPLINESHOW|NG+
`INCREMENT
`
`
`
`164
`
`UPDATE DISPLAY
`WITH NEW
`TOPLINESHOWING
`
`
`182
`
`166
`
`
`TIMER
`B TIMED OUT
`?
`
`
`
`
`
`
`
`
`
`
`MOVE SELECTED
`POSITION IN LIST
`
`DOWN ONE LINE (IF
`POSSIBLE)
`
` DOWN
`BU I
`I ION
`
`RELEASED
`
`RESTART
`TIMER B
`
`TOPLINESHOWING=
`TOPLINESHOW|NG+
`INCREMENT
`
`
`
`
`
`
`
`UPDATE DISPLAY
`WITH NEW
`TOPLINESHOWING
`
`
`186
`
`188
`
`190
`
`
`
`TIMER
`A TIMED OUT
`?
`
`
`
`
`FIG. 8
`
`
`
`U.S. Patent
`
`Oct. 3, 2000
`
`Sheet 7 of 8
`
`6,128,012
`
`64
`
`
`
`
`
`CUSTOMIZER
`PAGE
`OTHER DATA
`SCHEDULE+
`
`
`(OR OTHER
`SET SOURCE
`ARCHIVER
`
`PIM
`
`
`
`
`SOFTWARE) SOFTWARE
`
`
`246
`
`
`
`
`“SCHEDULE+
`|NTELL|LINK/
`
`WIZARD
`DATA VIS.
`
`
`
`EXCHANGE
`HEADER
`GRABBER
`
`
`
`PAGE AND
`OBJECT
`SENDER
`
`
`
`
`
`
`
`
`LIST
`EDITOR
`
`
`
`
`
`SCHEDULE+
`GRABBER
`
`
`
`
`
`
`I268
`254
`260 ” HARDWAFIE I
`LAN
`
`
` PROTEUS REPOSITORY AND SEND MANAGER
`
` OBJECT MAKER
`
`SYNCHRONIZER
`
`NETWORK
`INTERFACE
`
`MODEM
`INTERFACE
`
`
`
`
`
`FIG. 9
`
`MODEM
`
`
`
`U.S. Patent
`
`Oct. 3, 2000
`
`Sheet 8 of 8
`
`6,128,012
`
`
`
`
`
`
`
`
`
`
`** GET TO THEATER **I
`** HOW TO LIST **
`
`GET TO THEATER
`280
`TAKE SLATER NORTH
`MAKE LASAGNA
`RIGHT ON NE 145
`
`REPAIR A FLAT
`LEFT AT STOP
`
`VEER LEFT AT FORK
`LEAVE WORK AT 5
`
`WORK THE CELLULAR
`r‘‘
`
`290
`
`RIDGE MALL ON RIGHT
`F‘
`
`Jsoo
`366
`S
`
`
`**OPT|ON **
`CONTRAST C°
`
`
`SOUND
`MELODY
`MAIN ENTRY ROUTINE
`
`
`NIGHTMODE
`OFF
`
`
`BUTTON
`BEEP OFF
`
`
`
`O55
`ggglg-Y BEEP
`
`
`SECURITY
`ON
`
`
`
`
`COMMON ROUTINES
`
`EVENT HANDLERS
`
`LE
`
`
`
`DATA
`
`312»
`
`315”
`In
`
`37°
`
`LIFETIME VARIABLES
`INVOCATION
`STATE VARIABLES
`
`EVENT VARIABLES
`
`NON-VOLATILE LIST
`LIST
`
`FIG 13
`‘
`
`TUE AUG 20-96
`
`_
`
`SET YR.
`UP/DN: NEXT VALUE
`ACTION: NEXT FLD
`/.1
`372
`
`FIG. 14
`
`FIG. 12
`
`
`
`6,128,012
`
`1
`USER INTERFACE FOR A PORTABLE DATA
`MANAGEMENT DEVICE WITH LIMITED
`SIZE AND PROCESSING CAPABILITY
`
`RELATED APPLICATION
`
`This application is a continuation-in-part of prior copend-
`ing provisional Application Ser. No. 60/025,748, filed Sep.
`19, 1996 pending, priority in the filing date of which is
`hereby claimed under 35 United States Code Section 119(e).
`FIELD OF THE INVENTION
`
`invention is generally directed to a user
`'lhe present
`interface for a device that stores and displays data, and more
`specifically,
`to a device having a processor that manages
`data presentation and access in which the user interface
`enables control, selection, and viewing of data items and
`options displayed on a screen.
`BACKGROUND OF THE INVENTION
`
`information managers (PIMs) are tools that
`Personal
`greatly enhance access to information required in various
`social and business activities. The information may include
`lists of important telephone numbers, scheduled events or
`meetings, addresses, important dates,
`things to be done,
`items to be purchased—in short, almost any type of data that
`might be needed by a person. To facilitate entry and storage
`of data into devices such as personal digital assistants
`(PDAs), they are generally made sufficiently large to incor-
`porate a QWERTY keypad. However, if a full keypad is
`included within a PIM device, the resulting package tends to
`be too large to be conveniently carried on one’s person
`rather than being hand carried. Clearly, a smaller package
`and a different approach for entering the data are required if
`the device is to be small enough that it does not have to
`carried by hand and is to be readily accessible at all times.
`Any device that cannot easily be carried within a pocket or
`attached to a person’s body or clothing is likely to be left
`behind and will thus be unavailable when needed.
`
`One solution to this problem that has already been devel-
`oped is the Timex Data Link WatchTM wristwatch. This
`watch includes a microprocessor and non-volatile memory
`used to store data that can subsequently be recalled to appear
`on a liquid crystal display (LCD) screen on the watch. Data
`that are used by the watch are initially entered on a personal
`computer,
`for example, using Microsoft Corporation’s
`Schedule+TM or Lotus’ OrganizerTM personal scheduling
`software. To store selected data within the non-volatile
`
`memory of the watch, a data link feature is executed in the
`software running on the personal computer that causes
`display lines on the computer screen to flash in a manner that
`encodes the selected data. Alight sensor on the watch detects
`the flashing lines on the computer screen, and the data
`encoded and conveyed thereby are decoded by a processor
`in the watch and stored in the memory of the watch for
`subsequent recall by the user.
`While a wristwatch that stores data for access by a user is
`a significant step forward in making the PIM data available
`whenever required, it has several limitations. The LCD of
`the watch is relatively small, enabling only a few characters
`of text to be displayed. Further, the memory of the watch is
`very limited. Editing of the data stored in the watch is
`impractical, since there is no keyboard or other facility to
`enter alphanumeric characters. Unless the watch is brought
`back to the personal computer to download new data, the
`information stored in the memory of the watch cannot easily
`be changed.
`
`10
`
`15
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`A different type of data management system is required
`that is sufficiently small to be readily transportable like the
`Data Link WatchTM, but is capable of displaying more data
`and i11cludes additional functions that are not practical in the
`Data Link WatchTM PIM device. For example, it would be
`desirable to be able to execute simple software routines on
`the device and to make minor editing changes in the personal
`information data that are stored within the device. To accom-
`plish these objects, the device preferably should include a
`user interface that displays the personal information data,
`menus, lists, and other data in a hierarchical structure to
`enable the user to quickly access the specific data or func-
`tions desired. To keep the device relatively small,
`the
`controls provided should be limited in size and number, for
`example, from four to six buttons. Further, the user should
`have the options for displaying the personal information data
`available in several different formats. The user should be
`
`able to at least scroll through lines on the display line-by-line
`to reach a desired data item. However, since too much time
`is required to scroll through long lists of data in this manner,
`the device should also enable the user to selectively move
`through the data at a substantially faster rate. No prior art
`portable PIM device that can be carried on a person is known
`that offers these features.
`
`SUMMARY OF THE INVENTION
`
`invention, a portable
`In accordance with the present
`device is defined for storing and managing data accessed by
`a user. The device includes a memory for storing a plurality
`of machine instructions and for storing the data accessed by
`the user. Also included is a display on which a plurality of
`lines of data are presented to the user. The display is able to
`present only a predefined maximum number of lines, m, to
`the user at one time so that a list of n lines (where n can be
`greater than m) is presented to the user by scrolling through
`the list. A plurality of controls selectively enable the user to
`control and manipulate the data presented in the lines on the
`display in a manner that is a function of the type of data
`being accessed. Furthermore, a processor, which is electri-
`cally coupled to the memory, the display, and the plurality of
`controls, implements a plurality of functions when executing
`the machine instructions. Among these functions is the
`provision for including a first character on the display
`disposed adjacent to the first line of the display to indicate
`that a top line of the list has been scrolled off of the display
`when the top line of the list is no longer visible. Similarly,
`a second character is included on the display adjacent to the
`bottom line of the display to indicate that a bottom line of the
`list is not currently visible on the display, when a different
`line from the list that is above the bottom line is currently
`being displayed. In the preferred form of the invention, the
`first character comprises a first graphic icon (e.g., an
`upwardly pointing arrow) and the second character com-
`prises a second graphic icon (e.g., a downwardly pointing
`arrow).
`Generally, the data that are presented to the user in the
`display comprise a hierarchical directory having a plurality
`of levels. The plurality of controls in one preferred form of
`the invention include a first pair and a second pair of controls
`(e.g., buttons), and the two controls comprising each pair
`perform generally inverse actions relative to each other.
`Specifically, the first pair of controls consist of an Action
`control and a Back control. The Action control causes the
`
`processor to implement a function indicated by a line of text
`on the display that is currently selected. In addition, the
`Action control causes the display to present a next lower
`level of the hierarchical directory, and the Back control
`
`
`
`6,128,012
`
`3
`causes tl1e display to present a next l1igl1er level of the
`hierarchical directory (if available). The second pair of
`controls includes an Up control and a Down control. The Up
`control generally causes the processor to select a line on the
`display that is above a currently selected line, and the Down
`control conversely causes the processor to select a line that
`is bclow a currcntly sclcctcd line.
`A root level of the hierarchical directory comprises an
`application that is automatically executed by the processor
`when a specified event occurs. The specified event occurs
`when the portable device is energized, reset, or when a
`predefined interval of time has elapsed during which the user
`l1as not actuated any of the controls on the portable device.
`The application is preferably user selectable.
`The data that are presented to the user in the display can
`comprise a menu having a plurality of lines. A title line of
`the menu is not selectable by the user and scrolls off the top
`of the display as the user selectively scrolls downwardly
`through the plurality of lines comprising the menu, in order
`to access a line that was initially below a bottom line
`previously displayed on the screen.
`The machine instructions preferably cause the processor
`to enable the user to selectively scroll through the lines of a
`menu at either a first rate or a second rate, where the second
`rate is substantially greater than the first. When scrolling at
`the second rate, the processor causes a top line showing on
`the display to change by a predefined number of lines within
`the list. The predefined number of lines is greater than one.
`The second rate is selected when the user actuates one of the
`plurality of controls for at least a predefined time interval.
`A user selectable format is preferably applied to specific
`data when the data are displayed, to control how the data
`appear on the display. The pairs of controls are used in a
`different manner for editing data in the display. When used
`for editing, the Up control is actuated to change a selected
`item to a next successive logical value, and the Down
`control is actuated to change the selected item to a previous
`successive logical value. Also, when editing,
`the Action
`control is actuated to select a different item, and the Back
`control is actuated to implement the change selected with at
`least one of the Up and Down controls.
`The portable device also preferably includes an alarm that
`is controlled by the processor in response to the machine
`instructions. The machine instructions cause the processor to
`display an alarm time and an announce time interval that are
`stored in the memory. The announce time interval indicates
`a time prior to an alarm time when the processor will actuate
`the alarm, thereby providing an advance warning to the user
`of an event scheduled for the alarm time.
`
`A further aspect of the present invention is directed to a
`portable device for storing and managing data accessed by
`a user that also includes a memory and a processor. When
`implementing the machine instructions stored in the
`memory, the processor enables the user to actuate at least
`one of the plurality of controls to selectively scroll through
`the plurality of lines at one of a first rate and a second rate,
`where the second rate is substantially greater than said first
`rate. Other features of this aspect are generally consistent
`with the above discussion.
`
`is similarly directed to a portable
`Yet another aspect
`device wherein the machine instructions enable the user to
`selectively control a format in which the personal informa-
`tion data are shown on the display. The format includes the
`announce time, which as noted above, is the interval of time
`prior to an impending event at which the processor will
`actuate the alarm to provide the user with an advance
`
`10
`
`15
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`warning of the impending event. The user can selectively
`display at least one of a date and a time in a plurality of
`different forms, and the format preferably includes an alarm
`time.
`
`BRIEF DESCRIPTION OF THE DRAWING
`FIGURES
`
`The foregoing aspects and many of the attendant advan-
`tages of this invention will become more readily appreciated
`as the same becomes better understood by reference to the
`following detailed description, when taken in conjunction
`with the accompanying drawings, wherein:
`FIG. I is a plan View of a combined pager and data
`management device embodying the present invention (i.e.,
`“Nomad”);
`FIG. 2 is a schematic functional block diagram of Nomad;
`FIG. 3 is a logic diagram illustrating how Nomad
`responds to an Action button when a menu is displayed and
`an item in the menu has been selected;
`FIG. 4 is a logic diagram showing the response of Nomad
`when the user presses a Back button;
`FIG. 5 is a logic diagram illustrating how the menu title,
`which is not selectable, is handled in response to the user
`pressing an Up button;
`FIGS. 6A and 6B illustrate two display screens of an
`exemplary menu, showing the icons that may appear when
`the user scrolls through the list;
`FIG. 7 is a diagram of the logical stcps implemented by
`Nomad in determining whether the Up arrow and Down
`arrow icons are displayed;
`FIG. 8 is a logic diagram showing the steps used in
`handling fast scrolling on Nomad;
`FIG. 9 is a block diagram illustrating the data exchange
`system between a personal computer and Nomad through an
`infra-red data port and via paging transmissions;
`FIG. 10 illustrates an exemplary Table of Contents View
`display screen;
`FIG. 11 shows and exemplary Records View display
`screen;
`
`FIG. 12 is a block diagram of showing the structure of an
`applet routine;
`FIG. 13 is a display screen for
`included with Nomad; and
`FIG. 14 is a display screen of Option presented on
`Nomad.
`
`the set Time applet
`
`DESCRIPTION OF THE PREFERRED
`EMBODIMENT
`
`A preferred form of the present invention is embodied in
`a combination pager and data management device, which is
`referred to herein as “Nomad.” However, it is contemplated
`that the present invention can also be practiced using other
`electronic devices that are physically compact and readily
`portable. To be carried on a user’s person, the device must
`have a relatively small display area and be limited to only a
`few controls for controlling the data that are displayed and
`the functions executed by the device. The present invention
`could also be applied to a combination cellular phone and
`data management device that would offer virtually all of the
`compact size, portability, and other advantages of the pre-
`ferred embodiment of Nomad described below. Such
`devices should have enhanced utility compared to existing
`portable PIM devices, and the functionality and ready port-
`ability of such devices will more likely encourage the typical
`
`
`
`6,128,012
`
`5
`user to carry the device at all times. Accordingly, it is not
`intended that the scope of the present invention be limited by
`the disclosure of the present preferred embodiment of the
`invention that is embodied in a combination pager and PIM
`device.
`User Interface
`
`A top view of a Nomad pager and data management
`device 30 is shown in FIG. 1. Nomad includes a housing 32
`and has a user interface that includes a keypad 36 disposed
`on the top of housing. Keypad 36 has four buttons that are
`used to control the display and the functions performed by
`Nomad in connection with its conventional paging function
`and its PIM data management functions. The buttons com-
`prise an Action button 42, a Back button 44, an Up button
`38, and a Down button 40. The buttons navigate the user
`through a directory/menu hierarchy like that shown in FIG.
`1. The Action/Back buttons are paired as opposites having a
`pair dual functionality respectively similar to that of the
`Enter and Escape keys on a conventional QWERTY key-
`board of a personal computer. The Action button takes the
`user in (i.e., to a selected lower level) and the Back button
`takes the user out (i.e., to a next higher or parent level) in a
`hierarchical data structure. In addition, the Action button is
`also used to implement a selected function. The Up/Down
`buttons are another functional pair of buttons that respec-
`tively change the selected line up and down within a display
`34 and cause the lines to scroll
`to view lines that are
`currently off the display, either above the top or below the
`bottom of the display. Examples illustrating how the Action
`and Back buttons function and how the Up and Down
`buttons are used in the simple user interface of Nomad are
`disclosed in detail below. Display screen 34 is preferably a
`liquid crystal display (LCD), which in the preferred embodi-
`ment can display a maximum of eight lines, with 17 char-
`acters per line. Other types and sizes of displays can
`alternatively be used.
`Referring now to FIG. 2, a block diagram illustrates the
`functional components comprising Nomad. An eight—bit
`central processing unit (CPU) 50 implements the software
`controlled functions performed by Nomad. CPU 50 is
`coupled to display 34 so that text and graphic icons gener-
`ated in accord with the controlling software appear on the
`display. Data that are downloaded or otherwise entered into
`Nomad are stored in a non-volatile read/write memory 54,
`and this memory is bidirectionally coupled to the CPU,
`which reads and writes the data in a serial stream. Since the
`data stored in non-volatile memory 54 is likely to more
`extensive than a user would care to enter using only the four
`buttons, such data are most efficiently entered through a PC
`communication interface 60. Preferably, this interface com-
`prises an infrared sensor/transmitter 46 (shown in FIG. 1),
`which communicates through an infrared (IR) data port of a
`personal computer (PC) (not shown). The data are down-
`loaded from the PC to Nomad through the PC communica-
`tion interface. In the preferred embodiment, the CPU is
`preferably a Zilog Corporation, type ZSOTM running at from
`two to four MHZ. The capacity of non-volatile read/write
`memory 54, which is provided on an electrically erasable
`programmable read only memory (EEPROM) circuit,
`is
`only about eight Kbytes in the preferred embodiment. A
`working (static) random access memory (RAM) 56 has a
`capacity of about four Kbytes in the preferred embodiment
`and is also coupled bidirectionally to the CPU. The RAM
`provides volatile storage for instructions that are executed
`by the CPU when small application programs called
`“applets” are run on Nomad, and storage for temporary data,
`such as register values. Default values for configuration
`
`10
`
`15
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`options and other variables are stored in a ROM 58, which
`has a capacity of only about 10-20 Kbytes. The ROM is also
`used to store the operating system software for the device
`that controls the basic functionality of Nomad, e.g.,
`its
`conventional paging function, and other functions imple-
`mented by Nomad. An object
`is any received Nomad-
`specific block of data or code with the exception of a full
`download (a full download from a PC is sent, not as a
`collection of objects, but as a block of data in an internal,
`condensed format). A block of objects can be received from
`the PC. Or, a single object can be received from a PC (via
`IR), from another device (via IR), or from the paging
`network (via page). Objects include such items as appoint-
`ment records, phone records and datasets, general
`list
`records and datasets, applets, and applet-specific datasets.
`Transmittal of Nomad—specific objects between the
`Nomad device and the PC or another Nomad device is a key
`feature offered to users of Nomad devices (whether they be
`pagers, watches, digital diaries, game units, or other small
`devices). The ability of Nomad devices to receive and
`execute a variety of different applets,
`including applets
`designed by third parties,
`is another key feature that
`enhances the usability of these devices. Details on data
`transmission techniques and applets are provided below.
`The preferred embodiment of Nomad supports a hierar-
`chical directory structure very much like that used in a
`conventional computer file system. While use of such a
`directory structure is well known in laptop computers, a
`hierarchical structure of this type is novel in connection with
`the organization, access, and display of data stored on a very
`small portable device like Nomad having such a limited
`amount of memory for storing data and only a few lines in
`which to display (he data. The directory structure used in the
`preferred embodiment includes a root node, which is at the
`top of the hierarchical directory structure. Typically, a soft-
`ware application is selected by the user to automatically
`execute at the root node when Nomad is initially turned on,
`reset, or after a predetermined period of time has elapsed
`without any user input. The application that runs in the root
`node may simply result in a display of the highest levels of
`the directory structure, thereby enabling the user to select a
`specific directory and subdirectory in the hierarchy for
`accessing desired data or running a specific application.
`Alternatively, the application may carry out an initial func-
`tion and then display a top level menu.
`To move up or down through the hierarchical levels that
`are viewable on display screen 34, Action button 42 and
`Back button 44 are employed. Specifically, when a directory
`is selected on display screen 34 and Action button 42 is
`depressed, the subdirectories and any other elements for the
`next lower level of the selected directory in the hierarchy are
`then displayed. To move back 11p to the next higher level in
`the directory hierarchy, Back button 44 is depressed. Thus,
`using the Action and Back buttons, the user can easily move
`through different levels of the directory structure. A goal is
`to make the user who is accustomed to the directory struc-
`ture used on personal computers feel comfortable with the
`user interface and access to different directory levels that are
`employed on Nomad.
`least four types,
`The data stored in Nomad is of at
`including menus, static databases (lists), dynamic databases
`(stored pages), and small software application programs
`(applets). Regardless of the type of data being accessed, the
`user interface functions in an entirely consistent manner.
`However, the control buttons are context sensitive within the
`framework of the consistent
`interface. The following
`examples should help to clarify how the consistency of the
`user interface is maintained in a context sensitive manner on
`Nomad.
`
`
`
`6,128,012
`
`7
`As an exan1ple of tlie heterogeneous types of data that can
`be accessed, the following menu tree might be displayed to
`a user when Nomad is initially cncrgizcd:
`**MAIN MENU**
`INBOX
`REMINDERS
`GAMES
`
`If the user selects “INBOX” with the Action button, the
`following menu of different stored page messages night be
`displayed:
`* *INBOX* *
`PERSONAL
`NEWS
`
`10
`
`15
`
`Page messages specifically sent to the user are stored in
`the “PERSONAL” directory, while page messages of inter-
`est to a number of people or of a non-personal or public
`nature are stored ii the “NEWS” directory. If the user selects
`the PERSONAL directory item, a Table of Contents (TOC)
`view will present a list of the stored personal page messages,
`such as:
`**PERSONAL**
`I/101050 AM CALL ME
`1/io11:00 AM MEET
`
`The user can use the Up or Down buttons to move up or
`down in this list and then select a currently highlighted line
`by pressing the Action button, causing the display to move
`down one hierarchical level. If the user presses the Action
`button while the first item is highlighted, the contents of the
`selected page message will be presented on display 34, as in
`the following:
`1/1o10:50 AM
`CALL ME AT 1-800-123-4567 TO
`ARRANGE A MEETING.
`
`Again, the Up and Down buttons can be used to scroll up
`or down in the displayed page message. Now, however, if
`Action button 42 is depressed, a further lower directory is
`displayed that is clearly context sensitive, since it relates not
`to further details of the current displayed item, but instead to
`options for processing the currently displayed item. Pressing
`the Action button brings up the following options on the
`display:
`* * OPTIONS* *
`DELETE TIIIS PAGE
`PROTECT THIS PAGE
`DELETE ALL PAGES
`
`The first option simply deletes the last stored page that
`was displayed before the Action button was last pressed. The
`second option protects that stored page, preventing it from
`being deleted, and the last option deletes all, stored pages in
`the PERSONAL directory. The user employs the Up and
`Down buttons to select one of the displayed options and then
`presses the Action button to implement
`the option.
`Alternatively, if the user presses the Back button, the display
`moves up in the hierarchy, again displaying the previously
`displayed personal page message. If the user presses the
`Back button after the DELETE ALL PAGES o