IP Library Granted Patent US 10,860,200
Granted Patent B2
US 10,860,200 · App. 15/721,706 · Granted Dec 8, 2020

Drag and drop for touchscreen devices

Inventors: Bruce D. Nilo (Cupertino, CA); David Rahardja (Sunnyvale, CA); Michael T. Turner (San Jose, CA); Kurt A. Revis (San Francisco, CA); Christopher K. Thomas (Sunnyvale, CA); Stephen R. Breen (San Jose, CA); Tyler M. Fox (Santa Clara, CA); Emanuele Rudel (San Francisco, CA); Robert D. Boehnke (San Francisco, CA); Tom Adriaenssen (Santa Clara, CA); James R. Montgomerie (Sunnyvale, CA)
Assignee: Apple Inc.
G06F3/0486G06F3/0412G06F3/0416G06F3/0482G06F3/04817G06F3/04883G06F21/6218G06F2203/04808G06F2221/2137
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,860,200
App. No.
15/721,706
Granted
Dec 8, 2020
Kind
B2
Abstract

The subject technology provides for identifying an item being dragged over an application in which the items are arranged in a table in a first arrangement. The subject technology copies the first arrangement to generate a second arrangement that corresponds to an initial arrangement of the items when the item is identified as being dragged over the first application. The subject technology updates the first arrangement to reflect changed positions of the items in the table resulting from another item being inserted into the table. The subject technology updates the second arrangement to reflect changed positions of items. Further, the subject technology merges the updated second arrangement with the updated first arrangement to reconcile the changed positions resulting from the item being inserted into the table at the location with the changed positions resulting from the another item being inserted into the table.

Claims (49)

1. A method comprising:

identifying, by a user interface process, an item being dragged over a first application, the first application comprising a table of items, the items being arranged in the table in a first arrangement, and each item in the table corresponding to a respective graphical representation of a respective file;

responsive to identifying the item being dragged over the first application, copying, by the user interface process, the first arrangement to generate a second arrangement that corresponds to an initial arrangement of the items in the table when the item is first identified as being dragged over the first application;

updating the first arrangement to reflect changed positions of the items in the table resulting from another item being inserted into the table while the item is being dragged over the first application displaying the second arrangement that corresponds to the initial arrangement of the items in the table;

updating the second arrangement to reflect changed positions of items within the initial arrangement of the items resulting from the item being released for insertion into a location within the table, the second arrangement being exclusive of the another item; and

merging, by the user interface process, the updated second arrangement with the updated first arrangement to reconcile the changed positions resulting from the item being inserted into the table at the location based on the initial arrangement with the changed positions resulting from the another item being inserted into the table.

2. The method of claim 1 , wherein the first application further comprises a collection of second items, each item in the collection of second items corresponding to another respective graphical representation of another respective file.

3. The method of claim 1 , wherein the item is inserted at a position in the table of items where a different item was located in the initial arrangement.

4. The method of claim 3 , wherein the different item is moved to a different position in the table of items in response to the item being inserted.

5. The method of claim 1 , wherein the item corresponds to a file stored at a remote location.

6. The method of claim 5 , further comprising:

providing for display a placeholder image at the location within the table where the item was released until transfer of the file is completed.

7. The method of claim 6 , wherein the placeholder image comprises a progress bar indicating progress of the transfer of the file.

8. The method of claim 1 , wherein the items are arranged in the table based on a particular sorting order, the particular sorting order comprising an alphabetical sorting order.

9. The method of claim 8 , further comprising:

determining that the item is out of order from the particular sorting order based on the location in the table where the item is being inserted; and

responsive to determining that the item is out of order:

determining a second location within the table to move the item based on the particular sorting order; and

moving the item to the second location within the table.

10. A device comprising;

at least one memory; and

at least one processor configured to:

identify an item being dragged over a first application, the first application comprising a table of items, the items being arranged in the table in a first arrangement, and each item in the table corresponding to a respective graphical representation of a respective file;

responsive to identifying the item being dragged over the first application, copying the first arrangement to generate a second arrangement that corresponds to an initial arrangement of the items in the table when the item is first identified as being dragged over the first application;

update the first arrangement to reflect changed positions of the items in the table resulting from another item being inserted into the table as a result of a previously initiated local operation executing on the device, while the item is being dragged over the second arrangement of the items in the table of the first application;

update the second arrangement to reflect changed positions of items within the initial arrangement of the items resulting from the item being released for insertion into a location within the table, the second arrangement being exclusive of the another item; and

merge the updated second arrangement with the updated first arrangement to reconcile the changed positions resulting from the item being inserted into the table at the location based on the initial arrangement with the changed positions resulting from the another item being inserted into the table as a result of the previously initiated operation executing on the device.

11. The device of claim 10 , wherein the first application further comprises a collection of second items, each item in the collection of second items corresponding to another respective graphical representation of another respective file.

12. The device of claim 10 , wherein the item is inserted at a position in the table of items where a different item was located in the initial arrangement.

13. The device of claim 12 , wherein the different item is moved to a different position in the table of items in response to the item being inserted.

14. The device of claim 10 , wherein the item corresponds to a file stored at a remote location.

15. The device of claim 14 , wherein the at least one processor is further configured to:

provide for display a placeholder image at the location within the table where the item was released until transfer of the file is completed.

16. The device of claim 15 , wherein the placeholder image comprises a progress bar indicating progress of the transfer of the file.

17. The device of claim 10 , wherein the items are arranged in the table based on a particular sorting order, the particular sorting order comprising an alphabetical sorting order.

18. The device of claim 17 , wherein the at least one processor is further configured to:

determine that the item is out of order from the particular sorting order based on the location in the table where the item is being inserted; and

responsive to determining that the item is out of order:

determine a second location within the table to move the item based on the particular sorting order; and

move the item to the second location within the table.

19. A computer program product comprising code stored in a non-transitory computer-readable storage medium, the code comprising:

code to identify an item being dragged over a first application, the first application comprising a table of items, the items being arranged in the table in a first arrangement, and each item in the table corresponding to a respective graphical representation of a respective file;

code to responsive to identifying the item being dragged over the first application, copying the first arrangement to generate a second arrangement that corresponds to an initial arrangement of the items in the table when the item is first identified as being dragged over the first application;

code to update the first arrangement to reflect changed positions of the items in the table resulting from another item being inserted into the table while the item is being dragged over the initial arrangement of the items in the table of the first application;

code to update the second arrangement to reflect changed positions of items within the initial arrangement of the items resulting from the item being released for insertion into a location within the table, the second arrangement being exclusive of the another item; and

code to merge the updated second arrangement with the updated first arrangement to reconcile the changed positions resulting from the item being inserted into the table at the location based on the initial arrangement with the changed positions resulting from the another item being inserted into the table.

20. The computer program product of claim 19 , wherein the first application further comprises a collection of second items, each item in the collection of second items corresponding to another respective graphical representation of another respective file.

21. The method of claim 1 , wherein the item being dragged over the first application is from a second application different than the first application, the first application and the second application displayed adjacent to each other.

22. The method of claim 1 , wherein the item being dragged over the first application is originally from the first application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2017
From: NILO, BRUCE D.; RAHARDJA, DAVID; TURNER, MICHAEL T.; REVIS, KURT A.; THOMAS, CHRISTOPHER K.; BREEN, STEPHEN R.; FOX, TYLER M.; RUDEL, EMANUELE; BOEHNKE, ROBERT D.; ADRIAENSSEN, TOM; MONTGOMERIE, JAMES R.
To: APPLE INC.
Reel/Frame 043975/0702 →
Continuity (2)
Provisional Application 62507199 · May 16, 2017
Related Publication 20180335913A1 · Nov 22, 2018