US 12,422,971 B2
Dynamic visualization of an object tracked by an object tracking system in a graphical user interface
Pedro Tacla Yamada, Sydney (AU); and Feihu Chen, Sydney (AU)
Assigned to ATLASSIAN PTY LTD., Sydney (AU); and ATLASSIAN US, INC., San Francisco, CA (US)
Filed by Atlassian Pty Ltd., Sydney (AU); and Atlassian Inc., San Francisco, CA (US)
Filed on Dec. 29, 2021, as Appl. No. 17/565,261.
Prior Publication US 2023/0205393 A1, Jun. 29, 2023
Int. Cl. G06F 3/06 (2006.01); G06F 3/04817 (2022.01); G06F 3/0482 (2013.01); G06F 3/04847 (2022.01); G06F 3/0486 (2013.01)
CPC G06F 3/0482 (2013.01) [G06F 3/04817 (2013.01); G06F 3/04847 (2013.01); G06F 3/0486 (2013.01); G06F 3/0605 (2013.01); G06F 3/0643 (2013.01)] 12 Claims
OG exemplary drawing
 
1. A computer-implemented method, comprising:
executing a web browser application on a client device, the web browser communicably coupled to a server application hosted by an object tracking system, the web browser application comprising a global cache manager having access to a data store separate from the browser application, the data store storing:
a global data cache; and
a set of local data caches each defined by a respective scope specific to a respective list element rendered in a user interface depicted by the web browser application;
sending, from the web browser application to the object tracking system, a request for virtual board data;
receiving, in response to the request to the object tracking system, the virtual board data;
storing the virtual board data in memory allocated to the web browser application;
rendering, using the virtual board data, a virtual board in the web browser application on a display, the virtual board including:
a first list including a first list object of a first size; and
a second list including a second list object of a second size different from the first size, the first list object and the second list object being transitionable between the first and second lists, each of the first and second lists including a droppable area within which a list object can be dropped, the first list object and the second list object each including at least a respective graphical object and a respective text object;
storing, by the global cache manager, a total size of the first list and the first size of the first list object of the first list in a first list cache of the set of local data caches;
storing, by the global cache manager, a total size of the second list and the second size of the second list object of the second list in a second list cache of the set of local data caches, each of the first list cache and the second list cache accessible to a rendering engine of the web browser application;
storing, by the global cache manager, the first size of the first list object and the second size of the second list object in the global data cache accessible to the rendering engine of the web browser application;
detecting, by the web browser application, selection of the first list object from the first list and movement of the selected first list object from the first list to a first current position within the droppable area of the second list;
obtaining, by the rendering engine of the web browser application from the global cache manager, the size of the selected first list object from the first list cache and adding the size of the selected first list object to the second list cache, the size of the first list object including a size of the respective graphical object and a size of the respective text;
updating the total size of the second list in the second list cache;
prior to a drop event of the first list object:
rendering and displaying a first placeholder area under the first current position within the droppable area of the second list, the first placeholder area having the same size as the size of the selected first list object; and
rendering and displaying the second list having the updated total size of the second list including the size of the selected first list object;
in response to the drop event of the first list object at the second list:
insert the first list object at the first placeholder area, the inserted first list object having the same size as the first placeholder area; and
render and display the second list having the same size as the updated total size of the second list;
detecting selection of the second list object from the second list and movement of the selected second list object from the second list to a second current position within the droppable area of the first list;
obtaining, by the global cache manager, the size of the selected second list object from the second list cache and adding the size of the selected second list object to the first list cache, the size of the second list object including a size of the respective graphical object and a size of the respective text;
updating the total size of the first list in the first list cache; and
prior to a drop event of the second list object:
rendering and displaying a second placeholder area under the second current position within the droppable area of the first list, the second placeholder area having the same size of the size of the selected second list object; and
rendering and displaying the first list having the updated total size of the first list including the size of the selected second list object; and
in response to the drop event of the second list object at the first list:
insert the second list object at the second placeholder area, the inserted second list object having the same size of the second placeholder area; and
render and display the first list having the same size as the updated total size of the first list.