# Patent

## Title
Progress bar

## Abstract

A method for displaying the progress of an activity performed on a user device is provided. The method includes outputting a progress indicator indicative of the progress made in completing an activity and updating the progress indicator as the activity proceeds. Simultaneously, a first progress rate indicator is also output to the display, the progress rate indicator having a property indicative of the rate at which the activity is being progressed. The property of the progress rate indicator is based on a value determined by receiving a rate value indicative of the activity progress rate and comparing the rate value with a value indicative of the maximum progress rate of the user device for the particular activity. A corresponding apparatus and computer program for carrying out the method are also provided.

## Background
CROSS REFERENCES
This application claims priority from European Patent Application No. EP 11166848.9, filed May 20, 2011, entitled “IMPROVED PROGRESS BAR,” which is hereby incorporated by reference, as if set forth in full in this document, for all purposes.
FIELD OF THE INVENTION
The present invention relates to progress bars used to measure activities with potentially variable speeds.
BACKGROUND OF THE INVENTION
Often progress bars are used to measure the progress of a given activity. An example of a commonly measured activity is the progress of a download from the Internet. A user device, such as a set-top-box (STB) or a computer, may connect to the internet, via an internet connection, to download data from a remote location to a local storage device such as an internal hard drive or other type of memory for local use. Various methods exist for transferring or downloading data from one device to another. File sharing is an example of transferring large amounts of data across the internet. Email allows data files to be transferred from one user's system to another. Data can be uploaded to a website or file transfer protocol (FTP) server for download.
As data is received by the recipient device typically a progress meter, or more commonly a progress bar, is used to indicate the amount of data received. Often the progress bar will output this information as an indication in relation to the total amount of data that is to be downloaded for the particular task, although this is not always available. An example of such a progress bar is shown in FIG. 1.
Although progress bars such as those in FIG. 1 do indicate the actual progress, to completion, of an activity, such as a download, they do not indicate the quality or speed of progress. To overcome this, a numeric value is displayed on, or next to, the progress bar representing a real world number, such as actual download speed (e.g. in Kb/s). However, such a numeric value may not be a particularly good indication of how well a download is progressing, and it is questionable how useful such a number actually is to the user.
The present inventor has appreciated that it would be advantageous to provide an improved progress meter, particularly one that allows a user to instantly see the quality of the rate of progress without needing to read or understand specific measurements.
SUMMARY OF THE INVENTION
The invention is defined in the claims, to which reference is now directed. Preferred features are defined in the dependent claims.
Embodiments of the invention provide a method for displaying the progress of an activity performed on a user device. The method includes outputting, to a display, a progress indicator indicative of the progress made in completing an activity, such as a download, and updating the progress indicator as the activity proceeds. Simultaneously, a first progress rate indicator is also output to the display, the progress rate indicator having a property indicative of the rate at which the activity is being progressed. The property of the progress rate indicator is based on a value determined by receiving a rate value indicative of the activity progress rate and comparing the rate value with a value indicative of the maximum progress rate of the user device for the particular activity.
The progress rate indicator is preferably a displayed item having a visual appearance indicative of the portion of the rate at which the activity is being completed compared to a maximum value. In other words, the progress rate indicator indicates progress rate relative to a maximum rate.
The progress rate indicator is, preferably, updated throughout the course of the activity being performed, to indicate the change in rate of performance. To achieve this the method may further include the step of displaying one or more further updated progress rate indicators, subsequent to displaying the first progress rate indicator. Subsequent progress rate indicators preferably replace the previous rate indicators to avoid confusion.
Embodiments of the invention can be applied to any activity that has a variable speed. A progress indicator, such as a progress bar, is displayed, but rather than displaying a simple monochrome, or fixed color, bar the bar itself is colored to represent the speed at which the activity is being completed. Different colors are dynamically used to represent different progress rates.
The absolute measure of progress provided by the progress bar can be static, based on typical, estimated, or previously measured system performance. Alternatively it can be dynamically ranged against the maximum progress rate of the current activity, in which case the maximum progress rate value is preferably updated as a higher rate value than the previous highest rate value is received. The progress bar is then dynamically colored depending on the ongoing current progress rate.
Preferably, as mentioned above, the progress rate is indicated by visual means such as a plurality of colors or patterns. Preferably a first color is used to indicate a minimum progress rate and a second color to indicate a maximum progress rate. The progress rate indicator color may vary continuously between the first color and the second color in response to the received rate value. Alternatively, the progress rate range may be divided into discrete steps, and a different color used to indicate each step.
Preferably, the progress rate indicators are overlaid on the progress indicator. That is, the progress rate indicators are displayed such that they appear in front of the progress indicator so as to be clearly visible over the progress indicator. The progress indicator and the progress rate indicator may be integral, in that they are both contained within the same display item. The progress rate indicator may be a visual property of at least a portion of the progress indicator.
A corresponding user device may be provided, the user device being configured to undertake any of the method steps described above and below, to output a progress indicator and progress rate indicator to a display. The user device may take the form of a set top box, or may be incorporated into a set top box. A computer program may also be provided for carrying out the method steps described above or below on a suitable user device.



BRIEF DESCRIPTION OF THE DRAWINGS
Examples of the invention will now be described in more detail, with reference to the drawings in which:
FIG. 1: is an example of a known progress bar;
FIG. 2: is an example of a progress bar according to an embodiment of the invention;
FIG. 3: is an example of the progress bar of FIG. 2 at a point later in the progress of the activity being monitored;
FIG. 4: is an example of the progress bar of FIG. 3 at a point later in the progress of the activity being monitored;
FIG. 5: is an example of a method for outputting a progress indicator and progress rate indicator according to an embodiment of the present invention;
FIG. 6: is an example of a method for setting the maximum progress rate according to an embodiment of the present invention; and
FIG. 7: is a further example of a method for setting the maximum progress rate according to an embodiment of the present invention.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Embodiments of the invention will be described primarily with reference to the activity of downloading data from the internet, or other data source such as a device on a local network. It will be appreciated that embodiments of the invention can be applied to the monitoring of any activity in which the progress to completion has a variable, or potentially variable, rate.
FIG. 2 shows a progress indicator in accordance with an embodiment of the invention. The progress indicator is in the form of a progress bar 201, being a rectangular shape, a portion of which is changed visually from the remainder of the shape to indicate the progress of the download. The proportion of the bar that is visually changed indicates the proportion of the download activity that has been completed. Typically the visual change is a change in color of the portion of the bar relative to the starting color of the bar. Value indicators are provided indicating the percentage of the download that has been completed, but this is not required.
As shown in FIG. 2, the progress bar shows a certain portion of the download activity is complete by coloring section 202 a different color to the remainder of the bar. However, rather than the color of the complete portion 202 remaining static throughout the download activity, it is varied dependent upon the download rate. This is shown in FIGS. 3 and 4 in which the download has progressed, but the rate of download has also changed from the first rate of FIG. 2 to a second and third rate in FIGS. 3 and 4 respectively.
The color of portion 202 is the progress rate indicator, indicative of the current download rate in relation to the maximum download rate of the user device on which the progress bar is running. Therefore, rather than giving the user a value indicative of the actual current download rate a value indicative of how good the performance is in comparison to expected or possible performance is provided. FIG. 5 illustrates the general method involved. At step 501 the progress of the download is determined. This can be achieved in a known way by, for example, determining the amount of data that has been downloaded to the user device and comparing this with the total amount of data to be received. The progress of the download may then be output to the user in the progress indicator, such as the progress bar shown in FIG. 2. Simultaneously, at steps 503 to 505, the progress rate indicator value or setting to be represented by the progress rate indicator is determined and output to the user in the form of the progress rate indicator. In particular, at step 503 a rate value indicative of the download rate is determined; this may be determined in a standard way as would be known to the skilled person. At step 504 the download rate is compared with the maximum progress rate of the user device do give the value to be represented by the progress rate indicator. Preferably this is achieved by determining the ratio or proportion of the actual download rate to the maximum download rate. The progress rate indicator value is then output to the user in the form of the progress rate indicator. The steps 501-502 and 503-505 may be performed independently of one another. The steps 501-502 and 503-505 may be performed continuously throughout the download at the same or at different rates such that the progress rate indicator is updated less frequently, more frequently, or as frequently as the progress indicator.
As an example of the method of FIG. 5, the user device may determine that the download has progressed to 40% completion. At the same time, the user device determines, or receives data indicating, that the download rate or speed is 200 KB/s. This is compared to the maximum download rate of the user device which is 1 MB/s. Therefore, the user device determines that the download rate is 1⁄5th the maximum value. The progress rate indicator is set to indicate this performance and output to the user.
Embodiments of the invention may set the maximum download rate of the user device based on one of two exemplary methods. Firstly, as illustrated in FIG. 6, the absolute maximum download rate of the user device is determined at step 601. By this, it is meant that the absolute maximum rate that the user device hardware is capable of is determined, this being a static value. This can be achieved by using a maximum value based on typical or previously measured system performance, such as performing appropriate tests on the hardware. For example, it may be determined that the user device is capable of downloading, from an appropriate source, at a rate of 2 MB/s. At step 602 the current, or instantaneous, download rate of the present download activity is determined. The present download rate and maximum download rate are then compared at step 603 to determine the proportion of the current download rate in relation to the maximum download rate. The progress rate indicator is then set, at step 604, to display a value indicative of the present download rate relative to the maximum download rate. For example, the present download rate may be determined to be 0.5 MB/s, and the progress rate indicator is therefore set to display a value or indication that the download rate is 25%, or 1⁄4 of the maximum download rate.
A second manner of setting the maximum download rate of the user device is illustrated in FIG. 7. At step 704 the relative maximum download rate of the user device is determined. By this, it is meant that the maximum download rate that the user device has achieved over a predetermined period is determined, and taken to be the maximum download speed. The predetermined period may be the period for which the user device has been operational, or it may be, for example, the period for which the download has been occurring. Once the maximum download rate value has been determined, the method proceeds in a similar manner to that discussed in relation to FIG. 6, with the actual current download rate being determined at step 702 and a comparison being performed between the actual download rate and the maximum download rate at step 703. This allows the user device to determine the current download rate relative to the maximum download rate, allowing the progress rate indicator to be set to a value relative to the maximum download rate, at step 704, and thus give an indication of the quality/speed of the current download rate relative to the maximum download rate. In addition, the method may optionally include the step of continuously, or periodically, determining the relative maximum and setting the maximum download rate to the highest determined value. In this way, the maximum download rate is dynamically ranged against the maximum download rate of the desired period of time, such as the current download. For example, the fastest rate the current download has gone to the current point in time may be 200 KB/s, but the absolute maximum may be 2 MB/s. 200 KB/s becomes the maximum download rate until, at some point in the future of the current download, the rate increases to 500 KB/s, at which point this value is set as the maximum. The actual download rate is continuously or periodically monitored and the progress rate indicator is set accordingly, depending on the current download rate and current maximum download rate.
The progress rate indicator indicates the rate at which the current activity, a download in this case, is proceeding. In conjunction with the progress indicator the user is informed of how far the download has progressed, and at what rate, relative to the maximum possible rate, the download is proceeding. This means that the user has an indication as to how well their system is performing in the activity.
The progress rate indicator may take the form of any suitable visual indicator, and may, in some embodiments, be a number or value varied between a minimum and maximum value, the maximum value being the maximum download rate. However, in a preferred embodiment the progress rate indicator is dynamically colored depending on the ongoing download speed. In particular, the color may change between a first color and a second color in response to the download rate. The first color may represent a minimum rate, with the second color representing a maximum rate. The color may change between these two colors, or further colors may also be provided between the maximum and minimum colors, to indicate the download rate value relative to the maximum.
As an example, the color red may be used to indicate a minimum speed of OKB/s, and the color green may be used to represent a maximum speed of 1 MB/s (either because this is the absolute maximum or the relative maximum as described above). If a user is downloading a file, such as a movie, from the internet and the speed of download continues at 1 MB/s, then the progress rate indicator will be colored green, indicating the highest download rate relative to the maximum. If the download speed starts to slow down, the color of the progress rate indicator starts to change in response. If the speed drops to 750 KB/s, the indicator may change to a green/yellow mix, at 500 KB/s yellow, at 250 KB/s a red/yellow mix and at or close to 0 KB/s red, or almost completely red. Of course this is just an example, and different colors may be used.
The color change of the progress rate indicator in response to the download rate changes can be implemented as a smooth mixing. In this way, the color of the progress rate indicator varies continuously between the minimum and maximum colors (and any intervening colors), the mix of colors being interpolated across the whole of the download spectrum such that the progress rate indicator would gradually change color between, for example, green and red. The ratio of one color to another in the color mixture is dependent upon the download rate and the maximum download rate.
Alternatively, the color change of the progress rate indicator in response to download rate changes may be divided into discrete steps. A predetermined number of discrete colors are used, each one representing a predetermined range of download speeds in relation to the maximum value. For example, red may represent a download rate of 0-25% of maximum, orange 25%-50%, yellow 50%-75% and green 75%-100%.
Colors are preferable to represent the download rate since they can be understood intuitively without needing to understand any displayed numbers or know the maximum download rate of the system. Of course other visual indicators could be used for the progress rate indicator, such as patterns, with a pattern of crosses indicating a poor rate, dots a good rate and stripes an intermediate rate. Alternatively the absence of a color or pattern may indicate a good rate, with the indicator becoming colored or patterned to a greater degree as the download rate decreases (or vice versa).
In other embodiments the progress rate indicator may be a simple figure scaled from, for example, 0-10, with 10 being a maximum rate and 0 being the minimum rate. Of course, any suitable minimum and maximum values may be used for display.
Although the progress indicator and the progress rate indicator may be separate items, displayed simultaneously but in separate portions of the screen, it is strongly preferred that the progress rate indicator is overlaid on the progress indicator. This may be achieved by making the progress rate indicator and the progress indicator integral with one another, and particularly with the progress rate indicator being a visual property of the progress indicator. This is illustrated in FIGS. 2-4. The progress indicator is in the form of a progress bar 201. As the download progresses the bar is filled in with a portion 202 having a different visual appearance, such as a different shading or color, to the rest of the bar. Because this portion is visible on the progress indicator it can be consider “overlaid” on the progress indicator. The amount of the bar that is colored indicates the amount of the download that has completed as described above. The color of this portion may, according to embodiments of the invention, be used as the progress rate indicator as discussed above. As shown in FIG. 3, the rate of download changes, resulting in the progress rate indicator 302 changing color from that displayed in FIG. 2. Likewise, the rate changes again to FIG. 4.
Other arrangements are possible, such as the progress rate indicator being a fixed size shape of varying color. Alternatively, the progress rate indicator may be represented in the unfilled portion of the progress bar, with this portion changing color, the portion that is filled to indicate progress being a fixed color.
Although a rate bar has been described as the preferred format for the progress indicator, it will be appreciated that other forms for the progress indicator could be used. For example, the progress indicator could be annular.
The rate of download represented by the progress rate indicator is preferably the instantaneous download rate or the average download rate over a particular recent period. The user device may continuously receive the rate information such that the displayed rate indicator is continuously updated, or it may be done periodically, such as, for example, every 5-10 seconds.
Embodiments of the invention may include a user device configured to perform the methods described above. Such a user device may include an input for downloaded data, an input for receiving current download rate data and an input for receiving data indicative of the maximum download rate. Alternatively, the user device may be configured to determine the current and maximum download rates using an internal processor, based on the received downloaded data and/or the user device specifications. The user device also includes an output for outputting the progress indicator and progress rate indicator to a display such as a screen or television. A processor or CPU is provided for comparing the rate value with a value indicative of the maximum progress rate/download rate so as to determine the correct parameter to apply to the progress rate indicator for display to the user.
Embodiments of the invention find particular utility in user devices such as set-top-boxes for receiving and encoding media content for display, computers, mobile phones, PDAs, tablets and any other user device that may need to display a progress bar for an activity having a variable rate, such as internet downloads.
Although examples have been described in relation to downloading content or data, the invention may be applied to any activity with a variable rate, such as uploads, progress through a television show or film (with different fast forward/rewind rates being available to the user) and so forth.
For the avoidance of doubt, the invention may be embodied in a computer program arranged to carry out any of the methods discussed herein on a suitable computer or any suitable user device, particularly a STB.

## Claims

1. A method for displaying the progress of an activity performed on a user device, the method comprising:
outputting a progress indicator indicative of the progress made in completing the activity, and updating the progress indicator as the activity proceeds;
simultaneously outputting a progress rate indicator having a property indicative of an activity progress rate corresponding to a rate at which the activity is being progressed with respect to a current maximum progress rate, the outputting the progress rate indicator comprising:
dynamically updating the progress rate indicator based on dynamically updating the current maximum progress rate at least in part by:
receiving a first rate value indicative of the activity progress rate;
generating a first fractional rate value of the first rate value with a first value indicative of a first maximum progress rate of the user device for the activity;
generating a first indicator corresponding to the property based on the first fractional rate value generated;
after generating the first indicator:
receiving a second rate value indicative of the activity progress rate, where the second rate value is different from the first rate value;
generating a second fractional rate value of the second rate value with a second value indicative of a second maximum progress rate of the user device for the activity, where the second fractional rate value is different from the first fractional rate value, and the second maximum progress rate is different from the first maximum progress rate; and
generating a second indicator corresponding to the property based on the second fractional rate value generated, where the second indicator is different from the first indicator.

2. The method according to claim 1, further comprising displaying one or more further updated progress rate indicators, subsequent to the second indicator.

3. The method according to claim 1, wherein the first maximum progress rate or the second maximum progress rate has a maximum progress rate value that is a highest rate value received during the activity.

4. The method according to claim 3, wherein the maximum progress rate value is updated when a higher rate value than the previous highest rate value is received.

5. The method according to claim 1, wherein the first maximum progress rate or the second maximum progress rate or the second maximum progress rate has a maximum progress rate value is determined by:
receiving a value indicative of a maximum potential progress rate of the user device for the activity and setting the maximum progress rate value to the value received.

6. The method according to claim 1, wherein the first indicator is overlaid on the progress indicator.

7. The method according to claim 1, wherein a progress rate is indicated by visual means such as a plurality of colors or patterns.

8. The method according to claim 7, wherein the progress rate is indicated by a color of the progress rate indicator, and wherein a first color indicating a minimum progress rate and a second color indicating a maximum progress rate.

9. The method according to claim 8, wherein the color of the progress rate indicator varies continuously between the first color and the second color in response to a received rate value.

10. The method according to claim 8, wherein a progress rate range is divided into discrete steps, and wherein a different color is used to indicate each step.

11. The method according to claim 1, wherein the progress rate indicator is a visual property of at least a portion of the progress indicator.

12. The method according to claim 1, wherein the activity is downloading data from a network and uploading the data to the network.

13. The method of claim 1, wherein the user device is configured to output the progress indicator and the first indicator to a display.

14. The method of claim 12, wherein the user device is comprised in a set-top-box.

15. A non-transitory, computer-readable medium having sets of instructions stored thereon which, when executed by a computer, cause the computer to:
output a progress indicator indicative of the progress made in completing an activity, and updating the progress indicator as the activity proceeds;
simultaneously output a progress rate indicator having a property indicative of an activity progress rate corresponding to a rate at which the activity is being progressed with respect to a current maximum progress rate, the outputting the progress rate indicator comprising:
dynamically update the progress rate indicator based on dynamically updating the current maximum progress rate at least in part by:
receiving a first rate value indicative of the activity progress rate;
generating a first fractional rate value of the first rate value with a first value indicative of a first maximum progress rate of a user device for the activity;
generating a first indicator corresponding to the property based on the first fractional rate value generated;
after generating the first indicator:
receiving a second rate value indicative of the activity progress rate, where the second rate value is different from the first rate value;
generating a second fractional rate value of the second rate value with a second value indicative of a second maximum progress rate of the user device for the activity, where the second fractional rate value is different from the first fractional rate value, and the second maximum progress rate is different from the first maximum progress rate; and

generating a second indicator corresponding to the property based on the second fractional rate value generated, where the second indicator is different from the first indicator.

16. The non-transitory, computer-readable medium according to claim 15, wherein the first maximum progress rate or the second maximum progress rate has a maximum progress rate value that is a highest rate value received during the activity.

17. The non-transitory, computer-readable medium according to claim 15, wherein the first maximum progress rate or the second maximum progress rate has a maximum progress rate value that is updated when a higher rate value than a previous highest rate value is received.

18. The non-transitory, computer-readable medium according to claim 15, wherein the first indicator is overlaid on the progress indicator.

19. A system for displaying the progress of an activity performed on a user device, the system comprising:
a memory device; and
a processor in communication with the memory device, wherein the memory device has sets of instructions stored thereon which, when executed by the processor, cause the processor to:
output a progress indicator indicative of the progress made in completing the activity, and updating the progress indicator as the activity proceeds;
simultaneously output a progress rate indicator having a property indicative of an activity progress rate corresponding to a rate at which the activity is being progressed with respect to a current maximum progress rate, the outputting the progress rate indicator comprising:
dynamically update the progress rate indicator based on dynamically updating the current maximum progress rate at least in part by:
receiving a first rate value indicative of the activity progress rate; and
generating a first fractional rate value of the first rate value with a value indicative of a first maximum progress rate of the user device for the activity;
generating a first indicator corresponding to the property based on the first fractional rate value generated;
after generating the first indicator:
receiving a second rate value indicative of the activity progress rate, where the second rate value is different from the first rate value;
generating a second fractional rate value of the second rate value with a second value indicative of a second maximum progress rate of the user device for the activity, where the second fractional rate value is different from the first fractional rate value, and the second maximum progress rate is different from the first maximum progress rate; and

generating a second indicator corresponding to the property based on the second fractional rate value generated, where the second indicator is different from the first indicator.