Patent ID: 7930646

Claim:
A method to be executed at least in part in a computing device for dynamically updating a virtual list view, the method comprising: detecting a speed of scrolling by a user in a virtual list view presentation of an application user interface presenting downloaded data; when the scrolling speed is below a predefined threshold, continuing to download the data and updating the presentation in a view port continuously; when the scrolling speed is above the threshold, skipping downloading for blocks of data rows that are scrolled through by the user until the scrolling speed drops below the threshold again; when the scrolling speed drops below the threshold again, downloading a preset number of blocks that include a block to be presented in the view port and a number of blocks preceding and following the block to be presented; and displaying the block to be presented in the view port; determining whether a number of rows in a selection are absent at the computing device; when a number of rows in a selection are absent at the computing device, initiating a synchronous call to a data source maintaining data of the absent number of rows for requesting missing rows utilizing row identifiers; determining whether a portion of data at the data source has changed; and when a portion of data at the data source has changed, updating the application user interface by providing an identifier of an affected data row, a change for the data row, and a position indicator for the row, wherein the update is performed in one of: a per row basis, and a batch of rows basis.