Offline structured data navigation on a mobile device
AssigneeQuickBase, Inc.
InventorsJonathan Williamson, Siddhant Benadikar
Life of this patent
Estimating the term…
Abstract
The invention provides, in some aspects, a digital data processing method that includes executing a remote app on a client digital data processor that is adapted to be at least intermittently connected for communications with a server digital data processor and, with the remote app, requesting from the server digital data processor a schema of a table used by the app. The remote app uses that to facilitate user navigation of records or other structured data in the table by presenting a view or report of such records (or other structured data) in the table in accord with a format and content defined in the schema and/or selecting table data for presentation in the view or report based on a query defined in that schema.
Claims12
A method of remote app execution comprising the steps of
- A. executing a remote app on a client digital data processor that is adapted to be intermittently connected for communications with a server digital data processor,
- B. with any of the remote app and a proxy executing on the client digital data device, requesting from the server digital data processor a schema for a table that is used by the app, and utilizing that schema to prefetch from the server digital data processor data for the table, and
- C. with the remote app, utilizing that schema
- (i) to facilitate user navigation of records in that table by presenting a view of records in the table, where the format and content of that view is defined in the schema, generating a report of records in the table, where the format and content of that report is defined in the schema, and selecting records for presentation in the view or report based on a query defined in that schema, and
- (ii) to respond to user input during execution of the application to generate requests to obtain table records from the server,
- D. with the client digital data device,
- (i) during intervals when there is connectivity between the client digital data processor and the server digital data processor, passing to the server digital data processor said requests, even if data requested by those requests has previously been fetched to and cached on the client digital data device,
- (ii) during intervals when connectivity between the client digital data processor and the server digital data processor is lacking, responding directly to the remote app in response to those requests, using previously fetched data without, first, passing those requests to the server digital data processor, and
- (iii) caching data prefetched from the server in step (B) and data fetched from the server in step (D)(i).
A digital data processing system, comprising
- A. a server digital data processor that maintains a table comprising records,
- B. a client digital data processor that is adapted to be intermittently connected for communications with the server,
- C. a remote app on a client digital data processor, the remote app executing instructions to cause that digital data processor to request from the server digital data processor a schema for a table that is used by that app, and to utilize that schema to
- (i) prefetch from the server digital data processor data for the table,
- (ii) present a view of records in the table, where the format and content of that view is defined in the schema,
- (iii) generate a report of records in the table, where the format and content of that report is defined in the schema,
- (iv) select records for presentation in the view or report based on a query defined in that schema, and
- (v) respond to user input during execution of the application to generate requests to obtain table records from the server,
- D. a proxy executing on the client digital data processor to
- (i) during intervals when there is connectivity between the client digital data processor and the server digital data processor, passing to the server digital data processor said requests, even if data requested by those requests has previously been fetched to and cached on the client digital data device, and
- (ii) during intervals when connectivity between the client digital data processor and the server digital data processor is lacking, responding directly to the remote app in response to those requests, using previously fetched data without, first, passing those requests to the server digital data processor
- (iii) caching data prefetched from the server in step (C) (i) and data fetched from the server in step (D) (i).
Dependencies are inferred from the claim text.