TNS
VOXPOP
Will JavaScript type annotations kill TypeScript?
The creators of Svelte and Turbo 8 both dropped TS recently saying that "it's not worth it".
Yes: If JavaScript gets type annotations then there's no reason for TypeScript to exist.
0%
No: TypeScript remains the best language for structuring large enterprise applications.
0%
TBD: The existing user base and its corpensource owner means that TypeScript isn’t likely to reach EOL without a putting up a fight.
0%
I hope they both die. I mean, if you really need strong types in the browser then you could leverage WASM and use a real programming language.
0%
I don’t know and I don’t care.
0%
Frontend Development / Open Source / Software Development

Lighting a Bonfire Under Social Media: Devs and ActivityPub

Developers are flocking to the fediverse — and not just Mastodon. Apps like Bonfire, Hometown & OLKi are forcing a re-think of social media.
Nov 28th, 2022 1:20pm by
Featued image for: Lighting a Bonfire Under Social Media: Devs and ActivityPub
Image via Shutterstock 

As developers begin to shift away from post-Musk Twitter and contemplate building apps on federated social media protocols, many are asking themselves: what can I do with ActivityPub, the key open protocol of the fediverse?

ActivityPub enables different applications to federate content between themselves, which both enables and encourages the open web. The specification from the World Wide Web Consortium (W3C) is thorough and has good explanatory materials, but even one of its authors admits it is difficult at first to grok.

“Nobody understood ActivityPub for a long time,” said the spec’s co-editor Christine Lemmer-Webber in a Mastodon post. “I would explain and explain and explain and it was just so hard to make progress that way. It took until people could touch it for more than a few to respond that they *got it*.”

ActivityPub 101 for Devs

We’ll get to a few implementations of ActivityPub shortly. But first, despite Lemmer-Webber’s warning, it’s important to at least understand the high-level details of how this technology works.

The first thing to understand about ActivityPub is that it uses a data format defined by ActivityStreams 2.0, a prior W3C protocol that aimed to define “a social data syntax.” So, for example, ActivityStreams 2.0 defines an object model that includes actor, content, link, and activity. An “actor” means a user of an application like Mastodon.

Another relevant spec is JSON-LD 1.1 (JavaScript Object Notation for Linked Data), which is how data is transmitted. It’s an extension of the popular JSON format, which is how data is typically transmitted between web applications. The “Linked Data” part simply means it has more structure than normal JSON data, which makes it easier for websites and applications to federate with one another.

For more in-depth developer resources, I recommend bookmarking this guide for new ActivityPub implementers. It’s a treasure trove of links to tutorials and other reference material.

Bonfire: Thinking Big about Microblogging

The most popular ActivityPub implementation — and the one that’s easiest to understand, given its similarity to Twitter — is Mastodon. Like Twitter, you have an account on Mastodon (actor), you create posts (the Content object), you “like” things (a type of activity), and so on. Mastodon has become the main beneficiary of the #TwitterMigration, because it shares a very similar data model to Twitter. But ActivityPub allows for a much wider range of web applications than this.

The best way to explain this is to look at some examples that are doing social media in a different way than we’re used to. Take Bonfire, an application that allows you to “customize and host your own online space and control your experience at the most granular level.”

The granularity is achieved by users defining “circles,” so that you don’t need to sort people into “binary boxes” such as friend or follower. If this concept sounds familiar, it’s because Google tried to introduce “circles” into social networking via its ill-fated Google+ product (now in the Google Graveyard, among many other former products from Mountain View). In addition to circles, Bonfire has a concept it calls “boundaries,” which allows users to define how their contacts can interact with them. So the granularity isn’t just about sorting your contacts, but having control over what kind of content certain contacts can see.

Bonfire was launched in June this year as a beta. The team refers to it as a “playground” and you can sign up for a test account in this playground instance.

Screenshot via Bonfire (click here for full image)

Bonfire was created by Ivan Minutillo and Mayel de Borniol, and when they launched the beta they called it a “federated app toolkit.” Their idea wasn’t just to create a single app, like Mastodon, but to allow developers to create “extensions” for the core Bonfire product. One early example is a project called Kanban, which aims to provide “federated project coordination” functionality to Bonfire.

When you sign up for the playground, you’ll notice similarities with Mastodon and/or Twitter — the ability to follow people, make posts, like posts, view recent posts in a timeline, and a “trending topics” panel. But there are also differences, as explained in another article from the creators:

“Choosing what you see in your home feed, changing the interface theme and font, switching between multiple profiles, rich text formatting in posts, setting a title for threads, and granular blocking options are a few features that may be new to beta testers.”

Tweaking Web 2.0

So far in the fediverse, many of the apps built on ActivityPub are facsimiles of popular Web 2.0 apps — Bookwyrm is a copy of Goodreads, Lemmy is a copy of Reddit, PeerTube is a YouTube clone, PixelFed is Flickr 3.0, and so on.

While Bonfire is trying to go beyond a typical microblogging platform, the beauty of the fediverse is that you don’t need to upend everything that already exists. Sometimes small but significant tweaks are enough.

That’s the philosophy behind Hometown, a fork of Mastodon created by Darius Kazemi, who was an early adopter of the fediverse. One of the main features of Hometown is “local-only posting,” which gives users the option of not federating their posts. When I spoke to Kazemi back in May about this, he said that 70% of the posts on Hometown are local-only, which he said encourages community. “Local posting acts as fuel to the fire,” he said, “it makes people want to post more.”

“And so even though only 30% of our posts go out into the world, overall there are more posts going out into the world from our server than most servers of a similar size,” he added.

New Audiences

Another thing to watch out for in the fediverse is apps that bring new audiences to the social web. One that caught my eye was OLKi, which was built with scientists in mind. While it wants other “fediverse citizens” to use the site as well, the goal is to bring “research papers, datasets and peer reviews to a larger network of federated social platforms, with no vendor lock-in and on a platform you can host and control.”

Given the predominance of gated websites for scientific papers, I love the idea behind OLKi and hope it gains traction.

OLKi is looking out for science fans.

In conclusion, remember that the fediverse is very new and developers are still figuring out how to use the protocols. So be patient with it. It’s especially heartening to see the resurgence of interest in the open web, thanks to the fediverse (and indirectly, thanks to Elon Musk).

Group Created with Sketch.
THE NEW STACK UPDATE A newsletter digest of the week’s most important stories & analyses.