= yaml = title: Roadmap toc: true = yaml =
We have recently conducted API usability tests and are working on a new high-level API to help developers get started quickly with Syncbase.
Blobs are already implemented in Go and sync across Syncbase instances, and there exists low-level RPC support, also in Go; however, there is not yet a high level API in Swift or Java to access this functionality on an iOS or Android device.
Syncbase was designed with strong support for blobs. Blobs will support a streaming upload/download API rather than the all-at-once operations of the structured data. Syncbase understands references to blobs in the structured data, making it possible to implement automatic caching and garbage collection of the blobs.
Blob references implicitly grant access to blobs in a manner similar to a capability. Blob references can be stored as values in the key-value store. There is a planned API for apps to specify per-device caching policies so that not all blobs need to be in all devices. Syncbase will watch for blob references in the structured storage and cache the right blobs on each device.
We are considering support for querying values in structured data. For example, one could find all the MyPojo
objects that have the value bar > 10
.
We are considering support for Syncbase schema. To support stronger data integrity, collections could be tied to a data schema, and Syncbase would ensure all written values match that schema or write will fail.
We have lots of ideas, but we're excited to discover what applications find Vanadium and Syncbase most useful. Please join our mailing list and let us know what you are building (or thinking about building).