# Patent

## Title
Icon label placement in a graphical user interface

## Abstract

To improve the art of graphical user interfaces, the present invention introduces a system that displays iconic resource representations having a salient dimension in a manner that provides the user with an indication of where the user is within that resource. The system of the present invention achieves this goal with the use of a novel system of icon label placement for that resource icon. Specifically, the system of the present invention uses the position of a label on an iconic resource representation that extends beyond at least one edge of a window to convey a proportional position within than iconic resource representation. Thus, a user is given an understanding of the current proportional location within an iconic resource representation from where the graphical interface system renders the label on the iconic resource representation.

## Background
FIELD OF THE INVENTION
The present invention relates to the field of computer graphical user interfaces. In particular, the present invention discloses a graphical user interface system for displaying a relative location in a within a linear resource that extends beyond a border of a window.
BACKGROUND OF THE INVENTION
For many years, computer systems had the reputation of being very difficult to use. Even when the personal computer revolution began in the late 1970's and the early 1980's, personal computers were still the exclusive domain of computer professionals and computer hobbyists.
In 1984, Apple Computer revolutionized the personal computer industry by introducing the first computer system with a Graphical User Interface (GUI) based operating system. Specifically, Apple Computer introduced the Lisa and Macintosh computer systems that used a new operating system now known as the MacOS (Macintosh Operating System).
The MacOS used pull-down menus, windows, and an icon based user interface on a bit-mapped graphical display screen. The user could interact with the MacOS graphical user interface using a cursor control device known as a ‘mouse’ in order to select pull-down menu items, highlight text, and interact with graphical user interface elements such as scroll bars, slider bars, and radio buttons.
The introduction of a friendly intuitive graphical user interface to the personal computer industry opened the world of computing to everyone. The mouse and window based graphical user interface was soon adopted by every personal computer vendor and operating system software company.
Although the now-familiar mouse and window based graphical user interface was revolutionary, there is always room for improvements. It would therefore be desirable to improve upon the existing graphical user interface art.
SUMMARY OF THE INVENTION
To improve the art of graphical user interfaces, the present invention introduces a system that displays iconic resource representations having a salient dimension in a manner that provides the user with an indication of where the user is within that resource. The system of the present invention achieves this goal with the use of a novel system of icon label placement for that resource icon.
The system of the present invention uses the position of a label on an iconic resource representation that extends beyond at least one edge of a window to convey a proportional position within than iconic resource representation. Thus, a user is given an understanding of the current proportional location within an iconic resource representation from where the graphical interface system renders the label on the iconic resource representation.
Other objects, features, and advantages of present invention will be apparent from the company drawings and from the following detailed description.



BRIEF DESCRIPTION OF THE DRAWINGS
The objects, features, and advantages of the present invention will be apparent to one skilled in the art, in view of the following detailed description in which:
FIG. 1 illustrates a diagram depicting the graphical user interface of an example video editing application program that renders timeline based resources in a timeline window.
FIG. 2A illustrates a conceptual diagram depicting the graphical user interface of FIG. 1 with additional video information that is not displayed on the display screen.
FIG. 2B illustrates the graphical user interface of FIG. 2A after a user has scrolled further along in the time dimension thus moving the video information to the left.
FIG. 2C illustrates the graphical user interface of FIG. 2B wherein labels for the video information icon representations that do not fit on the screen have been moved onto the portion that is on the display screen.
FIG. 2D illustrates the graphical user interface of FIG. 2C wherein the user has scrolled further along in the time dimension thus moving the video information to the left such that only a single large video icon representation is displayed.
FIG. 3 illustrates the graphical user interface of FIG. 1 wherein on a portion of a very long video icon representation is displayed on the screen such that a user has no reference point.
FIG. 4 illustrates the graphical user interface of FIG. 3 wherein a set of measurements are illustrated.
FIG. 5 illustrates a flow diagram that describes how one embodiment of the present invention may render labels on the iconic representations of resources that will be displayed in a window of a graphical user interface.
FIGS. 6A to 6G illustrate an example of a label rendered on an iconic resource representation in the manner taught by the present invention.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
A method and apparatus for rendering a graphical user interface that indicates relative location in a within a resource that extends beyond the screen limits is disclosed. In the following description, for purposes of explanation, specific nomenclature is set forth to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that these specific details are not required in order to practice the present invention. For example, the present invention has been described with reference to video editing application program and with resources having a time dimension displayed in a timeline window. However, the techniques of the present invention can easily be applied to other application programs, operating systems, and other types of resources that are displayed with a salient dimension that is represented by the length of an icon representation.
A Video Editing User Interface
FIG. 1 illustrates a diagram depicting the graphical user interface of an example video editing application program. In the example video editing application program of FIG. 1, the graphical user interface includes a video viewing area 110 and a video timeline window 190. The video viewing area 110 allows the user to view the video that is being edited. The video timeline window 190 allows the user to see a visual representation of various video elements. The user may also edit the various video elements displayed in the video timeline window 190.
The example video timeline window 190 of FIG. 1 depicts four different time based resources of a video that is being edited. Specifically, the video timeline window 190 depicts a video resource timeline 120, a left audio timeline 130, a right audio timeline 140, and a special effects (wipes, fades, etc.) timeline 150. The video resource timeline 120 contains a number of video clips wherein each video clip contains series of video frames. The various elements are rendered as icon representations wherein the horizontal dimension of the icon represents a length of time of the resource.
It must be emphasized that video timeline window 190 is merely one simple example of an example video timeline window. Other implementations may contain many more different time based resources. More importantly, it must be emphasized that although the invention is being disclosed with reference to a timeline based application, the teachings of the present invention are applicable to any computer program that displays any type of resource in a linear form that that may exceed display limits. For example, other types of linear resources include computer memory allocation, venue seating, etc.
The video timeline window 190 only depicts a small time window into a larger timeline representing the entire video project. For example, FIG. 2A illustrates the graphical user interface of FIG. 1 with additional video resource information that does not fit within the video timeline window 290 on the display screen. Referring back to FIG. 1, a user may scroll around through the entire timeline using scroll bar 160 as is well known in the art. In a preferred embodiment, a user can also change the scale of the video timeline window 290 such that more or less information will be displayed in the video timeline window 290.
Timeline Rendering Issues
FIG. 2A illustrates the graphical user interface of FIG. 1 with additional video information that is not displayed on the display screen. In order to provide a clear representation, other video resource information such as the audio and special effects tracks have been removed. In the graphical user interface of FIG. 2A each video clip has a still frame image from the video clip rendered as a label on the associated video clip representation. For example, video clip 220 has still image label 221 and video clip 210 has still image label 211. In the embodiment of FIG. 2A, the still image labels are always rendered in the center of the associated video clip icon representation.
The graphical user interface implementation displayed in FIG. 2A does not work well when a video clip icon representation does not fit completely on the screen. For example, FIG. 2B illustrates the graphical user interface of FIG. 2A after a user has scrolled further along in the time dimension thus moving the video clip icon representations to the left. As illustrated FIG. 2B, portions of video clips 210 and 220 will be rendered in the video timeline window 290 but the associated centered still images 211 and 221 will not.
One method of remedying this problem is to display the still image associated with a video clip in the center of what ever portion of the video clip representation is displayed in the video timeline window 290. FIG. 2C illustrates such a solution wherein the still images 211 and 221 are rendered in the center of the visible portions of video clips 210 and 220.
The graphical user interface solution of FIG. 2C has its own inadequacies. For example, the video timeline window 290 does not convey much information when an iconic resource representation extends beyond both borders of the video timeline window 290. FIG. 2D illustrates the graphical user interface of FIG. 2C after a user has scrolled further along in the time dimension thus moving the video clip icon representations to the left. As illustrated in FIG. 2D, a portion of video clip representation 210 occupies the entire width of the video timeline window 290. As the user scrolls slightly to the right or left, no feedback will be provided to the user since video clip representation 210 will continue to occupy the entire width of the video timeline window 290.
Larger video clip representations will make the lack of feedback problem even worse. For example, FIG. 3 illustrates a video editing application graphical user interface with a very large video clip representation 260. A user slowly scrolling further along in time (such that the iconic representations move left) in the video timeline window 290 of FIG. 3 will continue to only see video clip representation 260 occupy the entire video timeline window 290.
Icon Label Placement
To improve a graphical user interface that displays iconic resource representations having a salient dimension that may exceed the size of the window, the present invention introduces a novel system of icon label placement. Specifically, the system of the present invention uses the position of a label on an iconic resource representation that extends beyond at least one edge of a window to convey a proportional position within than iconic resource representation. Thus, a user is given an understanding of the current proportional location within an iconic resource representation from where the graphical interface system renders the label on the iconic resource representation.
An Example Implementation
FIGS. 4 and 5 illustrate how one embodiment of the present invention operates using the example of FIG. 3. FIG. 4 contains a diagram of the example of FIG. 3 with additional dimensions added for explanatory purposes. (These dimensions are not rendered on the action display.) FIG. 5 illustrates a flow diagram that describes how one embodiment of the present invention may render labels on the iconic representations of resources that will be displayed in a window of a graphical user interface. It must be stressed that FIGS. 4 and 5 illustrate only one possible embodiment that uses an icon resource representation's label position to indicate the current location within the icon resource representation.
At step 510 of FIG. 5, the system first determines if the iconic representation of a resource is fully within the window. If the iconic representation of the resource fits fully within the window then the system will proceed to step 515 to determine a center location of the iconic representation of the resource that will be used to render the label. If all the iconic resource representations to be displayed fit fully within the window, then all the labels will be rendered in the center of the iconic resource representations. An example of that particular case is illustrated in FIG. 2A.
Next, in step 517 of FIG. 5, the system determines if the label will fully fit within the portion of the iconic representation that will be rendered in the window. If the label will not fully fit within the displayed portion of the iconic resource representation then the system will proceed to step 519 to determine a clipped portion of the label that will fit within the displayed portion of the iconic resource representation and a location for that clipped label. Thus, step 519 handles the case wherein a very small portion of an iconic resource representation is drawn at one of the edges of the window.
If an iconic representation of a resource will not fully fit within the window but the label will fully fit in the iconic resource representation then the system will proceed to step 520. At step 520, the system determines a fraction amount of iconic resource representations that extends past a center of the window. Thus, referring to the example of FIG. 4, the system determines a fraction amount 481 of the entire length iconic resource representation 460 that extends beyond the centerline 491 of window 490. This is simply the length of the iconic resource representation past the centerline 491 divided by the overall length of the iconic resource representation 460.
Next, at step 530, the system uses the fraction determined in step 520 to determine a location approximately equal to fraction distance along the window in an opposite direction. Specifically, referring again to the example of FIG. 4, the system determines a fractional amount 471 of the window width along the window 490 in an opposite direction. Note that in order to fit the label on the screen, the location should be selected from a limited set of locations along label location set 470 that will ensure that the label will fully fit within the window.
Finally at step 550, the system renders the label (or clipped portion of the label) at the determined location. The steps of FIG. 5 are repeated for each iconic resource representation that will be displayed in the window.
The method of FIG. 5 can be implemented in computer instructions for any computer system having a graphical display. The computer instructions may be placed onto a computer-readable media and distributed. The computer instructions may also be transmitted across a communication channel to receiving system. For example, a computer program implementing the method of FIG. 5 may be transmitted from a server computer to a client computer system and executed on that client computer system.
An Example of Operation
An example of how the label will be rendered on an iconic resource representation that is scrolled across the window will be provided with reference to FIGS. 6A to 6K. FIG. 6A illustrates a large iconic resource representation 660 that has just begun to enter a video timeline window 690. Thus, only a very small slice of iconic resource representation 660 displayed window. In such a situation, the system of the present invention would proceed to step 519 of FIG. 5 to generate a label portion that will fit in the slice of the iconic resource representation 660 and determine a location to render the label portion. The system then displays the label slice 661 in the small displayed portion of iconic resource representation 660.
FIG. 6B illustrates the large iconic resource representation 660 of FIG. 6A displayed in graphical user interface window 690 after the user has scrolled to the right thus displaying more of large iconic resource representation 660. Since no part of iconic resource representation 660 has past the center of video timeline window 690, the label 661 is rendered at the right end of scale 670.
FIG. 6C illustrates the graphical user interface of FIG. 6A after the user has scrolled further to the right thus displaying more of large iconic resource representation 660. Again, since no part of iconic resource representation 660 has past the center 691 of video timeline window 690, the label 661 is rendered at the right end of scale 670.
FIG. 6D illustrates the graphical user interface of FIG. 6C after the user has scrolled even further to the right thus displaying more of large iconic resource representation 660. In FIG. 6D, iconic resource representation 660 extends past the center 691 of video timeline window 690. Specifically, X % of the total length of iconic resource representation 660 is located on the other side of the center 691 of video timeline window 690. Thus, the system of the present invention renders the label 661 approximately X % from the right side of scale 670.
FIG. 6E illustrates the graphical user interface of FIG. 6D after the user has scrolled yet even further to the right such that resource representation 660 fills the entire video timeline window 690. As illustrated in FIG. 6D, X % of the total length of iconic resource representation 660 is located on the left side of the center 691 of video timeline window 690. Thus, the system of the present invention renders the label 661 approximately X % from the right side of scale 670.
FIG. 6F illustrates the graphical user interface of FIG. 6E after the user has scrolled yet even further to the right such that iconic resource representation 660 is completely centered upon the center 691 of video timeline window 690. Specifically, 50% of iconic resource representation 660 is on the left of center line 691 and 50% of iconic resource representation 660 is on the right of center line 691 Thus, the system of the present invention renders the label 661 50% from the right side of scale 670 such that label 661 is centered in window 690.
As the user continues to scroll further to the right, the system of the present invention will continue to move label 661 to the right in the same manner as set forth in FIGS. 6A to 6F. For example, FIG. 6G illustrates the graphical user interface of FIG. 6F after the user has scrolled yet even further to the right such that more of resource representation 660 falls to the left of the center 691 of video timeline window 690. Specifically, X % of the total length of iconic resource representation 660 is located on the left side of the center 691 of video timeline window 690. Thus, the system of the present invention renders the label 661 at a location approximately X % from the right side of scale 670.
The foregoing has described a method for rendering a graphical user interface that indicates relative location in a within a resource that extends beyond the screen limits. It is contemplated that changes and modifications may be made by one of ordinary skill in the art, to the materials and arrangements of elements of the present invention without departing from the scope of the invention.

## Claims

1. A method of rendering a graphical user interface for a computer program, said method comprising:
rendering a representation of a resource icon that extends beyond at least one border of a window, a length of said resource icon representing a salient dimension of a resource; and
rendering a label on said resource icon at a location that indicates a relative position of said resource icon with respect to said window, wherein said label moves within the resource icon in response to the movement of said resource icon.

2. The method of rendering a graphical user interface for a computer program as claimed in claim 1 wherein said label comprises only a small portion of a normal label when only a small amount of said resource icon is rendered in said window.

3. The method of rendering a graphical user interface for a computer program as claimed in claim 1 wherein said resource icon extends from a first border of said window but does not cross a center of said window and said label is rendered close to said first border.

4. The method of rendering a graphical user interface for a computer program as claimed in claim 1 wherein:
said resource icon extends from a first border of said window;
a first percentage of said length of said resource icon crosses a center of said window; and
said label is rendered approximately a second percentage of a length of said window from said first border of said window, wherein said first percentage is equal to said second percentage.

5. The method of rendering a graphical user interface for a computer program as claimed in claim 1 wherein said resource comprises a video clip.

6. The method of rendering a graphical user interface for a computer program as claimed in claim 5 wherein said label comprises an image from said video clip.

7. The method of rendering a graphical user interface for a computer program as claimed in claim 1 wherein said salient dimension of said resource comprises a time length.

8. The method of claim 1, wherein X % of said length of said resource icon extends to a left side of a center of said window, and the location that indicates the relative position of said resource icon is approximately X % of a width of said window from a right side of said window, wherein X is a number.

9. A computer readable medium, said computer readable medium storing a computer program which when executed by an electronic device renders a graphical user interface, said computer program comprising sets of instructions for:
rendering a representation of a resource icon that extends beyond at least one border of a window, a length of said resource icon representing a salient dimension of a resource; and
rendering a label on said resource icon at a location that indicates a relative position of said resource icon with respect to said window, wherein said label moves within the resource icon in response to the movement of said resource icon.

10. The computer readable medium as claimed in claim 9 wherein said label comprises only a small portion of a normal label when only a small amount of said resource icon is rendered in said window.

11. The computer readable medium as claimed in claim 9 wherein said resource icon extends from a first border of said window but does not cross a center of said window and said label is rendered close to said first border.

12. The computer readable medium as claimed in claim 9 wherein:
said resource icon extends from a first border of said windows;
a first percentage of said length of said resource icon crosses a center of said window; and
said label is rendered approximately a second percentage of a length of said window from said first border of said window, wherein said first percentage is equal to said second percentage.

13. The computer readable medium as claimed in claim 9 wherein said resource comprises a video clip.

14. The computer readable medium as claimed in claim 13 wherein said label comprises an image from said video clip.

15. The computer readable medium as claimed in claim 9 wherein said salient dimension of said resource comprises a time length.

16. A system for rendering a graphical user interface for a computer program, said system comprising: a computer readable medium storing said computer program;
said computer program providing:
means for rendering a representation of a resource icon that extends beyond at least one border of a window, a length of said resource icon representing a salient dimension of a resource; and
means for rendering a label on said resource icon at a location that indicates a relative position of said resource icon with respect to said window, wherein said label moves within the resource icon in response to the movement of said resource icon.

17. The system for rendering a graphical user interface for a computer program as claimed in claim 16 wherein said label comprises only a small portion of a normal label when only a small amount of said resource icon is rendered in said window.

18. The system for rendering a graphical user interface for a computer program as claimed in claim 16 wherein said resource icon extends from a first border of said window but does not cross a center of said window and said label is rendered close to said first border.

19. The system for rendering a graphical user interface for a computer program as claimed in claim 16 wherein:
said resource icon extends from a first border of said window;
a first percentage of said length of said resource icon crosses a center of said window; and
said label is rendered approximately a second percentage of a length of said window from said first border of said window, wherein said first percentage is equal to said second percentage.

20. The system for rendering a graphical user interface for a computer program as claimed in claim 16 wherein said salient dimension of said resource comprises a time length.

21. The system for rendering a graphical user interface for a computer program as claimed in claim 16 wherein said resource comprises a video clip.

22. A graphical user interface (“GUI”) of a computer program stored on a computer readable medium, said GUI comprising:
a window comprising a representation of a resource icon that extends beyond at least one border of said window, wherein a length of said resource icon represents a salient dimension of a resource; and
a label on said resource icon at a location that indicates a relative position of said resource icon with respect to said window, wherein said label moves within the resource icon in response to the movement of said resource icon.

23. The GUI of claim 22, wherein said computer program is a multi-media editing program.

24. The GUI of claim 22, wherein said resource is a video clip.

25. The GUI of claim 22, wherein said resource is an audio clip.

26. The GUI of claim 22, wherein said resource is a special effects timeline.

27. The GUI of claim 22, wherein said salient dimension is a time dimension.

28. The GUI of claim 22 further comprising a scroll bar.

29. The GUI of claim 22 further comprising a left audio timeline and a right audio timeline.

30. The GUI of claim 22, wherein said resource icon is a geometric figure.

31. The GUI of claim 22, wherein said resource icon is approximately a rectangle.

32. The GUI of claim 22 further comprising:
a set of additional resource icons; and
a label on each resource icon of said set of additional resource icons.

33. The GUI of claim 22, wherein X % of said length of said resource icon extends to a left side of a center of said window, and the location that indicates the relative position of said resource icon is approximately X % of a width of said window from a right side of said window, wherein X is a number.