Project

Roadmap

The BAQ platform already supports many types of apps today, but we’re excited to bring new features and tools to enable developers to do even more in the future.

Ideas or suggestions? Let us know on Discord­, GitHub­, or by email­.

  • SDK — Infinite loading

    Update the useRecordsQuery()­ hook to make it easy to load more data.

  • Protocol — Standard error codes

    Publish an exhaustive specification of all the possible error codes that the API endpoints can return and their meaning.

  • Protocol — Rate limiting

    Standardize the way servers should rate limit, and let the SDK automatically backoff and retry when needed.

  • Protocol — Default values in Schemas

    Let BAQ Schemas specify default values for JSON properties. This will also make it possible to add new required properties when publishing new versions of a schema.

In the next few months:

  • Protocol — Sidecar records

    Attach a record to another and fetch both together. This makes it possible to extend popular record types without losing compatibility.

  • Protocol — Record conditions

    Add conditions in record types to enforce more constraints upon creation of the corresponding records.

  • Protocol — Counters

    Specify what needs to be counted and aggregated within BAQ schemas, and instantly fetch the current values when needed.

  • Protocol — Federation

    Federation has been part of the protocol design from the start, but it needs documenting and public federation needs to be enabled on BAQ.RUN­.

  • Protocol — Multipart blob upload

    Make it easier to upload larger blobs to a BAQ server by allowing parts of a file to be uploaded separately.

  • Protocol — Account migration

    Let users move freely from one server to another without losing any of their data, apps, or connections.

  • Protocol — Content filters

    Filter records by the nature of their content. Already possible on a per-app basis, but this will make it standard. Same for content warnings.

  • Tooling — Open-source server

    Single-user, open-source server that can be deployed for self-hosting or used during development to run apps locally or in CD/CI.

  • Tooling — Server test suite

    Full integration test suite to validate BAQ servers. Used against BAQ.RUN­ and the development server. Required for federation.

  • SDK — Offline-first

    Build offline-first apps using the JS SDK. This will handle local data storage, garbage collection, re-sync on launch, and so on.

  • Files app — Basic features

    Make it possible to share files and folders, display thumbnails, preview files directly. Release a mobile app.

  • Messages app — Group chats

    Add group chat support with the ability to name a specific group, add/remove people over time, and leave unwanted groups.

  • Bird app — Android support

    Make the mobile app available to Android users.

In the next few years:

  • Tooling — Record type registry

    Think NPM for record types. Make it easy to find popular record types and add them to an app in a click.

  • SDK — Native support

    iOS and Android native SDKs, with more platforms to follow. Let more people build on BAQ!

  • Protocol — User groups

    Add groups of users to the record permissions. Groups can be updated down the road to grant or remove access.

  • Protocol — Search

    Some advanced search use-cases may always need to be handled at the app level, or by 3rd party engines. But basic search needs to be standard.

  • Protocol — Real-time collaboration

    Enable instant collaborative editing through built-in CRDTs without the need for any app-specific server infrastructure.

  • Protocol — E2E encryption

    Support end-to-end encryption and make it as simple as a flag when creating any type of record.

  • Protocol — Payments

    Support purchases, subscriptions, micro-transactions, and attention-based payments. Simplify the online shopping experience once and for all.

  • Protocol — Propagation scaling

    Update the protocol as the BAQ network grows to support the distribution of records to millions of servers and followers.

  • Files app — Desktop sync

    Desktop client to seamlessly synchronize entire folders in the background with the Files app.

  • Messages app — Mobile apps

    Rich messaging clients for the two major mobile platforms.

  • Notes app

    Take your notes with you everywhere, safely stored on your BAQ server.

  • Photos app

    Reclaim your photos and keep these precious memories under your control.

  • Hardware IoT platform

    Build connected devices for consumers without worrying about pairing new hardware, authenticating users, and synchronizing state.

  • Operating system

    What if every app you ran stored their data as BAQ records? And what if the OS itself acted as a gigantic local cache? And what if everything was always in sync between your devices? Come dream of the future with us!

© 2024 Quentez