Last month I went to Brussels for FOSDEM, for the first time since 2020. While I didn’t go to many talks, I was able to connect with many people there, from WriteFreely users to old friends to many new people I met along the way.


After taking a bit of a sabbatical in 2022, I’m back into and WriteFreely development. My views on the product naturally change over time, so I want to share where I’m at now.


In discussing the network topology of social networks — whether centralized like Facebook or federated like ActivityPub — I think the ultimate goal is for users to never actually encounter the underlying architecture.

To remain human-centric, ideally services wouldn’t bend social interactions to fit a chosen technical design. Instead, you would just publish to the network you choose, freely pick your persona for each place (how you present yourself), and keep control of your content (i.e. you still have it if a network goes offline, and you can move it from place to place). For bonus points, you could also build dynamic new social interactions on the network.

This idea isn’t revolutionary; we’ve seen most of these things in one form or another. But have we ever had it all in one place?


Seemingly overnight, there’s been a whole new version of the Web invented, dubbed “web3.” I’ve seen a lot of people talk about it online lately, so I started looking into it to see if it’s worth paying attention to.

What I’ve found is summed up in my (slightly cheeky) web3 analysis. Basically, it’s that “web3” is a set of blockchain-based technologies with some very specific use cases. Many proponents are happy to make wild claims as to how this is truly “the future,” and more thoughtful community members seem to be drowned out by hype men who look at the tech uncritically.

From my conversations and research, it seems to me “web3” is at best poorly branded, having less to do with the Web itself than new ways to do commerce on the web. Overall, the hype seems disproportionate to the real-world usability or application, even when the idea is eventually fully realized.

Seeing that, I started wondering: if not this, what would a true iteration of the Web look like?


Since joining the fediverse as a user in 2017, then starting to produce ActivityPub software in 2018, I've made the decentralized social web my home. It just feels right — as “right” as a digital space can be — and so I want to help it grow.

Here are some things I'd like to see, and some of the projects we're building at to help the ecosystem along.


A recurring problem I and others see in the fediverse, with both new and veteran users, is the issue of a single identity.

I wrestled with this when I first created a Mastodon account, going straight for one on, as most people do. But when I wanted to start my own writing-centric instance, I had to create a new personal account on it and mention my account in the bio, and vice versa. I was the same person, but speaking to different audiences — one, a general audience and the other, more about writing.

Many people create multiple accounts — the point, especially on niche instances, is to get access to the local timeline and see the conversations around your instance's niche. (There are probably better ways to handle this specific problem, but I digress.)

The issue of identity really started to grow as new platforms popped up. There's PixelFed / Anfora for photos, PeerTube for videos, Plume and WriteFreely for blogging, and many more in the works. Though #ActivityPub allows you to follow and comment on all these services from a single identity, current implementations unfortunately don't accommodate the other side: the publisher hoping to utilize all these services under a single identity.

But I think I have a solution — one I mentioned in a recent conversation in the fediverse.

Essentially, we could make each ActivityPub service work both as a publishing platform and a client to other AP services. So for example, if I wanted my primary identity to be a Mastodon account, I could also create a PixelFed account like normal and hook it up to that Mastodon account. In this scenario, PixelFed would let me turn off publication of any ActivityPub endpoints (so people aren't also following my PixelFed account), and would simply interact with Mastodon's API as a client. With this kind of setup, I could use PixelFed's photo uploading / filtering features and have everything go to the profile of mine that people already follow, over on Mastodon. With this, people could combine any number of services to publish a variety of posts all to a single identity.

With the projects I'm building, WriteFreely and, you might use your WriteFreely blog as your primary identity, and then by hooking up your account, any posts you boost from there would be published to your blog.

Of course, making this work in practice will involve much more work that wouldn't otherwise be needed. For one, each platform would need to be able to store any kind of activity out there published by another platform. And some platforms will be more suited to play the “identity” role than others.

Still, I think it's an interesting idea. And I'll be experimenting with it in the future to see if it's all actually possible.

#fediverse #WriteFreely #ReadAs

Now #hashtags are included in the post data sent out to the #fediverse! This means that besides helping organize your writing on your blog, hashtagging your posts will make them show up in searches too, like this:

A screenshot of this post in Mastodon, in the search results for "hashtags"

We also support #CamelCase tags, and encourage everyone to use them to help visually impaired people reading your posts.

Next I'll include any image attachments, and then the only remaining feature to complete this basic implementation is to support scheduled posts. Once that's done, I'll move on to fixing interoperation with other platforms besides Mastodon.

#WriteAs #tags #ActivityPub