Search Images Maps Play YouTube News Gmail Drive More »
Advanced Patent Search | Web History | Sign in

Patents

The present invention relates to a method for moving objects within the graphical user interface (GUI) of an operating system in a manner that provides a transitional effect between window states, which is pleasing to the user. This transitional effect includes changing the shape of a window while scaling and moving the window between two different sizes and positions. In one embodiment of the present invention, the transitional effect may be employed as a window is minimized into an icon, or restored from an icon. In another embodiment of the present invention, the transitional effect is employed as a window is minimized within its title bar, or restored therefrom. The rate of movement of objects is controlled in a non-linear manner, to further enhance the pleasing effect.

InventorBas Ording
Original AssigneeApple Inc.
Primary Examiner: Kimbinh T. Nguyen
Attorney: Buchanan Ingersoll & Rooney PC
Current U.S. Classification345/473; 345/427; 345/474; 345/475; 715/757; 715/759; 715/762; 715/781; 715/782; 715/799; 715/800

View patent at USPTO
Search USPTO Assignment Database

Citations

Cited PatentFiling dateIssue dateOriginal AssigneeTitle
US5546520Sep 30, 1994Aug 13, 1996International Business Machines CorporationMethod, system, and memory for reshaping the frame edges of a window around information displayed in the window
US5657463Jan 19, 1994Aug 12, 1997Apple Computer, Inc.Method and apparatus for positioning a new window on a display screen based on an arrangement of previously-created windows
US5764241Nov 30, 1995Jun 9, 1998Microsoft CorporationMethod and system for modeling and presenting integrated media with a declarative modeling language for representing reactive behavior
US5771032Sep 30, 1994Jun 23, 1998International Business Machines CorporationMethod, system, and memory for modifying a window as information is being scrolled
US5796402Mar 8, 1996Aug 18, 1998Microsoft CorporationMethod and system for aligning windows on a computer screen
US6002402Apr 9, 1997Dec 14, 1999Symantec CorporationSystem and method for producing a drag-and-drop object from a popup menu item
US6414684Apr 24, 1997Jul 2, 2002Matsushita Electric Industrial Co., Ltd.Method for communicating and generating computer graphics animation data, and recording media

Referenced by

Citing PatentFiling dateIssue dateOriginal AssigneeTitle
US7743338Sep 11, 2006Jun 22, 2010Apple Inc.Image rendering with image artifact along a multidimensional path
US7743341Sep 11, 2006Jun 22, 2010Apple Inc.Rendering icons along a multidimensional path having a terminus position
US7747968Sep 11, 2006Jun 29, 2010Apple Inc.Content abstraction presentation along a multidimensional path
US7831727Sep 11, 2006Nov 9, 2010Apple Computer, Inc.Multi-content presentation of unassociated content types
US7853972Sep 11, 2006Dec 14, 2010Apple Inc.Media preview user interface
US7930650Sep 11, 2006Apr 19, 2011Apple Inc.User interface with menu abstractions and content abstractions
US7937668Mar 31, 2008May 3, 2011Canon Kabushiki KaishaInformation processing apparatus and display method
US7984377Sep 11, 2006Jul 19, 2011Apple Inc.Cascaded display of video media
US8099665Sep 11, 2006Jan 17, 2012Apple Inc.Organizing and sorting media menu items
US8174503May 17, 2008May 8, 2012David H. CainTouch-based authentication of a mobile device through user generated pattern creation

Claims

1. A method for moving an object in a graphical user interface, comprising the steps of:

a) determining a path of movement for the object along at least one axis, and a period of time for the movement along said path;

b) establishing a non-constant velocity function along said axis for said period of time;

c) calculating an instantaneous position for the object along said path in accordance with said function and the relationship of a current time value to said period of time;

d) displaying said object at said calculated position; and
e) iteratively repeating steps (c) and (d) during said period of time.

2. The method of claim 1 wherein said function is a non-linear function.

3. The method of claim 2 wherein said function is a sinusoidal function.

4. The method of claim 1 wherein said calculating step comprises the steps of:

determining the amount of time that has elapsed since the beginning of said period of time;

calculating the ratio of said elapsed amount of time to the total duration of said period of time;

applying said ratio to said function to determine a translation factor; and

using said translation factor to determine the instantaneous position of the object along said path.

5. A method for minimizing a window in a graphical user interface, comprising the steps of:

in response to a command to minimize a window positioned at a current location, selecting a destination location for the window;

displaying said window at sequential positions along a path from said current location to said destination location at equal increments of time, such that the distance between successive positions varies in accordance with a non-linear function so that the object appears to be moving at a changing velocity.

6. The method of claim 5 wherein said function is a sinusoidal function, so that the object appears to accelerate and then decelerate along said path.

7. The method of claim 5, further including the step of scaling the size of said window at successive positions as it moves along said path.

8. A user interface for a computer, comprising:

a display space within which objects are displayed; and

means responsive to a user action that results in the removal of an object from a series of objects, said means causing other objects in said series to move toward the space occupied by the removed object, by displaying the other objects at different sequential positions during respective increments of time, such that the distance between successive positions varies in accordance with a non-linear function so that the objects appear to be moving at a changing velocity.

9. The user interface of claim 8 wherein said function is a sinusoidal function, so that the objects appear to accelerate and then decelerate as they move toward said space.

10. The user interface of claim 8 wherein said object being removed represents a window, and said user action is a command to open the window in the display space.

11. A user interface for a computer, comprising:

a display space within which obiects are displayed; and

means responsive to a user action that results in the insertion of an object into a series of objects, said means causing other objects in said series to move away from the inserted object by displaying the other obiects at different sequential positions during respective increments of time, such that the distance between successive positions varies in accordance with a non-linear function so that the objects appear to be moving at a changing velocity.

12. The user interface of claim 11 wherein said function is a sinusoidal function, so that said other objects appear to accelerate and then decelerate as they move away from the inserted object.

13. The user interface of claim 11 wherein said object is a window in said display space, and said user action is a command to minimize said window.

14. A computer-readable medium containing a program which executes the following steps:

a) displaying at least one object in a display space;

b) determining a path of movement for the object along at least one axis within the display space, and a period of time for the movement along said path;

c) establishing a non-constant velocity function along said axis for said period of time;

d) calculating an instantaneous position for the object along said path in accordance with said function and the relationship of a current time value to said period of time;
d) displaying said object at said calculated position; and
f) iteratively repeating steps (d) and (e) during said period of time.

15. The method of claim 14 wherein said function is a non-linear function.

16. The method of claim 15 wherein said function is a sinusoidal function.

17. A computer-readable medium containing a program which executes the following steps:

displaying at least one object at a first location in a display space;

selecting a second location for the object within said display space, and a period of time within which the object is to move from the first location to the second location;

displaying said object at sequential positions along a path from said first location to said second location at increments of time within said period, such that the distance between successive positions varies in accordance with a non-linear function so that the object appears to be moving at a changing velocity along said path.

18. The method of claim 17 wherein said function is a sinusoidal function, so that the object appears to accelerate and then decelerate along said path.

19. A user interface for a computer, comprising:

a display space within which an object is displayed at a first location; and

means responsive to a user action for selecting a second location to which said object is to be moved and a period of time during which the movement is to occur, and for moving said object from said first location to said second location at a non-linear rate of movement during said period of time.

20. The user interface of claim 19 wherein said non-linear rate is a sinusoidal function, so that the object appears to accelerate and then decelerate along a path from said first location to said second location.

21. The user interface of claim 19 wherein said user action is a command to minimize a window.

22. The user interface of claim 19 wherein said user action results in the removal of one object from a series of objects, and said means causes other objects in said series to move toward the space occupied by the removed object at said non-linear rate.

23. The user interface of claim 19 wherein said user action results in the insertion of an object into a series of objects, and said means causes other objects in said series to move away from the inserted object at said non-linear rate.

24. A computer having an operating system that includes a user interface which implements the following steps:

displaying an object at a first location within a display space;

selecting a second location to which said object is to be moved and a period of time during which the movement is to occur in response to a user action; and

moving said object from said first location to said second location at a non-linear rate of movement during said period of time.

25. The computer of claim 24 wherein said non-linear rate is a sinusoidal function, so that the object appears to accelerate and then decelerate along a path from said first location to said second location.

26. The computer of claim 24 wherein said user action is a command to minimize a window.

27. The computer of claim 24 wherein said user action results in the removal of one object from a series of objects, and said means causes other objects in said series to move toward the space occupied by the removed object at said non-linear rate.

28. The computer of claim 24 wherein said user action results in the insertion of an object into a series of objects, and said means causes other objects in said series to move away from the inserted object at said non-linear rate.