throbber
United States Patent (19)
`Foster et al.
`
`(54) STATUS BAR FOR APPLICATION WINDOWS
`I75) Inventors: Gregg S. Foster, Woodside; Stephen P.
`Capps, San Carlos, both of Calif.
`
`73) Assignee: Apple Computer, Inc., Cupertino,
`Calif.
`
`(21) Appl. No.: 393,880
`22 Filed:
`Feb. 24, 1995
`
`Related U.S. Application Data
`63) Continuation of Ser. No. 976,970, Nov. 16, 1992, aban
`doned.
`(51) Int. Cl.' ............................... G06F 3/14; G06F 3/033
`52 U.S. Cl. ............................................. 395/326; 395/348
`58) Field of Search ..................................... 395/155, 157,
`395/159, 156, 158; 34.5/119, 120, 146,
`902
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`4,931,783 6/1990 Atkinson ............................. 345/46X
`5,121,477 6/1992 Koopmans et al. .................... 395/156
`5,140,678 8/1992 Torres ...............
`... 395/159
`5,179,655
`1/1993 Noguchi et al.
`395/158
`5,230,063 7/1993 Hoeber et al. .......................... 395/156
`5,255,358 10/1993 Busboom et al. .
`395/156 X
`5,276,795
`l/1994 Hoeber et al. .......................... 395/156
`5,305,435 4/1994 Bronson .....
`... 395/159
`5,317,687 5/1994 Torres ........
`... 395/159
`5,375,200 12/1994 Dugan et al. ..
`395/159
`5,425,141
`6/1995 Gedye ..................................... 395/157
`
`
`
`|H||||IIH
`US005588105A
`5,588,105
`Patent Number:
`11
`(45) Date of Patent:
`Dec. 24, 1996
`
`OTHER PUBLICATIONS
`Microsoft Windows Version 3.0 User's Guide, Microsoft
`Corporation, 1990, pp. 17-18, 23-25, 28-29,44-47, 55-56,
`156-157, 398-399.
`O'Connor, Rory J., "Apple banking on Newton's brain,” San
`Jose Mercury News, Apr. 22, 1992.
`Weiman et al., “A Step Toward the Future' Macworld, Aug.
`1992, pp. 129-131.
`M. Soviero, “Your World According to Newton' Popular
`Science, Sep. 1992, pp. 45-49.
`F. Abatemarco, "From the Editor' Popular Sceince, Sep.
`1992, p. 4.
`Primary Examiner-Raymond J. Bayerl
`Attorney, Agent, or Firm-Hickman Beyer & Weaver
`(57)
`ABSTRACT
`A status bar characterized by a template generated indepen
`dently of an application program and displayed on a com
`puter screen in contact with an application window. The
`template carries at least one active area that can include an
`icon for controlling the application program or an area
`which displays information generated by the application
`program. Alternatively, or additionally, the active area can
`include "global functions' of the computer system. A
`method for providing a status bar is characterized by the
`steps of creating a status bar template having at least one
`area to be activated, activating at least one area to create a
`status bar, and displaying the status bar on a computer screen
`in contact with an associated application window displayed
`on the computer screen. The step of creating a status bar
`template can include the steps of creating a plurality of status
`bar templates, one of which is chosen to be attached to a
`particular application window.
`
`40 Claims, 11 Drawing Sheets
`
`Bob Martin
`who
`My Card
`what
`where Cupertino, CA
`Number 408-555-432
`
`Format Card
`
`Instacart, Ex. 1031
`
`1
`
`

`

`U.S. Patent
`
`Dec. 24, 1996
`
`Sheet 1 of 11
`
`5,588,105
`
`
`
`LHOCH T\/|HES
`
`HEH LO
`
`
`
`2
`
`

`

`U.S. Patent
`
`Dec. 24, 1996
`
`Sheet 2 of 11
`
`5,588,105
`
`10
`
`
`
`
`
`
`
`DEc1, 1992
`
`NoTE'
`
`42
`
`
`
`56
`
`D/8
`() E
`TIG. 2
`
`
`
`3
`
`

`

`U.S. Patent
`
`Dec. 24, 1996
`
`Sheet 3 of 11
`
`5,588,105
`
`
`
`Gregg Foster
`Apple Computer, Inc.
`
`(408) 555 - 1234
`
`TIG. 3
`
`4
`
`

`

`U.S. Patent
`
`Dec. 24, 1996
`
`Sheet 4 of 11
`
`5,588,105
`
`
`
`Gregg Foster
`Apple Computer, Inc.
`
`(408) 555 - 12
`
`'FIG. 4
`
`5
`
`

`

`U.S. Patent
`
`Dec. 24, 1996
`
`Sheet 5 of 11
`
`5,588,105
`
`
`
`Bob Martin
`who
`My Card
`What
`Where Cupertino, CA
`Number 408-555-4321
`
`6
`
`

`

`U.S. Patent
`
`Dec. 24, 1996
`
`Sheet 6 of 11
`
`5,588,105
`
`FIG.6
`
`O4
`
`START A NEW
`APPLACATION PROGRAM
`
`106
`
`- 102
`
`COUPLE STATUS BAR TO
`APPLICATION PROGRAM WINDOW
`
`108
`
`
`
`112
`
`DISPLAY APPLICATION PROGRAM
`WINDOW WITH STATUS BAR ON A
`COMPUTER SCREEN
`
`APPLICATION FEED BACK ?
`
`116
`
`STATUS BAR ACTION ?
`
`120
`
`
`
`BUTTON ACTION?
`
`
`
`
`
`al
`
`
`
`
`
`r
`
`
`
`
`
`
`
`
`
`
`
`
`
`YES
`
`NO
`
`110
`
`114
`
`UPDATE AREA
`ON STATUS BAR
`
`DO STATUS
`BAR ACTION
`
`DO BUTTON
`ACTION
`
`7
`
`

`

`U.S. Patent
`
`Dec. 24, 1996
`
`Sheet 7 of 11
`
`5,588,105
`
`
`
`126
`
`124
`
`APPLICATION OBTANS
`STATUS BAR TEMPLATE
`
`FIG. 7
`
`108
`
`130
`
`128
`
`ANY AREAS TO FILL
`
`FILL AREAS
`
`
`
`YES
`
`
`
`
`
`
`
`
`
`CREATE A NEW AREA
`
`INSTALL NEW AREA N
`STATUS BAR
`
`8
`
`

`

`U.S. Patent
`
`Dec. 24, 1996
`
`Sheet 8 of 11
`
`5,588,105
`
`'FIG. 8a.
`
`48
`
`15C
`
`9
`
`

`

`U.S. Patent
`
`Dec. 24, 1996
`
`Sheet 9 of 11
`
`5,588,105
`
`156
`41
`
`
`
`S
`YE
`
`
`
`162
`
`CREATE A BUTTON ?
`
`NO
`
`
`
`64
`
`72
`
`TIG. 10
`
`OBTAN A
`BUTTON
`TEMPLATE
`
`CUSTOMIZE
`BUTTON
`
`
`
`Y
`
`174
`
`OBTAN A TEXT
`TEMPLATE
`
`CRATE LABEL
`
`NO
`
`
`
`176
`
`CUSTOMIZE
`TEXT
`TEMPLATE
`
`
`
`
`
`1 78
`
`18O
`
`Y
`
`CREATE OTHER
`
`NO
`
`
`
`170
`
`OBTAN
`TEMPLATE
`
`CUSTOMZE
`TEMPLATE
`
`10
`
`

`

`U.S. Patent
`U.S. Patent
`
`Dec. 24, 1996
`Dec. 24, 1996
`
`Sheet 10 of 11
`Sheet 10 of 11
`
`5,588,105
`5,588,105
`
`
`
`FIG. 11
`
`fe
`
`192
`
`188.
`
`12b
`4992L
`
`
`
`A
`
`A
`f
`
`B
`
`188
`
`C
`
`B
`( _
`[
`ies
`- ie.
`D - 200 O
`F.
`
`11
`
`

`

`U.S. Patent
`
`Dec. 24, 1996
`
`Sheet 11 of 11
`
`5,588,105
`
`202
`
`118
`
`'FIG. 13
`
`
`
`2O6
`
`DO DRAG
`
`DO GESTURE
`
`DO OTHER
`
`204
`
`
`
`
`
`
`
`12
`
`

`

`1
`STATUS BAR FOR APPLICATION WINDOWS
`
`This is a continuation of application Ser. No. 07/967,970
`filed Nov. 16, 1992, now abandoned.
`
`BACKGROUND OF THE INVENTION
`This invention relates generally to computer systems, and
`more particularly to graphical user interfaces for computer
`systems.
`Graphical user interfaces or GUI are becoming increas
`ingly popular with computer users. It is generally accepted
`that computers having graphical user interfaces are easier to
`use, and that it is quicker to learn an application program in
`a GUI environment than in a non-GUI environment.
`Apple Computer, Inc. is widely credited with populariz
`ing graphical user interfaces with the GUI provided on their
`Macintosh line of computers. The Macintosh GUI includes
`a "desktop' area occupying most of the computer screen, a
`menu bar provided along the top of the screen which
`provides a number of pull-down menus that can be activated
`with a pointing device, such as a mouse or track ball. The
`output of application programs can be displayed on the
`screen within a "window' which can cover part or all of the
`desktop. The menu bar, however, is always visible and will
`always display certain system required functions regardless
`of which application program is currently active.
`When multiple windows are open on the screen, it can, at
`times, become confusing as to which application is currently
`active and which application is being controlled by the menu
`bar. For example, even though the Macintosh GUI causes a
`title bar associated with an active window to have a distinc
`tive shading, users still sometimes mistake a non-active
`window for the active window and try to operate on the
`non-active window with the menu bar.
`Some graphical user interfaces, such as X-window and
`some graphical UNIX user interfaces, permit multiple active
`windows on a computer screen. While such systems are
`advantageous in that several application programs can be
`run at the same time, the user interface becomes more
`complex since each application program can provide its
`own, idiosyncratic interface to a user. This added complexity
`decreases user efficiency and increases learning time.
`In view of the foregoing, it would be desirable to have
`similar user interfaces associated with any application pro
`gram window which might be displayed on a screen. With
`such an system, it would be immediately clear which appli
`cation was being acted upon, and user efficiency would be
`increased due to standardization of the interface.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`SUMMARY OF THE INVENTION
`The present invention overcomes the disadvantage of the
`prior art with a "status bar' which is attached to open
`application windows. Since the status bar is attached directly
`to the application window, there is no ambiguity as to which
`window that status bar controls. Furthermore, the status bar
`has a common format to provide a more uniform graphical
`user interface for the user of the computer system.
`A status bar in accordance with the present invention
`includes a status bar template generated independently of an
`application program which is displayed on a computer
`screen in contact with an application window. The status bar
`template carries at least one active area. The active area can
`include an icon which, if activated, can control an operation
`of the application program. The active area can also be used
`
`55
`
`65
`
`5,588,105
`
`2
`to display information derived from the application pro
`gram, display information derived from the computer sys
`tem ("global information'), or control a function of the
`computer system (“global control').
`A method for providing a status bar includes the steps of
`creating a status bar template having at least one area to be
`activated; activating the area to create a status bar for that
`application; and displaying the status bar on a computer
`Screen in contact with an associated application window.
`The step of creating a status bar template can include
`creating a number of alternative status bar templates, in
`which case an additional step of selecting one of the status
`bar templates is performed. Again, the active area can
`control a function of the application program, display infor
`mation from the application program, display global infor
`nation, or it can control a function outside of the application
`program.
`A major advantage of the present invention is that the
`status bar is attached directly to an application window so
`there is no ambiguity as to which application program that
`status bar controls. Another advantage of the status bar is
`that it can be configured by the application program with
`application specific features. Furthermore, the status bar
`ensures a common graphical user interface which makes the
`status bar functions easy to learn and use.
`
`BRIEF DESCRIPTION OF THE INVENTION
`FIG. 1 is a block diagram of a computer system in
`accordance with the present invention;
`FIG. 2 is a top plan view of the screen, case, and keypad
`of the computer system of FIG. 1;
`FIG. 3 illustrates a first screen display showing a pop-up
`window with a status bar;
`FIG. 4 is a view of the screen where a pop-up window has
`been activated from the status bar;
`FIG. 5 is a view of the screen where a second window has
`been opened with an associated status bar;
`FIG. 6 is a flow diagram of a method for providing a status
`bar in accordance with the present invention;
`FIG. 7 is a flow diagram illustrating, in greater detail, the
`"Couple Status Bar” step of FIG. 6;
`FIGS. 8a–8b illustrate several status bar templates;
`FIG. 9 illustrates the "Fill Areas” step 130 of FIG.7;
`FIG. 10 is a flow diagram illustrating the "Create a New
`Area” step 156 of FIG. 9;
`FIG. 11 illustrates a completed status bar object;
`FIGS. 12A and 12B illustrates the "Install New Area” step
`158 of FIG. 9;
`FIG. 13 is a flow diagram illustrating the "Do Status Bar
`Action” step 118 of FIG. 6.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`The present invention is well suited for pointer based
`computer systems such as the pen-based, stylus-based and
`mouse driven systems that are currently popular. For the
`purposes of illustration, the invention will be described in
`connection with a pen-based system. However, the present
`invention is well suited to any computer system using a
`window-type graphical user interface (GUI), or for non
`window interfaces where a common user interface for
`application programs is desired.
`
`13
`
`

`

`5,588,105
`
`10
`
`3
`As shown in FIG. 1, a pen-based computer system 10 in
`accordance with the present invention includes a central
`processing unit (CPU) 12, read only memory (ROM) 14,
`random access memory (RAM) 16, input/output (I/O) cir
`cuitry 18, and a display assembly 20. The pen-based com
`puter system 10 may also optionally include a mass storage
`unit 22 such as a disk drive unit or nonvolatile memory such
`as flash memory, a keypad 24, and a clock 26.
`The CPU 12 is preferably a commercially available,
`single chip microprocessor. While CPU 12 can be a complex
`instruction set computer (CISC) chip, it is preferable that
`CPU 12 be one of the commercially available, reduced
`instruction set computer (RISC) chips which are known to
`be of generally higher performance than CISC chips. CPU
`12 is coupled to ROM 14 by a unidirectional data bus 28.
`15
`ROM 14 contains the basic operating system for the pen
`based computer system 10. CPU 12 is connected to RAM 16
`by a hi-directional data bus 30 to permit the use of RAM 16
`as scratch pad memory. ROM 14 and RAM 16 are also
`coupled to CPU 12 by appropriate control and address
`busses, as is well known to those skilled in the art. CPU 12
`is also coupled to the I/O circuitry 18 by bi-directional data
`bus 32 to permit data transfers with peripheral devices.
`I/O circuitry 18 typically includes a number of latches,
`registers and direct memory access (DMA) controllers. The
`purpose of I/O circuitry 18 is to provide an interface between
`CPU 12 and such peripheral devices as display assembly 20,
`mass storage 22, and the keypad 24.
`Clock 26 provides a series of clock pulses and is typically
`coupled to an interrupt port of CPU 12 by a data line 34. The
`clock pulses are used to time various functions and events
`relating to the computer system 10. The clock 26 can be
`eliminated and the clock function replace by a software
`clock running on CPU 12, but this tends to be a wasteful use
`of CPU processing power. In the present invention, clock 26
`provides clock pulses at 60 hertz (Hz).
`Display assembly 20 of pen-based computer system 10 is
`both an input and an output device. Accordingly, it is
`coupled to I/O circuitry 18 by a bi-directional data bus 36.
`When operating as an output device, the display assembly 20
`receives data from I/O circuitry 18 via bus 36 and displays
`that data on a suitable screen. The screen for display
`assembly 20 is preferably a liquid crystal display (LCD) of
`the type commercially available from a variety of manufac
`turers. The input device of display assembly 20 is preferably
`a thin, clear membrane which covers the LCD display and
`which is sensitive to the position of a stylus 38 on its surface.
`These position sensitive membranes are also readily avail
`able on the commercial market. Combination display assem
`blies such as display assembly 20 which include both the
`LCD and the input membrane are commercially available
`from such vendors as Scriptel Corporation of Columbus,
`Ohio.
`The keypad 24 can comprise an array of switches. In the
`present embodiment, the keypad 24 comprises mechanical
`buttons which overlie the bottom edge of the membrane
`which covers the LCD display. When the buttons are
`depressed, the membrane senses the pressure and commu
`nicates that fact to the CPU 12 via I/O 18.
`60
`Other types of pointing devices can also be used in
`conjunction with the present invention. While the method of
`the present invention is described in the context of a pen
`based system, other pointing devices such as a computer
`mouse, a track ball, or a tablet can be used to manipulate a
`pointer on a screen of a general purpose computer. There
`fore, as used herein, the terms "pointer", "pointing device',
`
`50
`
`4
`"pointing means”, and the like will refer to any mechanism
`or device for pointing to a particular location on a screen of
`a computer display.
`Some type of mass storage 22 is generally considered
`desirable. However, the mass storage 22 can be eliminated
`by providing a sufficient amount of RAM 16 to store user
`application programs and data. In that case, the RAM 16
`could be provided with a backup battery to prevent the loss
`of data even when the pen-based computer system 10 is
`turned off. However, it is generally desirable to have some
`type of long term storage 22 such as a commercially
`available miniature hard disk drive, nonvolatile memory
`such as flash memory, battery backed RAM, PC-data cards,
`or the like.
`In operation, information is input into the pen-based
`computer system 10 by "writing" on the screen of display
`assembly 20 with the stylus 38. Information concerning the
`location of the stylus 38 on the screen of the display
`assembly 20 is input into the CPU 12 via I/O circuitry 18.
`Typically, this information comprises the Cartesian (i.e. x &
`y) coordinates of a pixel of the screen of display assembly
`20 over which the tip of the stylus is positioned. Commer
`cially available combination display assemblies such as the
`aforementioned assemblies available from Scriptel Corpo
`ration include appropriate circuitry to provide the stylus
`location information as digitally encoded data to the I/O
`circuitry of the present invention. The CPU 12 then pro
`cesses the data under control of an operating system and
`possibly an application program stored in ROM 14 and/or
`RAM 16. The CPU 12 next produces data which is output to
`the display assembly 20 to produce appropriate images on its
`SCeel.
`In FIG. 2, the pen-based computer system 10 is shown
`housed within a generally rectangular enclosure 40. The
`CPU 12, ROM 14, RAM 16, I/O circuitry 18, mass storage
`22, and clock 26 are preferably fully enclosed within the
`enclosure 40. The display assembly 20 is mostly enclosed
`within the enclosure 40, but a viewing screen 42 of the
`display assembly is exposed to the user. As used herein, the
`term "screen” will refer to the portion of the display assem
`bly 20 which can display an image that can be viewed by a
`user. Also accessible to the user is the keypad 24.
`Upon power-up, pen based computer system 10 displays
`on screen 42 an initial note area Nincluding a header bar B
`and a number of guidelines 44. The header bar B preferably
`includes the date of creation 46 of the note N, a note number
`48, and a "toolbox' button 50 represented by a toolbox icon.
`The optional guidelines 44 aid a user in entering text,
`graphics, and data into the pen-based computer system 10.
`In this preferred embodiment, the keypad 24 is not a part
`of the viewing screen 42 but rather, is a permanent array of
`input buttons coupled to the CPU 12 by I/O circuitry 18.
`Alternatively, the keypad 24 could comprise "soft buttons'
`generated at a convenient location on the screen 42, in which
`case a "button” would be activated by touching the stylus to
`the screen over the image of the button. The keypad 24
`preferably includes a number of dedicated function buttons
`52 and a pair of scroll buttons 54A and 54B. The operation
`of the scroll buttons 54A and 54B, and other aspects of
`computer system 10 are discussed in greater detail in co
`pending U.S. patent application Ser. No. 07/868,013, filed
`Apr. 13, 1992, now U.S. Pat. No. 5,398,310, on behalf of
`Tchao et al. and entitled "Method for Manipulating Notes on
`a Computer Display'. That application is assigned to the
`assignee of the present application and its disclosure is
`hereby incorporated by reference in its entirety. In this
`
`20
`
`25
`
`30
`
`35
`
`45
`
`55
`
`65
`
`14
`
`

`

`S
`embodiment, the toolbox button 50 is represented as a "soft
`button' in the header bar B. However, in alternative embodi
`ments, a permanent, hardwired keypadbutton could be used
`in its place.
`The screen illustrated in FIG. 2 is referred to as the
`"notepad', and is an application program running under the
`operating system of the pen based computer system 10. In
`this preferred embodiment, the notepad is a special or "base'
`application which is always available beneath higher level
`applications. The notepad application, like other applica
`tions, run within a window, which in this instance comprises
`the entire viewing screen 42. Therefore, as used herein, a
`"window' is the entire screen or any portion of an entire
`screen which is dedicated to a particular application pro
`gram.
`A status bar 56 is provided at the bottom of the notepad
`application. The status bar 56 is provided with a number of
`active areas including a real time clock 58, a view button 60,
`a font button 62, a formulas button 64, a text button 66, a
`graphics button 68, and a nib button 70.
`The real time clock 58 is an example of a "global' active
`area which derives information or controls of function not
`necessarily associated with the application window to which
`it is attached. The buttons 60 and 62 are examples of active
`areas which provide indirect control over the notepad func
`tion. For example, pressing the font button 62 will pop up a
`window providing a selection of fonts which can be used
`when writing within the notepad window. Buttons 64-70 are
`examples of active areas which provide direct control over
`the notepad application. For example, the button 70 controls
`the nib size of the "ink” produced by the stylus within the
`application window area. Buttons 64–68 aid in recognizing
`writings made in the window area.
`FIG. 3 illustrates a window produced by a "cardfile'
`application program. U.S. patent application Ser. No.
`07/955,839 filed Oct. 2, 1912, now U.S. Pat. No. 5,446,882,
`on behalf of Capps et al., entitled "Computerized Database
`With Card & List Interface' and assigned to the assignee of
`the present invention describes the operation of such a
`cardfile application, and is incorporated herein in its entirety
`by reference.
`In FIG. 3, the screen 42 is provided with a window 72
`associated with the card file application. In this instance, the
`window assumes the size and shape of a business card and
`displays the name, company and telephone number of a Mr.
`Gregg Foster. It should be noted that the window 72 is
`considerably smaller than the screen 42 in this example,
`leaving the possibility of additional windows being opened
`on the screen 42 in an overlapping or non-overlapping
`fashion.
`Status bar 74 is attached to the bottom of window 72 by
`the process of the present invention. The status bar 74
`includes a number of active areas including a close box 76,
`a real time clock 78, a filter button 80, a "more' button 82,
`a "new' button 84, and a routing slip 86. The close box 76
`is an active area which permits the card file application to be
`closed, i.e. is either "made invisible' or is completely
`deactivated. The real time clock 78 is, once again, an active
`area carrying global information which is not necessarily
`associated with that particular application. The filter button
`80 does not act directly upon the card file application but,
`rather, pops up a menu of filter parameters (e.g., business,
`personal, etc.) and permits a user to choose one of the filters
`to act upon the application program. The more button 82 is
`an active area which controls the card file application
`program to permit more or less information to be displayed
`
`30
`
`35
`
`45
`
`50
`
`55
`
`60
`
`65
`
`5,588,105
`
`O
`
`15
`
`20
`
`25
`
`6
`on the screen 42. The new button 84 is an active area which
`permits a new "business card' to be entered into the card file
`application.
`The function of the routing slip button 86 will be dis
`cussed in greater detail with reference to FIG. 4. When a user
`presses the routing slip button 86, a window 88 pops up from
`the status bar 74 to provide a list of options concerning the
`desired disposition of the information displayed within
`window 72. For example, the information in window 72 can
`be faxed by pressing on "fax” within window 88, can be
`deleted by pressing "trash” within window 88, etc.
`FIG. 5 illustrates the result if "fax' is chosen from
`window 88 of FIG. 4. The selection of "fax' within the
`window 88 starts an application program which is provided
`with a floating window 90 which partially overlies the
`window 72 of the card file application. The window 90
`includes a number a fields to be filled in by the user
`including a who, what, where, and a number field. The
`window 90 also permits the user to indicate the format of the
`facsimile, which in this case, is "card'.
`Attached to the bottom of the fax application window 90
`is a status bar 92. The status bar has four active areas
`including a closing box 94, an information area 96, a
`preview button 98, and a "do it" button 100. The close box
`94 operates as in previous examples, i.e., it closes the
`window 90 for the fax application program. The information
`area 96 displays information concerning the fax application;
`in this case, it displays the title of the application program.
`Preview button at 98 permits a preview of the image that is
`to be faxed, and the do it button 100 starts the faxing process.
`If a user activates the closing box before activating the do it
`button, the fax will not be sent.
`FIG. 6 illustrates a flow diagram of a process 102 for
`providing a status bar for application windows. The process
`begins at 104 and starts a new application program in a step
`106. Next, in a step 108, a status bar is coupled to the
`application program window. After the status bar is coupled
`to the application program window, the application program
`window with status bar is displayed on a computer screen in
`a step 110. Next, in a step 112, the process determines
`whether there is any feedback from the application program
`to the status bar. If there is, the appropriate area oil the status
`bar is updated in a step 114. If there is no application
`feedback, is determined whether there is any status bar
`action in a step 116. If there is, then the status bar action is
`processed in a step 118. If there is no status bar action
`detected in step 116, then it is determined whether if there
`was an button action in step 120. If so, then the button action
`is processed in the step 122. If there is no application
`feedback (step 112), status bar action (step 116), or button
`action (step 120) then process control is returned to step 110
`or the application program continues to be displayed on the
`screen. After the completion of steps 114, 118, and 122,
`process control is also returned to step 110.
`It should be noted that the flow diagram of FIG. 6 is a
`conceptual representation of the functioning of the process
`of the present invention, but that the process can be imple
`mented in a variety of manners. For example, the process
`steps 112, 116, and 120 are preferably accomplished in
`parallel within the context of a "view system'. In such a
`view system, various "views” or "objects' are stacked on top
`of each other, like pages of paper on a desktop. These views
`include a root view (such as the notepad) and virtually any
`number of views (within the limitations of the system)
`stacked on top of the root view.
`The view system is a software routine which returns two
`pieces of information when the screen "tapped' by a stylus.
`
`15
`
`

`

`7
`A first piece of information returned which view or "object”
`was tapped. The second piece of information returned is the
`position of the tap on the tapped view. This location infor
`mation is often returned in the form of Cartesian (x-y)
`coordinates. The view system therefore handles much of the
`routine input work for the computer system. Taps by stylus
`on non-active areas of the screen can be ignored by the view
`system. Likewise, inappropriate inputs on active areas of the
`screen can be ignored or can generate error conditions which
`may or may not be acted upon by the system.
`The flow diagram of FIG. 7 illustrates the "Couple Status
`Bar” step 108 of FIG. 6 in greater detail. The process starts
`at 124, and in a step 126 the application obtains a status bar
`template. The application determines whether there are any
`areas to fill in the template in a step 128 and, if there are, it
`fills the areas in a step 130. If there are not any areas to fill
`in step 128 or after the completion of step 130, the step 108
`is completed as indicated at 132.
`FIGS. 8A-8D illustrate a collection of templates which
`can be used by different application programs. These tem
`20
`plates are preferably provided in the form of "objects'. As
`is well known to software programmers, an "object' is a
`logical software unit comprising data and processes which
`give it capabilities and attributes. For example, an object can
`be queried as to its type and can return such data as the
`number of words that it contains. Objects can contain other
`objects of the same or of a different type. Objects can also
`be used to project images on a screen according to their
`object type. There are many well know texts which describe
`object oriented programming. See, for example, Object
`Oriented Programming for the Macintosh, by Kurt J. Sch
`mucher, Hayden Book Company, 1986.
`In FIG. 8A, a generic or base template 134 is simply
`defined by a height H and a width W. An application
`program can provide any desired active areas it wishes
`anywhere in contact with the template 34.
`In FIG. 8B, a template 136 which is used by the notepad
`application has one predefined active area 138 correspond
`ing to the real time clock. Therefore, every time that the
`notepad application is opened, the status bar associated with
`the notepad application window will necessarily include real
`time clock 138. Other active areas can be specified by the
`notepad application.
`In FIG. 8C, another template 140 is provided with two
`predefined active areas 142 and 144 corresponding to a close
`box and a real time clock, respectively. This template 140 is
`associated with such applications as the aforementioned card
`file application.
`In FIG. 8D, a template 146 is provided with two pre
`defined active areas 148 and 150. This template 146 is
`associated with the routing slip and active area 148 is the
`close box and area 150 is a mandatory information area. The
`remaining portions of the template 146 can be filled in as
`desired by the routing slip application.
`Preferably, there are a number of different, specialized
`status bar templates available to various applications. Alter
`natively, a single, generic status bar template can be pro
`vided, at the cost of increased work in each application
`program to customize the status bar for its own use. There
`fore, the step 126 of FIG.7 can comprise either choosing one
`of a plurality of templates or choosing the only template that
`is provided.
`FIG. 9 is a flow diagram illustrating the "Fill Areas' step
`130 of FIG. 7 in greater detail. The step 130 begins at 152
`and asks in a step 154 whether all the areas have been filled.
`In the first time through the loop of step 130, the answer for
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`5,588,105
`
`10
`
`15
`
`25
`
`30
`
`35
`
`8
`this would, of course, be 'no'. In this instance a new area
`would be created in step 156 and the new area would be
`installed in a step 158. Process control is then returned to
`step 154. When all areas have been filled, the step 130 is
`completed as indicated at 160.
`In FIG. 10, the step 156 "Create a New Area” of FIG. 9
`is illustrated in greater detail. The step 156 begins at 162 and
`a step 164 determines whether a button is to be created. If
`so, a button template is obtained in a step 166, and is
`customized in a step 168. The process would then be
`completed as indicated at 170. If step 164 determines that a
`button is not to be created, a step 172 determines whether a
`label is to be created. If so, a text template is obtained in a
`step 174, the text template is customized in a step 176, and
`the step 156 is completed as indicated at 170. If neither a
`button or label is to be created, a step 178 determines
`whether there are any other types of areas to be created. If
`so, a template is retrieved in a step 180 and customized in
`a step 182. If step 178 determines that there are not any other
`areas to create or after the completion of step 182, the step
`156 is completed as indicated at 170.
`As seen in FIG. 11, after step 130 of FIG. 9 is completed,
`a status bar 184 is provided including a template 186 and a
`number of active areas 188, 190, 192, 194, 196, and 198.
`The status bar 184 can be handled as a single object
`comprising a template object 186 and a number of button,
`label, or other area objects 188-198. This status bar object
`184 is then ready to be attached or coupled to an application
`program window as indicated in step 108 of FIG. 6.
`Since the status bar 184 has been customized for and
`attached to a par

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket