`Ording
`
`USOO692777OB2
`(10) Patent No.:
`US 6,927,770 B2
`(45) Date of Patent:
`Aug. 9, 2005
`
`(54) INTERFACE PROVIDING CONTINUOUS
`FEEDBACK ON TASK PROGRESS IN A
`COMPUTER OPERATING SYSTEM
`
`(75) Inventor: Bas Ording, Sunnyvale, CA (US)
`(73) Assignee: Apple Computer Inc., Cupertino, CA
`(US)
`
`(*) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 521 days.
`
`(21) Appl. No.: 09/754,052
`(22) Filed:
`Jan. 5, 2001
`(65)
`Prior Publication Data
`US 2001/0055017 A1 Dec. 27, 2001
`Related U.S. Application Data
`(60) Provisional application No. 60/174,613, filed on Jan. 5
`2000.
`2 - - -2
`• - 2
`7
`(51) Int. Cl." ................................................ G06T 13/00
`(52) U.S. Cl. ........................................ 345/440; 345/772
`(58) Field of Search ................................. 345/772, 213,
`345/440
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`5,528,744. A * 6/1996 Vaughton .................... 345/772
`
`5,953,010 A * 9/1999 Kampe et al. .............. 345/772
`6,038,588 A * 3/2000 Nagarajayya et al. ....... 718/102
`6,396,518 B1 * 5/2002 Dow et al................... 345/772
`6,492.983 B2 * 12/2002 Nishitani et al. ........... 34.5/213
`OTHER PUBLICATIONS
`Stopwatch Pointer: A Dynamic Progress Indicator, Jun.
`1992, IBM, Technical Disclosure Bulletin NB920649.*
`Apple Computer Inc., Application Kit Reference, 1997,
`Apple Computer Inc., pp 1-7.*
`* cited b
`cited by examiner
`Primary Examiner Almis R. Jankus
`(74) Attorney, Agent, or Firm-Burns Doane Swecker &
`Mathis, LLP
`ABSTRACT
`(57)
`A user interface provides continuous feedback to a user
`regarding progreSS toward completion of a task being moni
`tored in a status dialogue window. In one embodiment, the
`progreSS is indicated by a graphic element Such as a progreSS
`bar, whose size is increased to fill a Space of predetermined
`area by an amount corresponding to the percentage of the
`task completed, and a user is provided with feedback indi
`cated that the computer operating System is performing the
`desired task by continuously varying the appearance of the
`progress bar. This provides the user with intuitive feedback
`that, regardless of any delays in the increase of the progreSS
`bar's size, the computer is continuing to perform the desired
`task.
`
`22 Claims, 4 Drawing Sheets
`
`
`
`
`
`BEGIN TASK
`SiO
`
`DRAW STATUS
`DIAt OGLE INDOW
`315
`
`RETRIEWE WARYING PATTERN
`320
`
`INDICATE NUMBER OF
`FIES REMAINING
`325
`
`INDICATE TIME REMAINING
`
`
`
`DETERMINE PERCENTAGE
`OF TASK COMPLETED
`3.35
`
`FIL CORRESPONDING
`PERCENTAGE OF PROGRESS
`BAR SPACE
`WITH WARYING PATTERN
`
`END DISPLAY OF STATUS
`DIALOGUE WINDOW
`355
`
`PayPal Ex. 1042, p. 1
`PayPal v. IOENGINE
`
`
`
`U.S. Patent
`
`Aug. 9, 2005
`
`Sheet 1 of 4
`
`US 6,927,770 B2
`
`
`
`108
`
`
`
`Printer
`106
`
`
`
`Network
`128
`
`FIG. 1
`
`PayPal Ex. 1042, p. 2
`PayPal v. IOENGINE
`
`
`
`U.S. Patent
`
`Aug. 9, 2005
`
`Sheet 2 of 4
`
`US 6,927,770 B2
`
`21O
`211
`212
`Copy to Hard Disk EE 215
`items remaining to be copied
`
`
`
`g: About 5 seconds
`d Time remainin
`
`23O
`
`225
`
`FIG. 2A
`
`
`
`
`
`22O
`
`
`
`
`
`210
`Copy to Hard Disk
`items remaining to be copied
`
`
`
`220
`
`
`
`PayPal Ex. 1042, p. 3
`PayPal v. IOENGINE
`
`
`
`U.S. Patent
`
`Aug. 9, 2005
`
`Sheet 3 of 4
`
`US 6,927,770 B2
`
`210
`Copy to Hard Disk
`items remaining to be copied
`
`22O
`
`2OO
`
`210
`Copy to Hard Disk
`items remaining to be copied
`
`220
`
`
`
`
`
`22O
`
`21O
`Copy to Hard Disk
`items remaining to be copied
`AAAAAAA
`D Time remaining: About 2 seconds
`
`
`
`2OO
`
`FIG. 2F
`
`PayPal Ex. 1042, p. 4
`PayPal v. IOENGINE
`
`
`
`U.S. Patent
`
`Aug. 9, 2005
`
`Sheet 4 of 4
`
`US 6,927,770 B2
`
`BEGIN TASK
`310
`
`DRAW STATUS
`DIALOGUE WINDOW
`315
`
`RETRIEVE WARYING PATTERN
`320
`
`INDICATE NUMBER OF
`FILES REMAINING
`325
`
`
`
`
`
`INDICATE TIME REMAINING
`330
`
`DETERMINE PERCEWIAGE
`OF TASK COMPLETED
`535
`
`
`
`
`
`
`
`
`
`
`
`AILL CORRESPONDING
`PERCEWIAGE OF PROGRESS
`BAR SPACE
`WITH VARYING PATTERN
`540
`
`
`
`
`
`
`
`IS TASK
`COMPLETE?
`545
`YES
`STOP
`350
`
`END DISPLAY OF STATUS
`DIALOGUE WINDOW
`555
`
`FIG 3
`
`PayPal Ex. 1042, p. 5
`PayPal v. IOENGINE
`
`
`
`US 6,927,770 B2
`
`1
`INTERFACE PROVIDING CONTINUOUS
`FEEDBACK ON TASK PROGRESS IN A
`COMPUTER OPERATING SYSTEM
`
`This application claims priority under 35 U.S.C. SS 119
`and/or 365 to 60/174,613 filed in the United States on Jan.
`5, 2000; the entire content of which is hereby incorporated
`by reference.
`
`15
`
`FIELD OF THE INVENTION
`The present invention relates generally to a user interface
`for computer operating Systems, and in one particular aspect,
`to an interface element for notifying a computer user of the
`Status of a task being executed.
`BACKGROUND OF THE INVENTION
`An important aspect of Virtually every conventional per
`Sonal and business computer is its ability to execute com
`mands to perform tasks. One example of this is in the
`transfer and manipulation of data, Such as copying a file
`from one location to another. The information that is to be
`copied on a computer may originate from a variety of
`Sources, for example, a Storage medium used within a hard
`disk drive, a floppy disk drive, a CD ROM drive, a com
`25
`puter's read only memory (ROM), a computer's random
`access memory (RAM), or other Sources, Such as a network
`drive. For instance, during the boot process of a computer,
`operating System files are loaded, i.e. copied, into the main
`working memory of the computer from a permanent Storage
`medium, Such as a hard disk drive. Once it is executing, the
`operating System of the computer may be instructed by the
`user to copy data files from a variety of Sources to multiple
`destinations.
`Many popular operating Systems use a dialogue window
`to indicate the Status of a function being performed by the
`computer. This window may indicate the Status of the
`ongoing task in a variety of manners to the user. One
`example includes illustrating Status using a “progreSS bar,
`which contains a moving bar that grows in Size to indicate
`a percentage of the task either already performed or left to
`be performed. Generally, a progreSS bar is an animation that
`indicates, by filling an empty Space of a fixed size, that a
`certain percentage of a task has been completed, which
`corresponds to the percentage of the Space filled in. Another
`indication mechanism, used to indicate Status of a task to the
`user, may include a numerical indication of the estimated
`amount of time left for the task to be completed.
`One problem with the Status indication given to a user
`during a task is that often the percentage of the task already
`performed, or yet to be performed, does not progreSS in a
`regular manner. This may be the case for a variety of
`reasons. For example, a file may take longer than expected
`to copy because of the time required to access the data on the
`device where it is stored. It may also be possible that the
`computer has a large amount of high priority processor
`intensive applications running concurrently with the task,
`thereby preventing continuous execution of the task. Other
`delays may be caused by communication Speed degradation
`or communication interruptions.
`A problem with progressive Status indicators for various
`tasks is that a status indicator that increases in size corre
`sponding to a percentage of the task that is completed does
`not always appear to increase in a continuous manner to the
`user, due to delays associated with, for example, device
`access time, file transfer time, processor availability or
`communication Speed. In a window designed to indicate
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`Status of a copying function to a user by means of a progreSS
`bar, for instance, the progreSS bar may appear to Stop for
`Some period of time. This may occur even though the
`copying operation is still active, giving the user the incorrect
`impression that copying has been Stopped or delayed. This
`Situation can occur quite often when copying files from a
`remote Site by means of a shared communications medium,
`such as downloading files over the Internet. When a user
`initiates a file copy command, he or she may depend upon
`the progreSS bar to gauge whether or not the copying
`function is being performed correctly. Should the progreSS
`bar Stop, a user may be inclined to believe incorrectly that
`the computer has terminated the copying function and may
`not be responding correctly, thereby motivating the user to
`take unnecessary actions, Such as Stop the task, re-establish
`a connection to a remote site, or restart the computer.
`Accordingly, it is desirable to create a status indicator that
`provides continuous feedback to a user indicating that a task
`Such as copying is being performed, and that this task on the
`computer is not Suspended, requiring action on the part of
`the user. It is also desirable to provide this feedback in a
`manner intuitive to a user, Such that it will be easy for the
`user to understand the computer is Still performing the
`desired function or task which the Status indicator is moni
`toring.
`
`SUMMARY OF THE INVENTION
`In accordance with the present invention, these objectives
`are achieved by a user interface that provides continuous
`feedback regarding a function or task being performed by a
`computer's operating System. This feedback is provided by
`means of an interface element that changes size and/or shape
`as portions of the task are completed, Such as a progreSS bar.
`In addition to the physical changes that are related to the
`State of completion of the task, the element is animated to
`continuously change its appearance independently of the
`State of completion, indicating to a user that the computer is
`performing the desired function being monitored by a Status
`dialogue window. The animation is continuous despite the
`fact that the rate at which the Size or shape of the element
`changes, indicating the percentage of the task that has
`already been completed, may be slowed or even Stopped. In
`this manner, if a progreSS indicator is Stalled because of
`problems with communication Speed or interruptions, device
`access time, or overall processor load, a user is able to
`determine that the desired function or task being monitored
`by the Status dialogue window is still currently being per
`formed by the computer.
`Further features of the invention and the advantages
`offered thereby are explained in greater detail hereinafter
`with reference to specific embodiments illustrated in the
`accompanying drawings.
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 is an exemplary computer System in which the
`System and method of the present invention may be
`employed.
`FIGS. 2A-2F are a series of user dialogue windows with
`an animated progreSS bar in accordance with one embodi
`ment of the present invention.
`FIG. 3 is a flowchart of the method performed by one
`embodiment of the present invention.
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`To facilitate an understanding of the principles and fea
`tures of the present invention, it is explained hereinafter with
`
`PayPal Ex. 1042, p. 6
`PayPal v. IOENGINE
`
`
`
`US 6,927,770 B2
`
`15
`
`25
`
`35
`
`55
`
`60
`
`65
`
`3
`reference to its implementation in an illustrative embodi
`ment. In particular, the invention is described in the context
`of a file copy status dialogue window within the Macintosh(R)
`operating system (Mac OS(R) developed by Apple
`Computer, Inc. It will be appreciated, however, that this is
`not the only embodiment in which the invention can be
`implemented. Rather, it can be employed to represent the
`ongoing nature of any type of task, and be utilized in
`conjunction with a variety of different types of progreSS
`indicators, as will become apparent from an understanding
`of the principles which underScore the invention.
`An exemplary computer System of the type in which the
`present invention can be employed is illustrated in block
`diagram form in FIG.1. The structure of the computer itself
`does not form part of the present invention. It is briefly
`described here for Subsequent understanding of the manner
`in which features of the invention cooperate with the Struc
`ture of the computer.
`Referring to FIG. 1, the system includes a computer 100
`having a variety of external peripheral devices 108 con
`nected thereto. The computer 100 includes a central pro
`cessing unit 112, a main memory which is typically imple
`mented in the form of random access memory (RAM) 118,
`a static memory that comprises a read only memory (ROM)
`120, and a permanent Storage device, Such as a magnetic or
`optical disk 122. The CPU 112 communicates with each of
`these forms of memory through an internal bus 114. The
`peripheral devices 108 includes a data entry device such as
`a keyboard 124, and a pointing or cursor control device 102
`Such as a mouse, trackball, trackpad or the like. A display
`device 104, Such as a CRT monitor or an LCD Screen,
`provides a visual display of the information that is being
`processed within the computer, for example the contents of
`a document, or the progress of a function or task. A hard
`copy of documents can be provided through a printer 106, or
`a similar device. Each of these external peripheral devices
`communicates with the CPU 112 by means of one or more
`input/output ports 110 on the computer. Input/output ports
`110 also allow the computer 100 to interact with a local area
`40
`network server or an external network 128, Such as a LAN
`or WAN, or the Internet 130.
`The computer 100 includes an operating system, which
`controls the allocation and usage of the hardware resources
`Such as memory, central processing unit time, disk Space,
`45
`and peripheral devices. The operating System of the com
`puter 100 allocates the various resources of the computer to
`functions or tasks required by the various devices, for
`instance when a user inputs a request by way of one of the
`peripheral devices 108. As previously mentioned, the oper
`ating System may control central processing unit time, which
`in the event of multiple, concurrent tasks or functions being
`run, may cause various individual functions having a rela
`tively low priority to be slowed or suspended.
`When a function or task is being performed, the operating
`System of the computer 100 may display a Status dialogue
`window to indicate to a user the progress of the task as it is
`being completed. Two common situations in which a status
`window is displayed are when the computer is first starting
`up, and when files are being copied or moved into or from
`a memory device, Such as the disk 122. For a copying
`operation, the Status dialogue window may be of the type
`shown in FIG. 2A.
`AS can be seen in FIG. 2A, the window 200 has various
`features relating to the performance of the task of interest.
`For example, the window 200 includes a title bar 210 to
`display a title 211, in this case the function being performed.
`
`50
`
`4
`The title bar 210 also may contain various on-screen buttons,
`such as a resizing button 212 to selectively hide the window
`from view or minimize its size. The dialogue window 200
`displays the Status of a task to be completed, in this instance
`a copying function, in Several different ways. One way is
`that an indicator 215 of the number of items remaining to be
`copied can be displayed. Also a progreSS bar 220 expands
`within a Space of fixed size 222 as the task is being carried
`out, thereby indicating a percentage of a task already com
`pleted. This percentage might be determined relative to the
`total number of files to be copied, or relative to the total
`amount of processor time needed to make the copies.
`Additionally, the estimated time 225 remaining to complete
`the task can be displayed to the user. On-Screen buttons for
`various commands may be provided within the dialogue
`window Such as a stop button 230 to interrupt the task
`currently being performed by the operating System.
`The task status window depicted in FIG. 2A is represen
`tative of “thermometer' type status indicators, in which the
`progreSS bar 220 grows linearly within the Space 222 to
`indicate the percentage of the task which has been com
`pleted. Other types of progreSS indicators having an element
`which changes size and/or shape to depict the progression of
`the task can be employed within the context of the invention
`as well. Examples of Such include a "pie-chart' type of
`indicator, in which radial slices are added to or removed
`from a circular object as the task progresses, and an
`hourglass-type of indicator in which “sand” shifts from the
`top to the bottom of a Space. It will be appreciated, therefore,
`that the status indicator of FIG. 2A is exemplary of a variety
`of different types of indicators that can be utilized.
`FIGS. 2A-2D represent the state of the status window at
`Sequential times during the performance of the task. For the
`various reasons discussed previously, the progreSS bar may
`not regularly increase to fill a greater portion of the Space
`222 during a period of time while the task is being carried
`out. When the progreSS bar 220 stops increasing in size, a
`user may be led to believe that the function being performed
`by the operating System, in this case copying, has been
`halted, or that the computer is in a locked State. Such a belief
`may prompt the user to Stop the present function by use of
`the on-Screen Stop button 230, and to restart the operation.
`However, in Some cases this may be premature and waste
`time, and if a user were aware of the fact that the present task
`is still being performed, he or she would likely not feel a
`need to interrupt the task.
`In order to prevent the premature interruption of a task by
`a user because of a Stalled progreSS bar 220, in accordance
`with the invention continuous feedback may be used to
`inhibit the user from incorrectly assuming that the desired
`task being monitored by the dialogue window is no longer
`being performed. As shown in FIGS. 2A-2F, the progress
`bar 220 includes a varying pattern to provide this continuous
`feedback. In the particular example of FIGS. 2A-2D, this
`varying pattern is a sinusoidal wave form which changes
`over time. In this case, the Sinusoidal wave form appears to
`continuously oscillate within the progreSS bar 220, e.g. the
`pattern moves from right to left. This provides feedback to
`the user that the computer is Still performing the desired task
`indicated in the Status window, even if the particular param
`eter indicated by the progreSS bar is currently delayed, for
`whatever reason. In this manner, a user, while noting that the
`progreSS bar 220 has temporarily ceased to fill the Space 222,
`will see the variation in the appearance of the progreSS bar
`220 itself, and realize that the computer is still actively
`attending to the desired task.
`It will be appreciated that the variation of the progreSS
`bar's appearance may take on many forms, of which the
`
`PayPal Ex. 1042, p. 7
`PayPal v. IOENGINE
`
`
`
`US 6,927,770 B2
`
`S
`sinusoidal wave form shown in FIGS. 2A-2F is just one. For
`example, the pattern of the progreSS bar 220 can be varied
`Such that it changes colors over time or it could vary through
`a progression of gray Scale patterns. The progreSS bar may
`vary in Such a manner that it appears to “fill up' with pixels
`in an increasingly darkened gray Scale pattern changing
`from a light gray to black, and then reverse. Different
`animation patterns can be Selected in accordance with dif
`ferent Selectable appearances, or “themes, for a desktop, as
`described in U.S. Pat. No. 5,959,624, for example. Each
`different theme can have a different respective pattern that is
`displayed in the area of the progreSS bar 220 to provide
`continuous animation.
`The variation of the pattern on the progress bar 220 is
`continuous and independent of whether the progreSS bar's
`length is Stationary or increasing. This result is preferably
`accomplished in a multitasking environment, using Separate
`threads, or processes, to perform the task of interest and the
`display of progreSS, respectively. When a task is initiated,
`Such as a copying or downloading operation, two threads are
`launched. One thread performs the actual copying operation
`itself, and provides updates on the progreSS of the task, e.g.
`the percentage which is completed and/or the estimated time
`remaining. The Second thread controls the display of the
`Status indicator, and receives the updates from the first
`thread to change the length of the progreSS bar 220 accord
`ingly. This Second thread also controls the pattern displayed
`within the area of the progress bar 220, independently of the
`first thread. For instance, the Second thread can register to
`receive clock ticks from the computer's CPU, and can shift
`the pattern within the area of the progreSS bar 220 one pixel
`to the left at a specified rate. For instance, the shift can occur
`every thirtieth of a Second, to thereby provide animation at
`a normal frame rate. Thus, as depicted in FIGS. 2A-2D, the
`progress bar 220 and the numerical indicator 215 are static
`for a period of time, for example while waiting for a remote
`server to deliver the next file. However, the sinusoidal
`pattern within the progreSS bar continues to oscillate,
`thereby informing the user that the task is still active. Then,
`as depicted in FIGS. 2E and 2F, as the copying resumes and
`the percentage of the completed task increases, the progreSS
`bar moves to the right, in response to information from the
`first thread. During this time the Sinusoidal pattern continues
`to oscillate as well, in response to the clock tickS.
`If the task becomes inactive, e.g. the computer Stalls or the
`copying operation times out, the variation of the pattern will
`Stop. This provides positive feedback to the user that a
`problem has occurred, and remedial action should be taken,
`e.g. click on the stop button 230 or reboot the computer.
`FIG. 3 is a flowchart showing the method by which
`continuous feedback is presented to a user, by way of
`varying the appearance of a progreSS bar in a Status window
`Such as the window shown in FIGS. 2A-2F. AS can be seen
`in step 310 of FIG. 3, a task is typically begun in response
`to an event, Such as user input from the cursor control device
`102 or keys on the keyboard 124. This event initiates the
`launching of the two threads, discussed previously. Once the
`task is begun, a status dialogue window is drawn by one of
`the threads, as shown in step 315. At step 320, the operating
`System retrieves the pattern that is to be used for the progreSS
`bar 220. The pattern can comprise a Sequence of Successive
`images, or a Single image that can be translated within a
`defined area to create the impression of an animation. In the
`case of a multi-image Sequence, when the pattern is first
`retrieved, a System indeX points to the first image in the
`Sequence. Each time a predetermined event occurs, e.g. the
`computer's internal clock is updated, the indeX is incre
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`mented by the thread to point to the next image in the
`Sequence. For a single image implementation, a reference
`location for the image can be shifted by one pixel. These
`processes continue in a cyclic manner, to thereby vary the
`pattern.
`The parameter that is used to measure the progreSS of the
`task is obtained from the other thread that is running. For
`instance, if the task is a copying operation, the number of
`files to be copied can be used. Hence, in step 325 the number
`of files remaining to be operated on by the current task is
`indicated. The approximate amount of time remaining is
`estimated and indicated to the user in step 330. In step 335,
`the completed percentage of the task is calculated, and at
`Step 340 the corresponding percentage of the Space 222 is
`filled with the image identified by the index pointer, to
`indicate the progreSS bar. Since the indeX is continually
`updated in accordance with the System clock, the resulting
`pattern of the progreSS bar appears to constantly vary,
`regardless of its length.
`A decision is made at step 345 whether the task is
`complete as reported by the other thread. If the task is not
`complete, then the indicative parameter is measured and
`displayed at Step 325, the time remaining is updated at Step
`330 and the percentage of the task completed is recalculated
`at step 335. The space provided for the progress bar is
`further filled, as shown at step 340, with the varying pattern
`corresponding to the percentage of the task completed, as
`determined at step 335. If the task is completed, then the task
`is stopped at step 350 and the status dialogue window is no
`longer displayed, as shown in step 355. Both threads are then
`terminated. It will be recognized by those skilled in the art
`that the task being monitored by the status dialogue box may
`be stopped, and the Status dialogue window closed, by the
`user pressing an on-Screen button to request that the task be
`stopped, such as the stop button 230 shown in FIGS. 2A-2F.
`In the method described in conjunction with FIG. 3,
`various indicators of the progreSS of the task being per
`formed are shown to the user. For example, the number of
`files remaining to be operated on, the time remaining, and
`the percentage of the task completed are all shown in the
`Status dialogue window. It will be recognized by those
`skilled in the art, however, that the progreSS bar alone may
`be sufficient. Furthermore, a variety of different indicators,
`including various graphical representations which change
`Size and/or shape to represent the State of completion of the
`task, may be shown within the Status dialogue window, and
`are encompassed by the method of the present invention, in
`that they too can be given a continuously varying appear
`ance to provide continuous feedback to the user that the task
`is being performed by the computer operating System.
`It will be appreciated by those of ordinary skill in the art
`that the present invention can be embodied in other specific
`forms without departing from the Spirit or essential charac
`teristics thereof. For example, the invention has been
`described in the context of a dialogue window indicating the
`Status of a copying task or function by varying the pattern of
`a progreSS bar within a status dialogue window. The par
`ticular type of variation within the Status dialogue window,
`however, is not critical to the operation of the present
`invention, nor is the type of computer or operating System
`within which it is implemented. For example, a varying
`pattern could appear in the unfilled Space 222, in lieu of or
`in addition to the pattern on the progress bar 220. Moreover,
`the type of task or function whose Status is indicated to a user
`by way of the varying pattern within a Status dialogue
`window is not critical to the invention. For illustration
`purposes only, a copying function has been described in
`
`PayPal Ex. 1042, p. 8
`PayPal v. IOENGINE
`
`
`
`US 6,927,770 B2
`
`7
`accordance with one embodiment of the present invention.
`However, a variety of different types of tasks being per
`formed by the operating System, whose Status is indicated to
`the user by way of a Status dialogue window, can utilize the
`continuous feedback of a varying Status indicator. Some
`Such functions or tasks may include, but are not limited to
`the progreSS of downloading files within a network or on the
`Internet, the installation of various programs on a particular
`computer, the loading of an application within the operating
`System of a computer, or the establishing of a computer-to
`computer network connection.
`The varying pattern can also be used to provide an
`aesthetically pleasing effect on various control elements. For
`instance, one control element that is frequently accessed by
`users is the movable portion, or “thumb' on a scroll bar, for
`Viewing different portions of a window. In accordance with
`another aspect of the invention, a varying pattern can be
`applied to the area of the thumb, to more readily call the
`user's attention to it.
`The presently disclosed embodiments are therefore con
`sidered in all respects to be illustrative and not restrictive.
`The Scope of the invention is indicated by the appended
`claims, rather than the foregoing description, and all changes
`that come within the meaning and range of equivalents
`thereof are intended to be embraced therein.
`What is claimed is:
`1. A System for notifying a user of the Status of a task
`being performed on a computer, comprising:
`at least one Status indicator contained within a status
`dialogue window, wherein Said Status indicator
`includes an element that changes at least one of Size or
`shape to visibly indicate the state of completion of the
`task, and
`a pattern that is displayed concurrently with Said element
`and continuously varied independently of Said State of
`completion to indicate to a user that the task is currently
`active, wherein Said task is carried out in a multitasking
`environment, and wherein operations to complete the
`task are performed by a first thread within said
`environment, and the display of Said indicator and
`variation of Said pattern is performed by a Second
`thread within Said environment, the first and Second
`threads being operated on in parallel.
`2. The System of claim 1, wherein Said Status indicator
`element is a progreSS bar.
`3. The System of claim 2, wherein Said progreSS bar is
`expanded to fill a portion of a predefined progreSS bar Space,
`and wherein the portion of Said predefined progreSS bar
`Space that is filled corresponds to the percentage of the task
`that has been completed.
`4. The System of claim 1, wherein Said continuous varia
`tion is a change in color of Said Status indicator element.
`5. The system of claim 1, wherein said continuous varia
`tion is a change in a graphical pattern of Said Status indicator
`element.
`6. The System of claim 1 wherein Said pattern is continu
`ously varied by displaying Successive images in a Sequence
`of images in response to a clock signal.
`7. The system of claim 1 wherein said pattern is continu
`ously varied by periodically shifting the location of an image
`in response to a clock signal.
`8. The system of claim 1 wherein said pattern is displayed
`on Said element.
`9. The system of claim 1 wherein said pattern is displayed
`in an area that is complementary to Said element.
`10. A method for indicating to a user the Status of a task
`being performed on a computer, comprising the Steps of
`
`1O
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`displaying a Status dialogue window;
`varying at least one of size or shape of a status indicator
`element contained in Said Status dialogue window, in
`accordance with the percentage of a task completed;
`and
`continuously varying the appearance of the Status indica
`tor element, independently of Said percentage, to indi
`cate to a user that the task is currently active, wherein
`Said task is carried out in a multitasking environment,
`and wherein operations to complete the task are per
`formed by a first thread within said environment, and
`the display of Said indicator and variation of Said
`pattern is performed by a Second thread within Said
`environment, the first and Second threads being oper
`ated on in parallel.
`11. The method of claim 10, wherein said status indicator
`element is a progreSS bar.
`12. The method of claim 11, wherein said progress bar
`fills a portion of a predetermined progreSS bar space by an
`amount corresponding to the percentage of the task that has
`been completed.
`13. The method of claim 10, wherein the variation of the
`appearance of Said Status indicator element comprises a
`change in a graphical pattern of the Status indicator element.
`14. The method of claim 10, wherein the variation of the
`appearance of Said Status indicator element comprises a
`changing of color of the Status indicator element.
`15. The method of claim 10, wherein said task is carried
`out in a multitasking environment, arid wherein operations
`to complete the task are performed by a first thread within
`Said environment, and the display of Said indicator and
`variation of Said pattern is performed by a Second thread
`within Said environment.
`16. The method of claim 10, wherein said pattern is
`continuously varied by displaying Successive images in a
`Sequence of images in response to a clock signal.
`17. The method of claim 10, wherein said pattern is
`continuously varied by periodically shifting the location of
`an image in respon