Ceramic Roadmap Update 18/12/2023

Hello @everyone! It’s been a while since our last Ceramic roadmap update. Core Ceramic developers are starting a new cycle of projects, and we are excited to share with you what’s currently being worked on and what’s next on the horizon for Ceramic. Remember, we extremely value your feedback and input on project prioritization, so make sure to share your thoughts with us directly on the public Ceramic roadmap or in this forum thread.

You can find the Ceramic roadmap here.

:white_check_mark: Recently Delivered

Over the past few months, we focused on delivering a few new features, improving the developer experience when getting started with ComposeDB, and establishing benchmarks for performance improvements. Here’s the summary of what’s been recently delivered:

New features:

  • Query filters and sorting - a new feature, released back in September, that allows developers to filter and sort the returned query results by specific fields.
  • Interfaces - a recently released new feature that allows developers to set any type or model that must include to be compliant with the interface. This approach ensures that different models, though unique, maintain a level of standardization and interoperability.

DX Improvements:

  • ComposeDB Sandbox - a new easy way to try out ComposeDB and interact with the data stored on the Ceramic Network.
  • create-ceramic-app - a simple-to-use CLI for downloading, installing, and launching a ComposeDB Example App from Ceramic.

Performance Improvements:

  • Node.js 20 support - with the release of Ceramic v3, we added Node.js 20 support, allowing developers to leverage the most recent features and performance enhancements offered by Node.js.
  • Benchmarks and performance improvements - the team did a lot of work on establishing a baseline for current node performance and implementing fixes for the most important bottlenecks to improve overall node performance and stability.

:man_biking: Current Priorities

At the moment, the team is focused on the following projects:

  • Improve scalability using Ceramic’s Recon protocol - the team is nearing the end of the development phase of Ceramic’s Recon protocol. It’s a new Ceramic networking protocol that improves network scalability and data syncing efficiency.
  • Support Custom Indexing (Firehose) - a new set of Ceramic APIs that will enable developers to build their own custom database and indexing solutions, such as a ComposeDB alternative, on top of Ceramic’s stream APIs.
  • SET account relation - new account relations which will enable modeling data that should only be able to happen once per account for a given identifier, which could be a single field like date of birth, multiple fields like company and start date, or a relation to another document, like a product.
  • Support Verifiable Credentials natively - working on features that would allow developers to access verifiable versions of their data streams (to resolve the state of data at some particular point in time).
  • Network scalability and performance improvements as ongoing focus.

:telescope: What’s next?

In the future, we are going to put a lot of resources into the following areas:

  • Implementing Unions - the ability to query multiple models using a single query.
  • Improved DX for creating relations - enable developers to create relational models in a single GraphQL file, streamlining the current multi-step process.
  • ComposeDB node - Ceramic API formalizes the underlying Ceramic event streaming protocol and allows developers to build data(base) products using raw event streams. We will rebuild ComposeDB to make use of this new API, effectively unbundling and separating the Ceramic node and ComposeDB node.

:mega: We Need Your Input!

We want to get your input and feedback on our roadmap and priorities. Do you think some projects that are currently in the “Backlog” should take higher priority? Do you have any feature requests? Do you completely disagree with some of the projects we have on the roadmap? Let us know! Here’s how to provide feedback on the public roadmap:

  • Upvote or downvote the projects using the :+1: and :-1: emojis, respectively.
  • Leave comments with feature requests and more detailed feedback under the relevant project cards.

Thanks for sharing this valuable update @Justina! Lots of important progress and milestones across the board. Really looking forward to Recon’s scalability improvements. @nathanielc mentioned on yesterday’s core devs call that he just published 1M events to Ceramic in under an hour with this first version of the protocol!