Back

Mastodon and the W3C

The Pub is Now Open, ActivityPub that is!

Eugen Rochko

CEO / Founder

Mastodon is a free, open-source federated social network spanning over 800,000 users spread across more than 2,000 servers.

Mastodon v1.6 is here, and it is the first Mastodon release which fully implements the ActivityPub protocol. ActivityPub is a new federated messaging protocol developed by the World Wide Web Consortium (W3C) which aims to fix the shortcomings of past standards like OStatus.

Mastodon is one of the first platforms, and certainly the first major platform to implement this new standard and prove it in the wild. It was a natural upgrade for our project, as we long ago reached the limits of what OStatus was capable of. And what we needed was better privacy, better defaults, better cryptographic verifiability, and better distribution mechanisms.

This protocol is also very flexible in what it allows you to express and it is naturally extensible as it is based on JSON-LD. Besides allowing Mastodon to fully and reliably exchange the data it currently needs to exchange, it also has a lot of potential for future developments in the area of distributed identities and end-to-end encryption.

Servers which support this new protocol will use it in version 1.6. OStatus is still available as a full-fledged fallback.

Here are some of the juicier highlights from this release:

1. We’ve improved the integrity of distributed conversations. Up until now, the only server which had a full view of a conversation was the server of the conversation’s starter, as all responders sent their replies to it. But the servers of the responders or followers had only an incidental view of the conversation conversation; to get a full view, one would have to either follow the other responders, or get a reply from the conversation starter. Now, the server that receives the replies forwards them to followers’ servers as long as they are public. This means that when opening the conversation view on a different server, it will be as complete as on the origin server. This is especially helpful to those who run single-user instances, as they are the least likely to have already been following all responders.

2. Another feature, which is small, but has a big UX effect, is that we can finally fetch account statistics from remote profiles (total toots, number of followers, etc.), as there is now a standardized way of expressing this using ActivityPub. Technically this is not a big deal, but it did confuse new users when they saw someone from another server with a seemingly empty profile, when in reality it had thousands of toots and followers.

3. Speaking of profiles, this release brings you redesigned public profile pages, as well as the ability to pin certain toots on them to be permanently displayed. By default, stand-alone toots are displayed, and there are now tabs for toots with replies and toots with media.

4. The function of getting embed codes for toots is now more accessible — through a button in the web UI, and not just through the OEmbed API. The look of the embedded view has also been refurbished, and an optional script has been added to ensure the embeds have the correct height. I am excited to see Mastodon content appear on other websites.

5. To improve the experience of brand new users, we’ve added something in the old tradition of MySpace Tom — except instead of following some central Tom, new accounts will start off following their local admins (this can be adjusted by the administrator). That way, on your first login you are greeted with a populated home timeline instead of an empty one.

All in all, this release is all about filling the gaps in the server-to-server layer, improving content discovery and first time experience of new users, and making it easier to share Mastodon content.

Big shout-out to Chris Webber, Puck Meerburg, and Unarist specifically, and to the W3C Social Working Group in general for helping put everything together.

Likewise none of this would be possible without the support of our patrons. Thank you!

Mastodon is free, open-source software. The development is crowdfunded through Patreon and Liberapay. The source code is available on GitHub. General information and a list of instances is available on joinmastodon.org

New Features

M for Mastodon

My name is Eugen Rochko and I’m the creator of Mastodon, a free, open-source federated social network with over 760,000 users. You can check it out here. The Mastodon project is finally well-represented visually. I always felt like the previous logo did not do it justice. To its credit, it was both an M, and 3 sideways speech bubbles, but it did not scale well and overall it was just a circle. Now, after months of planning and weeks of back and forth with the designer, we have a distinct shape and a distinct font.

Eugen Rochko

CEO / Founder

Op-Ed

April post-mortem

This is an update for my Patreon supporters. It is posted on Medium because of its superiour formatting capabilities. So, April, huh. A lot happened. I was putting off writing an update on here because I knew I had to go into detail on all the things that happened, and that’s quite a daunting task. Before I dive into things, a couple short notices: The way I work with the GitHub repository has changed. I no longer work directly on the master branch. I (and other volunteers) work on feature branches. Something can only be merged into the master branch through a pull request that receives a review and approval from at least one trusted contributor. This means that the master branch is a lot more stable, and there is a lot more accountability for who does what and when. However, the master branch is still not a stable enough medium for the (literally) thousands of Mastodon instances running in production. Therefore, we now do actual releases — v1.1, v1.2, v1.2.2 etc. The releases now contain detailed changelogs, linking back to the pull requests in which the changes were made, with a list of all contributors for the release at the bottom. This replaces the changelogs I was publishing on this blog.

Eugen Rochko

CEO / Founder