Patent ID: 8347238

Claim:
A method, comprising: at a computing device with a display and one or more user input devices adapted to detect user gestures: displaying a user interface including: at least one user interface element configured to be moved within the user interface in response to user gestures, and a plurality of alignment guides, wherein: respective alignment guides in the plurality of alignment guides are configured to attract the user interface element being moved when the user interface element is closer than a first predefined distance threshold to the respective alignment guide, and, respective alignment guides in the plurality of alignment guides are associated with respective gravity variables configured to vary the attraction strength between the alignment guide and the user interface element being moved; detecting a first portion of a first user gesture, the first user gesture corresponding to a gesture to move the user interface element within the user interface; in response to detecting the first portion of the first user gesture, initiating movement of the user interface element within the user interface; after movement of the user interface element is initiated, snapping the user interface element to a first alignment guide; after snapping the user interface element to the first alignment guide, detecting a second portion of the first user gesture that is different than the first portion of the first user gesture; in response to detecting the second portion of the first user gesture: moving the user interface element away from the first alignment guide, and, adjusting the gravity variable associated with the first alignment guide; after adjusting the gravity variable associated with the first alignment guide: detecting a third portion of the first user gesture; in response to detecting the third portion of the first user gesture, snapping the user interface element to a second alignment guide in the plurality of alignment guides when a gravity variable associated with the second alignment guide is greater than the gravity variable associated with the first alignment guide; detecting a termination of the first user gesture; in response to detecting the termination of the first user gesture: maintaining the adjusted value of the gravity variable associated with the first alignment guide, wherein the adjusted value of the gravity variable associated with the first alignment guide is maintained for a succession of user gestures for moving the user interface element within the user interface; and incrementally adjusting the gravity variable associated with the first alignment guide upon detecting termination of respective user gestures in the succession of user gestures.