Open Thinkering

Menu

Tag: ActivityPub

The future of collaboration is federated

These days, people collaborate and work together from all over the world. As a supporter of open technology, I am interested in approaches that help individuals and teams collaborate better, no matter where they are. Ideally, these approaches use open standards. That’s why I’m interested in a decentralised approach to task management.

Imagine a tech conference being organised by three different organisations, each with their own task management system. This could lead to confusion, missed opportunities, and duplication of effort. But with federated task management, teams can connect to one another through ActivityPub, a decentralised protocol, making it easy to work together on tasks, share updates, and exchange ideas.

Here’s how it could work:

  1. The organising committee sets up a shared project within a system which is compatible with ActivityPub.
  2. The project is divided into sub-projects for various aspects of the conference, such as venue logistics, marketing, speaker coordination, and sponsor outreach.
  3. Each organisation can create and assign tasks to their team members, but also collaborate and share tasks with members from other organisations as needed.
  4. As tasks are completed or updated, the status changes are shared across the federated network, keeping everyone informed in real-time.
  5. The system sends notifications and reminders to assigned team members, ensuring that everyone stays on track and deadlines are met.
  6. Participants can communicate and share resources, such as documents, images, or links, using the built-in collaboration features of the system.

This approach is an improvement because it allows users to control their own data while still letting them collaborate with others. It makes working together much simpler, and it helps people focus on their tasks. This tool can be helpful for many industries, like education and advocacy groups. It shows how decentralised technology can help people work together better, without the limits of traditional systems.


This post is prompted by a conversation I had with Tibor Katelbach from Communecter who has started exploring this area. There’s some prior art from the Bonfire team with the Coordination extension, which was first discussed on their blog in 2021.

Screenshot of Bonfire Coordination extension

When I started moving away from Twitter towards the Fediverse around six years ago, people told me that social networks such as Mastodon would “never take off”. Yet here we are. I hope we end up with the same situation with federated task management.


Image: Visual Thinkery for WAO

Fediverse field trip

After spending a long time researching various options for MoodleNet last year, I recently revisited the Fediverse with fresh eyes. I enjoy using Mastodon regularly, and have written about it here before, so didn’t include it in this roundup.

Here’s some of the social networks I played around with recently, in no particular order. It’s not meant to be a comprehensive overview, just what grabbed my attention given the context in which I’m currently working. That’s why I’ve called it a ‘field trip’ 😉

Misskey

Weird name but pretty awesome social network that’s very popular in Japan. Like MoodleNet and Mastodon, it’s based on the ActivityPub protocol. In fact, if you’re a Mastodon user, it will feel somewhat familiar.

Things I like:

  • Drive (2TB storage!)
  • Lots of options for customisation, including ‘dark mode’
  • Easy search options
  • Connect lots of different services
  • API

Socialhome

‘Card’-based social network that uses a Bootstrap-style user interface. Quite complicated but seemingly flexible.

Things I like:

  • Very image-friendly
  • API
  • Data export

Pleroma

Pleroma is a very scalable social network based on Elixir. It’s like Mastodon, but snappier.

Things I like:

  • Clear Terms of Service
  • Very configurable (including formatting options)
  • ‘The whole known network’
  • Export data and delete account
  • Restrict access

Prismo

https://prismo.news

A new social network to replace sites like Reddit. Users can vote up stories they’re interested in and add comments.

Things I like:

  • Clear, crisp design
  • Obvious what it’s to be used for
  • Simple profiles

Movim

https://movim.eu

Uses the XMPP protocol for backwards compatibility with a wide range of apps. Similar kind of communities and collections approach to MoodleNet, but focused on news.

Things I like:

  • Modals help users understand the interface
  • Focus on communities and curation
  • Option to chat as well as post publicly
  • Easy to share URLs
  • Clear who’s moderating communities

Kune

https://kune.ourproject.org

Based on Apache Wave (formerly Google Wave) which is now deprecated.

Things I like:

  • Combination of stream and wiki
  • Indication of who’s involved in creating/discussing threads
  • Everything feels editable

GNUsocial

https://gnu.io/social

https://fediverse.party/en/gnusocial

Uses the OStatus protocol and was the original basis for Mastodon (as far as I understand). Feels similar to Pleroma in some respects.

Things I like:

  • Feels like early Twitter
  • Easy to use
  • Configurable

GangGo

https://ganggo.git.feneas.org/documentation

Built in GoLang and uses the same federation protocol as Diaspora. Still in alpha.

Things I like:

  • Simple UI
  • Vote up/down posts
  • Private and public streams

Along with Mastodon, I didn’t include Pixelfed in here because I’m so familiar with it. I possibly should have included PeerTube, Friendica, Diaspora, and Scuttlebutt. Perhaps I’ll follow this up with a Part 2 sometime?

Creating the world’s smallest social network (for testing purposes)

Note: I’m writing this post on my personal blog as this isn’t an official Moodle pronouncement, just some experimentation.


I’m leading Project MoodleNet, which will be “a new open social media platform for educators, focused on professional development and open content”. There are decisions I have to make, and these need to be based on criteria, prioritisation, etc.

One of the things I’m keen to do with the professional social networking component of Project MoodleNet is to ensure that it’s decentralised. By this I mean that, unlike Twitter and Facebook and Instagram, it won’t be a ‘silo’ of information.

Instead, Project MoodleNet will be federated in a way which allows information to flow between instances. It’s well explained in this article, which includes the following diagram which outlines the technical protocols on which a number of options are based:

Venn diagram of the Fediverse

As you can see, the ActivityPub protocol is definitely a candidate for the professional social network aspect of Project MoodleNet. Last week it became a W3C recommended standard.

For less technical readers, the upshot of this is that users can send messages, files, and (most importantly) emojis to anyone on any server that uses the ActivityPub protocol. Products and services built upon this protocol may look and feel very different, but all of the data is interoperable.

ActivityPub diagram
The W3C specification, which includes these diagrams, is surprisingly readable!

Mastodon is a social network which was originally built on the OStatus protocol, but which is now also compatible with ActivityPub. I’m a member of the social.coop instance, although there’s no limit on the number of different accounts you can hold on different instances.

Although they have a common basis, you find differences between Mastodon instances. For example, some have a particular focus, meaning that the stream of updates you get from your own instance might be focused on gaming, or education, or LGBT rights. There’s also differences between the kind of languages and content allowed by instances.

No matter which instance you’re on, however, you can follow anyone from any instance. You can see this in the screenshot below.

Mastodon screenshot

From left to right:

  • My ‘Home’ stream is populated with updates from the people and accounts I follow.
  • The ‘Notifications’ stream works the same as Twitter (replies, favourites, boosts)
  • ‘Local timeline’ is everyone on the same instance as me.
  • ‘Federated timeline’ is everyone’s updates in the Fediverse.

In practice, it’s a lot like TweetDeck (I think on purpose).

I wanted to have access to a testing version of Mastodon to look at the administration and moderation functionality. Paul Greidanus was kind enough to spin up an instance which, for obvious reasons, isn’t federated to the rest of the network.

Mastodon - Moodle

I closed self-registration and invited some Moodle staff to create an account via a special link. As you can see, it was pretty quiet. That’s OK, however, as I’m really just interested in the moderation and admin functionality.

To access the additional options available as a moderator and/or admin exist in the same place as user settings. It’s a nice touch, and the way that it’s presented makes it easy to focus on what you want to achieve, rather than getting sidetracked with technical stuff.

Mastodon moderation audit

The audit log shown in the screenshot above is useful, particularly for GDPR compliance, and reporting reasons.

Mastodon moderation - invitations

This is also the place where you can generate invitations, which can have a maximum number of uses and/or expire after a certain time. There’s also functionality around blocking email addresses from certain domains from registering.

On the admin side of things, this is where you can configure the public description of the instance, add contact details, and specify the rules and other guidelines.

Mastodon admin

The thing that interested me most, however, was CUSTOM EMOJIS:

Mastodon - custom emojis

Finally, there’s various technical reports, and queries you can run from a technical point of view.

I have to say that I wasn’t expecting the moderation and admin side of Mastodon to be so… user-friendly. It’s incredibly easy and intuitive to use, although it does mean delving into the code if, say, you want to change the default background colour to orange!

The next thing to do is to experiment with Hubzilla, which is also mentioned on the Venn diagram earlier in this post. It’s important to experiment both technically and with users, and weigh all of these things against the principles that underpin Project MoodleNet.

Exciting times!


Main image by Slava Bowman used under a CC0 license

css.php