`Chen
`
`US005724069A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,724,069
`Mar. 3, 1998
`
`[54] SPECIAL PURPOSE TERMINAL FOR
`INTERACTIVE USER INTERFACE
`
`5,177,323
`5,185,628
`5,203,317
`
`1/1993 1m 61 a1, ............................... .. 345/173
`2/1993 Wilson a a1. ..
`355/209
`4/1993 Koenck m1. . . . . .
`. . . .. 361/393
`
`[76] Inventor: Jack Y. Chen. 3773 Fox Pointe Rd..
`
`,
`
`
`
`
`
`22?”? Z: , r.
`
`.
`
`' ' - -
`
`' ' - "
`
`Rockford‘ m‘ 61114
`
`5,302,969
`5,305,014
`
`4/1994 Kuroda et a1. . . . . . .
`4/1994 Mutschleretal.
`
`. . . .. 345/168
`345/173
`
`[21] Appl. No.: 275,847
`[22] Filed:
`Jul. 15, 1994
`
`[51] Int. Cl.6 ..................................................... .. G09G 5/00
`
`[52] US. Cl. . . . . . . . . . . . . . .
`
`. . . . . . .. 345/172; 345/173
`
`[58] Field of Search ................................... .. 345/156. 168.
`345/169. 173. 901. 903. 905. 172; 364/708.
`709.01, 709.02. 709.11. 709.12. 709.15
`
`[56]
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`D. 287,969
`D. 310,662
`D. 345,351
`2,909,761
`4,333,097
`4,497,036
`4,524,414
`4,634,970
`4,667,299
`4,845,495
`
`1/1987 Kusanagi ............................. .. D14/l06
`Dl4/l06
`.... .. D4/115
`340/162
`340/711
`364/708
`345/168
`345/134
`364/708
`340/973
`
`. ..
`
`'
`
`.
`
`'
`
`4,879,548
`4,964,018
`5/1991 Stockberger et al.
`5,020,012
`9/1991 Stalmke ............ ..
`5,050,116
`5,059,960 10/1991 Rosenberg et a1. .
`5,121,477
`6/1992 Koopmans et al.
`
`340/712
`361/391
`. 364/709
`364/709
`340/111
`395/156
`
`Primary Examiner—Mark R. Powell
`Assistant Examiner-Matthew Luu
`Attorney, Agent, or Firm—Leydig. Voit & Mayer. Ltd.
`
`[57]
`
`ABSTRACT
`
`A special purpose microcomputer-based terminal for inter
`active user interface. The terminal includes a general pur
`pose microcomputer and an interface module made up of a
`general purpose display screen and an array of pushbuttons
`positioned along the sides of the screen. Aetuating a push
`button causes the interface module to generate a standard
`keystroke signal which is transmitted to the microcomputer
`through the keyboard port. The input elements of the user
`interface thus make use of the standard keyboard drivers
`normally available in a general purpose microcomputer to
`communicate with the application program. The application
`program in the computer memory displays on-the-screen
`selection indicators for available options coordinated to the
`positions of the pushbuttons. and actuating a button serves
`to select an option. The application program may present to
`a user options organized in hierarchal menu tree fashion, and
`the user may select a path through the menu tree by
`consecutively actuating the buttons.
`
`18 Claims, 11 Drawing Sheets
`
`APPLICATION PROGRAM
`“K. 110 uoouuz
`e2—_
`DISPLAY
`MODULE
`
`66
`
`mrennnerza
`
`APPLICATION
`MODULE
`
`STD.
`SCREEN
`DRIVER
`
`\
`\ 64
`
`202
`
`an??? 9 8
`
`Apple, Exhibit 1042, Page 1
`
`
`
`US. Patent
`
`Mar. 3, 1998
`
`Sheet 1 of 11
`
`5,724,069
`
`F .GE
`
`vm
`
`Z
`,5 mum/mm
`0/
`
`m‘
`
`Apple, Exhibit 1042, Page 2
`
`
`
`US. Patent
`
`Mar. 3, 1998
`
`Sheet 2 of 11
`
`5,724,069
`
`k__,__, 40
`
`FIG. 2
`
`o1
`
`40
`
`9
`
`I08
`
`/
`
`I06
`
`105
`
`I04
`
`Z l
`
`\ L
`
`X l
`
`I03
`102 L
`
`2.9.5
`
`295
`
`203
`
`f 202
`
`IO! 1’ /
`
`\
`
`Apple, Exhibit 1042, Page 3
`
`
`
`US. Patent
`
`Mar. 3, 1998
`
`Sheet 3 0f 11
`
`5,724,069
`
`[50
`ll
`APPLICATION PROGRAM
`I/O MODULE
`6°\.I
`62- \ DISPLAY
`MODULE
`INTERPRETER
`I
`\
`\64
`
`[66
`APPLICATION
`MODULE
`
`202
`
`STD.
`SCREEN
`DRNER
`
`KEYBOARD
`DRIVER
`
`/
`20o
`
`ENCODER
`
`24/
`25 {40
`
`H
`
`w
`
`D El E1
`
`li'l
`
`III I: u
`
`f
`46
`
`[3 I:
`7::
`I}
`46 46
`c:
`E}
`46
`46% I:
`E
`
`40
`
`FIG. 3
`
`Apple, Exhibit 1042, Page 4
`
`
`
`US. Patent
`
`Mar. 3, 1998
`
`Sheet 4 of 11
`
`5,724,069
`
`(a DDDDEDDD
`
`
`LAST-REPEAT
`
`sill-3
`
`
`
`
`Deacription
`
`===
`
`
`
`NO.Item
`
`
`
`FIG.4A
`
`
`
`Apple, Exhibit 1042, Page 5
`
`Apple, Exhibit 1042, Page 5
`
`
`
`US. Patent
`
`Mar. 3, 1993
`
`Sheet 5 of 11
`
`5,724,069
`
`0V
`
`
`
`D DDDDDDDD
`
`
`
`
`
`Description
`
`No.Item
`
`
`
`FIG.4B
`
`Apple, Exhibit 1042, Page 6
`
`Apple, Exhibit 1042, Page 6
`
`
`
`US. Patent
`
`Mar. 3, 1998
`
`Sheet 6 of 11
`
`5,724,069
`
`ovk
`
`om
`
`Ow .UE
`
`EOHH .02
`
`T
`
`Apple, Exhibit 1042, Page 7
`
`
`
`mm
`
`w
`
`DINNER-
`
`3...: 1DNYST
`
`
`
`No.Item
`
`D
`
`D
`
`D
`8D
`
`m D D
`
`..
`
`,STEAKI’
`
`_
`
`FIG.4D
`
`
`
`Apple, Exhibit 1042, Page 8
`
`Apple, Exhibit 1042, Page 8
`
`
`
`US. Patent
`
`Mar. 3, 1998
`
`Sheet 8 of 11
`
`5,724,069
`
`(D DDDDEDDD
`
`
`
`
`FIG.4E
`
`
`
`
`
`NEWYORKSTRIP
`
`MIDWELL
`
`Description
`
`Apple, Exhibit 1042, Page 9
`
`Apple, Exhibit 1042, Page 9
`
`
`
`US. Patent
`
`Mar. 3, 1998
`
`Sheet 9 of 11
`
`5,724,069
`
`On
`
`n=~ .GE
`
`T
`
`Apple, Exhibit 1042, Page 10
`
`
`
`US. Patent
`
`Mar. 3, 1998
`
`Sheet 10 of 11
`
`5,724,069
`
`70
`
`74
`
`PERFORM
`DEDICATED
`FUNCTION
`(E.G. ESC)
`
`71
`DISPLAY /
`ROOT LEVEL
`
`SCREEN I
`
`72
`DETEcT /
`73 KEYSTROKE
`SIGNAL
`
`Y
`
`DETERMINE
`FUNCTION AT /75
`EXISTING LEVEL
`I
`7e
`ExEcuTE
`FUNCTION /
`
`Y
`78
`UPDATE
`LEVEL FLAG /
`+
`79
`DISPLAY
`LEVEL /
`SCREEN
`
`99
`
`END
`
`FIG. 5
`
`Apple, Exhibit 1042, Page 11
`
`
`
`US. Patent
`
`Mar. 3, 1998
`
`Sheet 11 0f 11
`
`5,724,069
`
`@80
`
`DISPLAY 1ST LEVEL
`
`ALPHANUMERICAL /
`CHARACTERS
`
`+ 82
`DETECT
`> KEYsTRoKE
`SIGNAL
`
`f2
`
`5621.5:
`
`END of
`ALPHA
`NUMERICAL
`INPUT
`
`DELETE
`PREVIOUS
`CHARACTER
`\
`9o
`
`89
`
`DISPLAY NEXT
`LEVEL OF
`ALPHANUMERICAL
`CHARACTERS
`FIG. 6
`
`88
`\
`DISPLAY
`CHARACTER
`T
`DETERMINE
`CHARACTER
`ENTERED
`
`Apple, Exhibit 1042, Page 12
`
`
`
`1
`SPECIAL PURPOSE TERMINAL FOR
`INTERACTIVE USER INTERFACE
`
`FIELD OF THE INVENTION
`
`The present invention relates generally to a
`microcomputer-based terminal. and more particularly to a
`special purpose terminal based on a general purpose
`microcomputer. and having a simpli?ed user interface.
`
`5
`
`5 ,724,069
`
`2
`setting where the device is used for menu selection. because
`the user of the terminal may also have to handle foods.
`Devices using a keyboard or a mouse are also not suitable
`for restaurant applications due to the danger of accidental
`damage caused by. for example. spilling drink on the key
`board.
`
`15
`
`20
`
`25
`
`30
`
`35
`
`BACKGROUND OF THE INVENTION
`Special PLII‘POSC microcomputer-based terminals have
`been widely used in consumer service applications. For
`example. a department store can use an interactive terminal
`to provide a customer with information about the prices and
`selections of goods in the store. or a restaurant can use an
`interactive terminal for taking orders from a customer.
`Generally the terminal-user interactive interface is accom
`plished by the terminal presenting available options on an
`output device to a user. and the user indicating through an
`input device the option selected. Many different types of
`input and output devices may be used. For example. the
`output device may be a printer or a display screen. and the
`input device may be a standard keyboard or a mouse. A
`touch screen may also be used to serve both the input and
`output (110) functions.
`Using a standard keyboard in the user interface is quite
`acceptable for a general purpose terminal. where some
`computer familiarity is expected. but for a special purpose
`terminal for the non-computer experienced user. the stan
`dard keyboard interface is less than desirable. It may present
`too many options. it may trigger a computer~phobic reaction.
`and indeed it may present too many opportunities for a user
`to affect the computer terminal beyond the intended limited
`special purpose functions intended
`Heretofore. a particularly attractive user interface for
`special purpose terminals has been the touch screen. When
`a touch screen is used as the I/O device of an interface
`terminal. the application program can be designed to display
`selection indicators on the screen. and a touch of a selection
`indicator on the screen will be detected and interpreted by
`the program as the selection of that option. A touch screen
`is often preferred to a keyboard or a mouse as the input
`device because the user actions for using a touch screen. i.e.
`looking and pointing. are often considered to be simple and
`intuitive. It is also often desirable to have one device serving
`both input and output functions instead of using physically
`separate input and output devices.
`A touch screen. however. is not without disadvantages.
`Special construction and electronics are required for sensing
`a touch and determining the location of the touch on the
`screen. Feeding such information into the microcomputer
`also requires specially designed driver circuits and a spe
`cially designed computer interface. These special circuits
`not only increase the cost of the touch screen interface. but
`also increase the di?iculty of software development because
`the software must be specially designed to communicate
`with the driver circuit. The system portability of the inter
`face terminal is also reduced because the touch screen
`cannot be used with another microcomputer which does not
`have the special drivers. The special design of the front end
`(interface and drivers). typically demands that a special
`purpose terminal with touch screen interface be available for
`development or modi?cation of application programs.
`Another problem with the touch screen is that the screen
`can get contaminated from contact with hands rather
`quickly. This problem is especially serious in a restaurant
`
`SUMMARY OF THE INVENTION
`In view of the foregoing. it is a general aim of this
`invention to provide a special purpose terminal using gen
`eral purpose computer hardware. to achieve simplicity and
`directness like that of a touch screen. but to avoid the
`disadvantages of a touch screen.
`In accomplishing that aim. it is an object of the present
`invention to provide a special purpose terminal using gen
`eral purpose computer hardware to the maximum extent
`possible. and to achieve a user interface like that of a touch
`screen. but without the complication or expense of special
`purpose drivers or interface circuits normally associated
`with a touch screen. It is a related object to use the drivers
`normally associated with a general purpose computer to
`interface a special purpose user-friendly input device to the
`general purpose computer.
`According to a particular application of the invention. it
`is an object to provide a user interface device which is
`suitable for use in an environment like a restaurant where
`contamination of the device is a concern.
`It is a feature of the invention that a standard general
`purpose microcomputer is operated without a standard
`keyboard. and a special purpose user interface is connected
`to the keyboard port of the general purpose computer. the
`application software of the system serving to assign func
`tions to an array of pushbuttons of the user interface. and to
`interpret pushbutton actuations according to the assigned
`functions.
`It is a subsidiary feature of the invention that the appli
`cation programs for the special purpose terminals are
`designed in several levels. preferably nested in hierarchal
`menu tree fashion. and the functions are assigned by
`displaying. on a general purpose display. the functions for
`the respective pushbuttons. with at least some of the func
`tions changing with changing level. The application then
`interprets an actuation of a pushbutton according to the level
`existing at the time of the actuation.
`Thus. it is a resulting feature of the invention that an array
`of conventional pushbuttons can be interfaced to the general
`purpose microcomputer via a keyboard port. the display
`driven by the application software to provide touch screen
`like functionality to the pushbuttons. with the multiple levels
`of the application assigning multiple functions to the push’
`buttons depending on the level. It is a signi?cant feature that
`this is all accomplished without the need for any special
`purpose interface boards in the computer and without the
`need for specially design screens capable of sensing touch.
`These and other features of the invention are achieved by
`providing a special purpose microcomputer-based terminal
`for interactive user interface. The terminal utilizes a general
`purpose microcomputer having a display port and a key
`board port. The keyboard port is interfaced to a microcom
`puter keyboard driver of the type responsive to interpret
`keystroke signals in a standard format transmitted from a
`standard alphanumeric keyboard. However. the
`microcomputer-based terminal does not have a standard
`alphanumeric keyboard connected to the keyboard port.
`Instead. a user input module includes a plurality of electrical
`pushbuttons arranged along at least one side of the display
`
`45
`
`55
`
`65
`
`Apple, Exhibit 1042, Page 13
`
`
`
`10
`
`25
`
`35
`
`3
`and an encoder circuit for detecting the actuation of each
`pushbutton and producing a keystroke signal identifying the
`actuated pushbutton and compatible with the standard for
`mat of the keyboard driver. The user input module is
`connected to the microcomputer via the keyboard port. A
`standard general purpose display screen is connected to the
`display port of the microcomputer. A program memory in the
`microcomputer contains instructions which (a) assign spe
`ci?c input functions to the pushbuttons. and (b) display
`pushbutton function assignments on the display screen in
`positions coordinated to the positions of the pushbuttons.
`The program memory also contains instructions which
`respond to signals received from the keyboard driver initi
`ated by actuation of a pushbutton by determining the func
`tion speci?ed by the pushbutton actuation and executing the
`determined function.
`In a more particular embodiment. a program memory in
`the microcomputer contain an input/output module having
`multiple levels for assigning level-speci?c functions to the
`pushbuttons. The inputloutput module includes a display
`module for displaying on-the-screen representations of the
`pushbuttons and the functions assigned to the pushbuttons at
`each level. The input/output module also includes an inter
`preter for interpreting a keystroke signal in accordance with
`the function assigned to the actuated pushbutton at the
`associated level. The program memory. in addition to the
`input/output module. also contains an application module
`for executing the interpreted function assigned to the push
`button at the interpreted level.
`In a particular application. the special purpose terminal is
`a waiter’s terminal for a restaurant in which the multiple
`levels of the input/output module include a stored series of
`nested menus including root level menus branching to
`elemental level menus. ‘The root level menu is adapted to
`assign the courses of a meal to the function keys. a mid-level
`menu is adapted to assign selections to the courses speci?ed
`in the root level menu. and sub-level menus are adapted to
`re?ne the selections in the mid-level menus. The application
`module is adapted to guide the user through the menus in
`completing a selection of a meal. and to produce. at a
`printout station. an itemized check.
`Other objects and advantages will become apparent from
`the following detailed description when taken in conjunction
`with the drawings. in which:
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 illustrates a presently preferred embodiment of the
`interface terminal of the present invention;
`FIG. 2 shows an embodiment of the interface module
`according to the present invention and graphic representa
`tions of the pushbuttons displayed on the screen of the
`interface module;
`FIG. 3 shows a schematic illustration of the functional
`organization of the terminal of the present invention;
`FIGS. 4A-4F illustrate a sequence of screen displays for
`a restaurant application which presents menu selections
`organized in a hierarchal menu tree fashion;
`FIG. 5 shows a flow chart illustrating the sequence of
`operation of an application program having multiple levels
`of functions; and
`FIG. 6 shows a ?ow chart illustrating the process of
`entering alphanumeric information into a terminal of the
`present invention.
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`While the invention will be described in connection with
`certain preferred embodiments. there is no intention to limit
`
`50
`
`55
`
`65
`
`5 .724.069
`
`4
`it to those embodiments. On the contrary. the intent is to
`cover all alternatives. modi?cations. and equivalents
`included within the spirit and scope of the invention as
`de?ned by the appended clairus.
`Turning now to the drawings. FIG. 1 shows an embodi
`ment of the interactive interface terminal 100 of the present
`invention. which comprises an interface module 20 and a
`microcomputer 10. The microcomputer 10 is a general
`purpose computer comprising a microprocessor-based CPU.
`The phrase “general purpose" as used herein means that the
`microcomputer is of the type generally available for inter
`facing with a variety of devices and capable of operating a
`wide range of software applications. It is to be contrasted
`with “special purpose”. which connotes a microcomputer
`system specially adapted for a limited specific purpose. An
`example of the former is the wide range of DOS-based
`computers available from a large number of manufacturers.
`while an example of the latter might be a terminal dedicated
`to dispensing lottery tickets.
`The general purpose microcomputer 10 conventionally
`has a keyboard port 12 and a display port 14. A standard
`alphanumerical keyboard is typically connected to the
`microcomputer through the keyboard port. often to serve as
`the primary input device. The general purpose computer
`used in the terminal of the present invention. however. does
`not have a standard keyboard connected to the keyboard port
`12. The display port 14 allows a standard display screen 30
`to be connected to and driven by the microcomputer. The
`display 30 is illustrated as a CRT. although other forms such
`as the LCD display can be used.
`Internally to the microcomputer 10. the keyboard port 12
`is interfaced to a keyboard driver 16 (FIG. 3). The keyboard
`driver is compatible with a standard alphanumerical
`keyboard. and includes hardware and software elements.
`The hardware elements include the necessary integrated
`circuits and the like which accept signals from the keyboard
`and process them to produce data words recognizable by the
`microcomputer system. The software elements include key
`board driver elements. typically resident within the input/
`output system (e.g.. the BIOS). which process the keyboard
`signal to produce data words which serve as inputs to the
`microprocessor within the computer system. Both the hard
`ware and software elements are resident in the typical
`general purpose microcomputer 10 such that it is only
`necessary to plug a keyboard into the port 12. the hardware
`and software elements of the keyboard driver being avail
`able to immediately accept input from the keyboard.
`Generally. a keyboard functions by converting a key
`stroke into an electrical signal. generally a binary code. To
`that end. the conventional keyboard itself usually includes a
`keyboard encoder which performs the ordinary tasks of
`scanning the keyboard. detecting acmations of any keys. and
`producing binary coded signals indicating the identity of the
`key which had been depressed. The code which is produced
`by the encoder is transmitted to the microcomputer through
`a signal bus terminated with a connector 21 connected to the
`keyboard port 12. The keyboard driver 16 (FIG. 3) within
`the microcomputer receives the code and produces data
`words accessible to the microcomputer system for determin
`ing which key has been actuated. and responding according
`to the program in operation at the time. Because a keyboard
`is a standard input device for general purpose
`microcomputers. most general purpose microcomputers
`contain a keyboard driver as a standard feature.
`In accordance with an important aspect of the present
`invention. the special purpose interface module 20 makes
`
`Apple, Exhibit 1042, Page 14
`
`
`
`5
`full use of the keyboard port 12 and its associated drivers in
`integrating the special purpose user interface of the present
`invention with a general purpose microcomputer 10. In
`addition. the interface module 20 of the present invention
`makes use of a general purpose display screen 30. such as
`the illustrated CKI“. driven from the standard display port 14
`through a connection cable 34. It will thus be appreciated
`that the only truly special purpose features of the present
`invention are the input interface elements themselves. the
`remainder being elements which are integral to the readily
`available. and generally inexpensive available. standard
`microcomputer system.
`Turning in greater detail to the input aspects of the
`invention. the input module 25 (FIG. 3) comprises a plural
`ity of pushbuttons 40 mounted on abezel 41 surrounding the
`screen 30. Preferably. the pushbuttons 40 are arranged in
`lines along two or more sides of the display screen 30. The
`interface module 20 in FIG. 1 has eight buttons above the
`screen 30 and eight buttons along the right side of the screen.
`forming an inverted “L” shaped array. The number of the
`pushbuttons and their locations alongside the screen can be
`varied according to the needs of a specific application. For
`instance. the pushbuttons can be located along only one side
`of the screen 30. It is preferred. however. to arrange the
`pushbuttons 40 in an inverted L-shape forming two lines.
`one along the top and the other along the right-hand side of
`the screen 30. In conjunction with the display which is
`utilized in the assignment of functions to the pushbuttons.
`the inverted L as illustrated in the ?gures is most readily
`suited for ease of operation by a right-handed person. In
`order to produce signals which are readily interpreted by the
`keyboard driver of the standard microcomputer. the input
`module includes an encoder circuit 24 (FIG. 3) which senses
`the actuation of the pushbuttons and generate keystroke
`signals which are identical in form to the keystroke signals
`generated by a standard keyboard. The keystroke signals are
`transmitted through a signal bus 22 terminated with a
`connector 21 connected to the keyboard port 12. Because the
`keystroke signals are compatible with the standard format of
`the keyboard driver. they can be handled by the keyboard
`driver. and processed by the BIOS to be made available to
`the application software being operated in the microcom
`puter. As a result. no specially designed drivers (either
`hardware or software) are needed for handling the input
`from the interface module.
`There are signi?cant advantages to using an interface
`module which can be driven by a general purpose micro
`computer without any specially designed drivers. The cost of
`the terminal system is lower and installation of the system is
`simpler because no special drivers are required. The inter
`face module is also more portable in the sense that it can be
`matched with different microcomputers without having to
`install special drivers. Because the method of interfacing a
`keyboard to a general purpose microcomputers is fairly
`standardized. developing an application program which
`receives input from the keyboard port generally requires less
`testing and debugging than developing a program receiving
`input from a specially designed driver circuit. Furthermore.
`new applications can be developed or existing applications
`can be modi?ed without the need for a special purpose
`terminal. Indeed. software development can be performed
`on a standard microcomputer using a standard keyboard. so
`long as the software developer knows the particular codes of
`the keyboard signals which will be used for each of the
`buttons 40 in the special purpose terminal 100.
`In practicing the invention. there is provided. in combi
`nation with the array of pushbuttons around the display.
`
`45
`
`50
`
`55
`
`65
`
`5 ,724,069
`
`10
`
`25
`
`30
`
`35
`
`6
`means for assigning particular functions to the pushbuttons.
`and changing the assignment of functions at different levels
`of the application program. Because the number of push
`buttons should be quite limited in order to keep the user
`interface reasonably simple and intuitive. it will usually be
`desirable to assign multiple functions to at least some of the
`pushbuttons. It is therefore necessary to indicate to a user
`which function has been assigned to a pushbutton.
`FIG. 2 illustrates a preferred means for accomplishing
`that. The interface module 20 as shown in FIG. 2 has an
`array of pushbuttons 40 which are individually numbered
`101-116. As shown in FIG. 2. the application software
`operated within the microprocessor causes the display on the
`screen 30 of a group of graphic representations 46 individu
`ally numbered 202-207. 209-215. A graphic representation
`is a graphic image suggestive of a pushbutton. The graphic
`representations 46 are positionally juxtaposed to the push
`buttons 40. and indicating the function which is currently
`assigned to each of the pushbuttons. To further assist the user
`in selecting a function. information about the functions may
`also be displayed on the screen. By coordinating represen
`tations 46 on the screen 30 to the positions of the pushbut
`tons 40 along the sides of the screen. the user can clearly tell
`which pushbutton 40 is assigned to which graphic represen
`tation.
`FIG. 2 shows the preferred embodiment of the interface
`module of the present invention which has the pushbuttons
`40 arranged in an inverted “L" shape. Because the repre
`sentations 46 of the pushbuttons are positionally coordinated
`to the pushbuttons 40. the center of the screen 30 is free for
`display of application information.
`When the user actuates a pushbutton 40. a keystroke
`signal is sent to the keyboard driver 16 (FIG. 3). The
`program uses the signal received through the keyboard
`driver to determine which pushbutton has been actuated.
`thereby determining which function has been selected. For
`example. when the pushbutton 202 is actuated. the function
`assigned to it by the program is selected.
`Besides being used to select functions. the pushbuttons
`can be used for entering alphanumeric data. For example.
`the function assigned to pushbutton 202 in FIG. 2 may be to
`input the digit “1”. Pressing that button then interpreted by
`the program as that the digit “l”has been entered.
`It may be desirable in some situations to assign permanent
`functions to some of the pushbuttons. and those functions
`can either be assigned. insofar as the user interface is
`concerned. by indicators on the screen 30. or by permanent
`markings on the buttons 40. In the preferred embodiment of
`the interface module as shown in FIG. 2. the three pushbut
`tons 101. 108. 116 located at the upper left. upper right. and
`lower right corners of the bezel 41 surrounding the screen 40
`are generally reserved for those ?xed special functions.
`FIG. 3 illustrates schematically the functional organiza
`tion of the terminal of the present invention. The application
`program 50 in the memory can generally be viewed as
`functionally comprising two major modules. The ?rst mod
`ule is the I/O module 60 which is responsible for controlling
`the course of the computer-user interaction. The course of
`interaction may be viewed as comprising many levels. and
`at each level the user is required to make one choice. The
`operation of the program correspondingly has many levels.
`At each level the 1/0 module 60 performs the output
`function of presenting to the user a set of functions for the
`user to choose from. and the input function of receiving a
`keystroke signal from the user indicating which function has
`been selected The functions presented to the user are
`
`Apple, Exhibit 1042, Page 15
`
`
`
`7
`level-speci?c. meaning that which functions are presented
`depends on the level of operation. The 1/0 module 60 also
`assigns the level speci?c functions to the pushbuttons 40 so
`that the user can press one button to select its assigned
`function.
`The second module in the application program is the
`application module 66. This module is responsible for
`carrying out the functions selected by the user. For instance.
`a selected function can be printing out a check 202 on an
`attached printer 200. or displaying a road map on the display
`screen 30.
`Based on the input or output functions. The 1/0 module 60
`can be further viewed as comprising a display module 62
`and an interpreter 64. The display module 62 performs the
`output function of displaying on the screen graphic repre
`sentations 46 of pushbuttons and their respectively assigned
`level-speci?c functions. The interpreter 64 performs the
`input function. The interpreter 64 receives from the key
`board driver 16 a signal identifying the pushbutton 40 that
`has been pressed. and checks the level-speci?c function
`assignments of the pushbuttons 40 to determine which
`function has been selected by the user. It will be appreciated
`that each level of interaction involves the operation of the
`display module 62 and the interpreter 64.
`Operating the terminal of the present invention requires
`simply looking at the screen 30 and pressing a button 40.
`Due to the visual connection between the buttons and the
`graphic representations 46. these actions are relatively
`simple and intuitive. and are very similar to the looking and
`pointing actions for a touch screen.
`While providing ease of operation similar to that of touch
`screens. the interface module of the present invention has
`several advantages over a touch screen. First. unlike touch
`screens which requires special construction and electronic
`circuits for detecting a touch. electrical pushbuttons are
`simple devices which are inexpensive and easy to maintain.
`Second. the present invention utilizes the already existing
`drivers in the microcomputer. thereby eliminating the need
`of a specially designed drivers or interfaces.
`In many applications. the instructions in the application
`memory of the microcomputer can be programmed to
`present to a user functions organized in a hierarchical menu
`tree fashion. At a given time the program displays on the
`screen selection indicators for options on one level of the
`menu tree. After the user selects an option by pressing a
`button. the program responds by presenting new functions
`on the next level of the menu tree to the user. Which new
`options are presented depends on which option has been
`selected. By consecutive actuations of the buttons. a user can
`select a path through the menu tree.
`inputting and processing orders from a customer in a
`restaurant. that is functioning as a special purpose waiter’s
`terminal. represents a currently preferred application for a
`microcomputer-based terminal according to the present
`invention. The terminal of the present invention is well
`suited for such an application. because its interface module
`is less sensitive to contamination than a touch screen. and is
`not as susceptible to accidental damage as a standard key
`board. Its simplicity of operation also makes it superior to a
`interface terminal using a keyboard or a mouse.
`When a terminal of the present invention is used as a
`Waiter's terminal for entering orders from customm's. the
`multiple levels of input/output module may include a stored
`series of nested menus containing options available from a
`regular restaurant menu. The menus are nested to provide a
`basic or root level menu branching to elemental level menus.
`
`10
`
`25
`
`30
`
`35
`
`45
`
`55
`
`65
`
`5.724.069
`
`8
`the elemental menus including. at least in some cases.
`mid-level menus followed by sub-level menus. This nesting
`is convenient in order to automatically move from a selec
`tion at a root level to the options available at a mid-level. to
`re?nements to the selected options available at sub-level
`menu. ‘The user need not be concerned with how to get from
`level to level in order to make the selections. Simply making
`a selection at one of the higher level menus indexes the level
`to the next sequential appropriate level. based on the selec
`tion already made. so that the sub-items and re?nements can
`be selected.
`In greater detail. FIGS. 4A-4F illustrate a series of
`screens forming at least one branch of a series of nested
`menus in a waiter’s terminal according to the present
`invention. These ?gures each show a display screen 30
`illustrated at one level of the application software. They also
`illustrate the multi-function pushbuttons 40 arranged on the
`bezel 41 surrounding the screen 30. and demonstrate a
`sequence of steps for selecting a path throug