· 4 min read

ActivityPods 2.0 is out!

We are thrilled to announce the official release of ActivityPods 2.0, a framework and platform that allows users to create a single account for multiple decentralised social applications while also providing developers with the tools to build and integrate these applications.

We are thrilled to announce the official release of ActivityPods 2.0, a framework and platform that allows users to create a single account for multiple decentralised social applications while also providing developers with the tools to build and integrate these applications.

What is ActivityPods?

ActivityPods allows users to create a single account for multiple decentralised social apps. With an account, users get a Personal Online Datastore (Pod) to store all their data, as well as an ActivityPub inbox and outbox for communicating across the “Fediverse”.

ActivityPods implements part of the Solid protocol (full compliance is planned in the long term), which separates user identities, data storage, and applications. This allows multiple applications to use the same data, ensuring that your social network is available across any app that uses ActivityPods.

Such interoperability is possible because all data is stored using the RDF (Resource Description Framework) format. This allows for the flexible handling of decentralised, graph-based data. These are formatted using JSON-LD (JSON Linked Data), which maps JSON to RDF.

ActivityPods client and server model

ActivityPods client and server model

With ActivityPods, each Pod has its own SPARQL endpoint for querying RDF data, and applications can also use classic REST APIs via the Linked Data Platform protocol.

Apps access grants

As announced in our previous blog post, ActivityPods 2.0 introduces key updates in how apps interact with user data.

Now apps need to request and be given access grants for their specific needs. For example, an app might require access to the inbox and outbox to create and share events with friends. Users must approve the app’s access needs before the app gains the necessary permissions.

In ActivityPods 2.0, apps have a frontend and a backend. The frontend receive a Solid-OIDC token that only gives access to the requested data. The backend can also interact with the user’s Pod in an asynchronous manner, using HTTP signature.

Authorization screen for Welcome To my place

Authorization screen for Welcome To my place

We’ve implemented part of the Solid Application Interoperability specification (that is still work-in-progress) to enable this process.

App framework

ActivityPods is a two-sided project: it is a Pod provider, that can be installed by anyone with a simple Docker configuration, and it is a full-featured framework to develop decentralized social apps.

In addition to the frontend components that are available as part of the SemApps project, we now also offer backend services to help apps interact with the Pod asynchronously, such as reading and writing data, setting permissions, listening to the inbox or outbox, etc.

Check out our new documentation website for more information, and in particular our tutorial if you want to create your first social app in less than 30 minutes!

Please note that our app framework is totally optional: since the Pod providers rely solely on standards and protocols, you are free to use any other language or framework to develop your apps.

Other new features

Other new features include:

  • A brand new data browser for inspecting and navigating resources stored in your Pod. If you activate the “Developer Mode” (in the advanced settings), you will be able to see internal resources of the Pod, and view their JSON-LD representation.
  • The implementation of the Solid notifications protocol so that it is possible to listen to data changes on a Pod, through webhooks or web socket. For example, clients can receive live notifications when a new activity arrives in their inbox.
  • The ability to export and delete all your Pod data.

Check out this PR for a full list of changes.

What is next?

There’s a lot on the horizon for ActivityPods, including:

  • Collective Online Datastores (CODs)
  • Advanced permission management
  • Encryption of Pod data
  • Improved compatibility with the Solid protocol suite
  • Accounts portability

In ActivityPods 3.0, we plan to use NextGraph, a novel local-first end-to-end-encrypted semantic web platform, as a replacement for our triple store. This first collaboration will open the door to many more improvements. Stay tuned for updates!

How can I contribute?

There is a lot to be done and we are looking for people to join us!

  • Spread the word
    Help us talk about the future of decentralised social networks and data ownership! Tag us on the Fediverse at @activitypods@fosstodon.org.

  • Get in touch
    Join the conversation on our Matrix space. There, you can present yourself or ask questions. We hold open weekly meetings every Thursday at 15:00 CET, and we welcome everyone — from users to developers to experts.

  • Submit issues
    If you find a bug or notice something that is not working, we are happy to hear from you! There are many things that can be improved. You can create issues on GitHub.

  • Contribute to the documentation or development
    If something in our documentation seems unclear, consider raising an issue or contributing a PR. Your contributions to both the documentation and the software are incredibly valuable. If you like, check out good first issues on GitHub.

Conclusion

With the release of ActivityPods 2.0, we’ve introduced a range of powerful new features for both users and developers, making decentralised social apps easier to build, use, and manage. Get involved and join us in shaping the future of decentralised networking!