Skip to main content


Items tagged with: activitypub

Friends, I need your help. I'm working on the Far Horizons chapter for the #ActivityPub book, where I discuss future applications for AP. I've got dating, enterprise software, job search, IOT, marketplace, and others.

What's a far-out application of ActivityPub you've thought of that I might not have?

What do you think of when you hear the word "Fediverse'?

Please note that this is only a question about the meaning of the term, not wich protocol is better or if bridges between protcols are a good or bad thing.

Boost for more reach would be nice. :blushy:

#fediverse #activitypub #Mastodon #bluesky

  • Instances connected by using the ActivityPub protocol. (65%, 27 votes)
  • Any network of connected Servers regardles the used protocol. (17%, 7 votes)
  • Something else, I wrote in the comments. (12%, 5 votes)
  • No opinion about that. (4%, 2 votes)
  • I never heard the term Fediverse. (0%, 0 votes)
41 voters. Poll end: 2 weeks ago

One of my takeaways: it is not widely understood what is required for federation that is _not_ in the #ActivityPub spec

To federate with other AP instances requires consensus on:

* How to post and load posts (http signatures, not in the spec)
* Account lookups (eg, webfinger)
* What the meaning of a "note" is (overloaded term)
* How to interpret collections and navigate them (not in the spec, or rather it's in the spec but is so broad as to not be useful)
* Reply flows



If you are building a social application that is NOT a microblogging application, why would one choose #ActivityPub? What concrete advantages—not theoretical nor dependent on the rest of the world changing—does it give you?

Internationalise The Fediverse

We live in the future now. It is OK to use Unicode everywhere.

It seems bizarre to me that modern Internet services sometimes "forget" that there's a world outside the Anglosphere. Some people have the temerity to speak foreign languages! And some of those languages have accents on their letters!! Even worse, some don't use English letters at all!!!

A decade ago, I was miffed that GitHub only supported some ASCII characters in its project names. There's no technical reason why your repo can't be called "ഹലോ വേൾഡ്".

Similarly, I'm frustrated that Mastodon (the largest ActivityPub service) doesn't allow Unicode usernames and has resisted efforts to change.

So I built a small ActivityPub server which publishes content from an Actor called @你好 - it is only a demo account, but it works!

Some ActivityPub clients report that they are able to follow it and receive messages from it. Others - like Mastodon - simply can't see anything from it. Take a look at the replies on Mastodon to see which services work. You can also see some of its posts on the Fediverse.

What Does The Fox Spec Say?

The ActivityPub specification says:

Building an international base of users is important in a federated network.

I can't find anything in the specifications which limits what languages a username can be written in. But there are a few clues scattered about.

The user's @ name is defined by preferredUsername which is:

A short username which may be used to refer to the actor, with no uniqueness guarantees.
4.1 Actor objects

There's nothing in there about what scripts it can contain. However, later on, the spec says:

Properties containing natural language values, such as name, preferredUsername, or summary, make use of natural language support defined in ActivityStreams.
4. Actors

So it is expected that a preferred username could be written in multiple scripts. Which implies that the default need not be limited to A-Z0-9.

The ActivityStreams specification talks about language mapping.

Finally, the ActivityPub specification has some examples on non-Latin text in names.

So, I think that it is acceptable for usernames to be written in a variety of non-Latin scripts.

But What About...?

There are usually a few objections to "Unicode Everywhere" zealots like me. I'd like to forestall any arguments.

What about homograph attacks?

Well, what about them? ASCII has plenty of similar looking characters. I doubt most people would notice when a capital i is replaced by a lower L - and vice-versa. Similarly the kerning issue of an r and n looking like an m is well known. Are mixed language homographs more dangerous? I don't think so.

What if people make names that can't be typed?

Well, what if they do? Maybe not being found by people who can't type your language is a feature, not a bug. But, anyway, clients can let users search for other people, or copy and paste their names.

What about weird "Zalgo" text?

It is up to a client to decide how they want to render text input. The "problems" of strange Unicode combinations are well known. This is not a hard computer-science problem.

What about bi-directional text?

The spec makes clear this is allowed.

Do people even want a username in their own script?

I have no evidence for this. But I bet you'd get pretty frustrated if you had to switch keyboard just to type your own name, wouldn't you? In any case, why can't I have a username of @😉

What's Next?

If you build ActivityPub software, give some thought to the billions of people who don't have names which easily fit into ASCII.

If your software can see @你好 and its posts, please let me know.

#ActivityPub #fediverse #i18n #mastodon #unicode

We’ve just published an update about this Mastodon trial which has been running for the last 6 months – you can read it here:

We are going to continue our trial here for at least another six months while we share our findings internally and seek more engagement from other BBC teams. We are also planning to start researching ways to publish more BBC content using ActivityPub.

#mastodon #ActivityPub #socialmedia

Rebuilding FourSquare for ActivityPub using OpenStreetMap

I used to like the original FourSquare. The "mayor" stuff was a bit silly, and my friends never left that many reviews, but I loved being able to signal to my friends "I am at this cool museum" or "We're at this pub if you want to meet" or "Spending the day at the park".

So, is there a way to recreate that early Web 2.0 experience with open data and ActivityPub? Let's find out!

This quest is divided into two parts.

  1. Get nearby "Points of Interest" (POI) from OpenStreetMap.
  2. Share a location on the Fediverse.

OpenStreetMap API

OpenStreetMap is the Wikipedia of maps. It is a freely available resource which anyone can edit (if they're skilled enough).

It also comes with a pretty decent API for querying things. For example, nw["amenity"]({{bbox}}); finds all "amenities" near a specific location.

Map of a part of London. Some parts are highlighted.

As you can see, it has highlighted some useful areas - a pharmacy and a pub. But it has ignored other useful locations - the train station and the park. It has also included some things that we may not want - bike parking and a taxi rank.

What API call is needed to get useful locations of of OverPass?

It's possible to specify the type of thing to find using nw["amenity"="restaurant"]; - but adding every single type of thing would quickly end up with a very large query containing hundreds of types.

It is also possible to exclude specific types of places. This retrieves all amenities except for fast food joints:


Again, that would be complex.

Perhaps one solution is just to return everything and let the user decide if they want to check in to a telephone kiosk or a fire hydrant? That's a bit user-hostile.

Instead, this query returns everything which has a name nw["name"]({{bbox}});

Map of London with several bits highlighted.

That cuts out any unnamed things - like park benches and car-sharing spots. But it does add named roads and train lines.

It is possible to use filters to exclude results from OverPass. The best that I can come up with is: nw["name"][!"highway"][!"railway"][!"waterway"][!"power"]({{bbox}});

That gets everything which has a name, but isn't a highway or railway or waterway or powerline. It isn't perfect - but it will do!

This is the query which will retrieve the 25 nearest things within 100 metres of a specific latitude and longitude. It includes the name and any other tags, the location, and the OSM ID.

;nw%5B%22name%22%5D%5B%21%22highway%22%5D%5B%21%22railway%22%5D%5B%21%22waterway%22%5D%5B%21%22power%22%5D(around:100,51.5202,-0.1040);out%20center%20qt%2025;][out:json];nw["name"][!"highway"][!"railway"][!"waterway"][!"power"](around:100,51.5202,-0.1040);out center qt 25;


There's good news and bad news here. Firstly, ActivityStreams (which are subscribed to in ActivityPub) supports the concept of "Place" and "Location".

Once the user has a latitude and longitude, the can share it - along with a message, photo, or anything else.

Something like:

{    "@context": "",    "type": "Note",    "content": "Here in NYC! <a href=\"\">John Lennon's Imagine Mosaic</a>.",    "attachment": [        {            "type": "Image",            "mediaType": "image\/jpeg",            "url": "https:\/\/\/img\/general\/590x786\/56367_9pxuZJD7d1hgPdaMFcFq1pipvTTMynBJsYcpHH-b8mU.jpg",            "name": "A photo of a mosaic which says 'Imagine'."        }    ],    "location": {        "name": "John Lennon's Imagine",        "type": "Place",        "longitude": 40.77563,        "latitude": -73.97474    }}

For example, here's a PixelFed post with an attached location - and this is the JSON representation. That status can be reposted into other social networks.

It is worth noting that Mastodon doesn't (natively) support location - if you view my repost of that PixelFed post you'll see there's no location metadata attached. That's OK! It just means that the status needs to include human-readable data.

Similarly, Mastodon doesn't support the arrive vocabulary. So this will be limited to a message with a location attached.

Other ActivityPub services do support location.

Putting it all together

Well… that's a job for next week. Probably!

  • Building a web site which gets the user's location is easy.
  • Getting the data from OverPass should be straightforward.
  • Creating an ActivityPub server which can post geotagged notes into the Fediverse might be a little beyond my skillset! Some testing with Darius Kazemi's AP Glitch suggests this should work.

If you'd like to help, please leave a comment.

#ActivityPub #fediverse #FOURSQUARE #geolocation #OpenStreetMap

@raroun Nein, nicht abstrus, sonderen dem Zweck angepasste Plattform auswählen.
#Friendica ist Micro- und Macroblogging
#Pixelfed ist fürs Teilen von Bildern.

Dea ist eben das #Fediverse. Es gibt nicht die ein und alle Plattform für ein und alles. Sondern es gibt verschiedene Dienste - sie sind alle über #ActivityPub verbunden.

@cantences @tux @helpers

@Friendica Support

Question to any #Friendica users who are also familiar with federating to #Mastodon servers.

Why don't Friendica Likes of posts federate across to Mastodon?

  • is there any known solution for this annoyance, or at least a workaround?
  • does the problem lie within Friendica, within Mastodon, or somewhere else?
  • doesn't this IMO sizable flaw rather mock the mantra that the Fediverse via #ActivityPub facilitates widespread interoperability amongst myriad clients?

When i recently discovered that none of my Masto friends was seeing any of my Friendica Likes to their toots, i felt a bit devastated, not least coz it might have connotated rudeness on my part in their minds.

Might be related? Someone is flooding #ActivityPub with fake servers?

Does anyone have a live example of a fedi account that is driven by the #WordPress #ActivityPub plugin? I'm trying to figure out what the end-result of a site that uses this would actually look like

Hey #fediverse,

Can y'all Please tell #NPR about #mastodon, #activityPub (and #Matrix!), please?

No really.. They're literally asking for it,

Ok, I could be reading too much into it, but it really would be nice if maybe I wasn't the only one that mentioned maybe it's something they should look into?

- A. Rando

We just released version 2.0.0 of the #ActivityPub plugin for #WordPress ( release is planned for tomorrow).

Main feature: Full bidirectional/threaded comment federation 🎉

Full Changelog:

Thanks #Automattic @mattwiebe @kanru @linos @mediaformat @mat @webrocker @sentynel and @janboddez for your contributions

To nevypadá špatně. Jede i na slabém stroji. Pro někoho kdo chce mít malou instanci super
#activitypub #gotosocial #fediverse

@heluecht @one @sascha

Bei #Pleroma sind mir neulich schon Unterschiede in der Implementation im Vergleich zu #Mastodon aufgefallen (an anderer Stelle).

Wenn #Pleroma #ActivityPub "erweitert", würde es die Kompatibilität zum Standard brechen...!?!

@one @sascha @heluecht

Könnt Ihr genauer erläutern, wo und wie #ActivityPub Emoji-Reaktionen unterstützen soll?

Das "Activity Vocabulary" kennt "Like" und "Dislike"...

The JSON-LD Playground web app is very useful for validating or exploring #ActivityPub data. However, if you prefer the command line or want to integrate Playground-like functionality into scripts, the ld-cli program could be useful. It’s definitely been useful for me. Features include: expand, compress, flatten, frame and conversion to/from RDF (N-Quads).

I post most of my photos here -

I'd love to have #Flickr just jump onto #ActivityPub so they could all be in one place.

Until then. Here are some photos of France.

I've created a new git repository with JSON Schema definitions for several Fediverse protocols and data formats, including Activity Streams 2.0, #ActivityPub, JSON Resource Description (Webfinger, Nodeinfo), and Mastodon [WIP]. There are automated tests that validate the W3C AS2 test corpus (a fork with bug fixes), examples from the AP spec and Mastodon AP docs, and others.

friendica VPS setup on ubuntu 22.04 LTS

@Friendica Support

I'm working on my first #friendica #VPS installation, here you'll find my initial post about general thoughts like what distro to use, size and costs.
I'm using the tutorial "creating a friendica server - ubuntu" by @Hank G ☑️.

As of now I'm doing well in the process and want to start this post to document differences and questions while installing the server.

This server is going to host an already existing friendica node I have to move from another hosting provider. That means that for example the DB doesn't have to be created from scratch but moved and other smaller details.

I will try to address the different steps of installation in answers to this post and appreciate help, ideas and observations.

I'm doing this from a #linux desktop environment from the console but there shouldn't be differences if you want to do this from a #windows machine.

#fediVerse #tutorial #fediHelp #activityPub

Integrujte WordPress nejen s Mastodonem

Tento týden společnost Automattic oznámila dostupnost pluginu ActivityPub na Tento plugin si ale můžete nainstalovat i do vlastní instance Wordpressu, udělat ze svého blogu součást sítě Fediverse a přímo komunikovat nejen s uživateli Mastodonu. Přečtěte si, jak na to.

#ActivityPub #blog #fediverse #Mastodon #sociálníSítě #wordpress

@jachym Je to náhrada Instagramu. Pixelfed je také #fediverse a #ActivityPub podobně jako Mastodon. Jsou tam otevřené registrace. Platba je dobrovolná, jinak je zdarma. Zatím nejsou oficiální aplikace, je zatím v testování, ale funguje dobře.
Místo Google Photos je super Immich. Mám ho také na serveru. Ten jsem chtěl nabízet za menší poplatek na provoz na subdoméně Třeba někdo využije s rodinou.

Tomorrow I'll be doing a presentation about the #ActivityPub API at the O'Reilly Media event "APIs: Possibilities and Pitfalls". I'm excited!

In the many discussions about #threads promise to add #activitypub support, regulations such as the #DMA and the #DSA, as well as the Canadian Online News Act have come up.

In this piece I dive deep into the specific articles of the Acts to see if they might impact Meta's decision making.

Read it at

Frage | Friendica: Federiert Friendica schneller zu Diaspora als zu ActivityPub?

Kann es sein das von Friendica aus die Federierung zu und von Diaspora wesentlich schneller als zu und von ActivityPub ist? Ich hatte jetzt schon mehrmals den Fall das ich auf Diaspora nach kürzester Zeit Reaktionen auf meine Beiträge bekam, während Reaktionen von anderen via ActivityPub verbundenen Servern erst ein gutes Stück später Reaktionen eintrödelten.

#Frage #Friendica #Federation #Diaspore #ActivityPub #2023-07-13 !Friendica Support

(Sowohl der Kommentar auf den Beitrag als auch die 'Gefällt mir', kommen alle von Diaspora Nutzern)

how it feels to talk about #activitypub and how #fedi implements it

I’ve promised enough people this, so I had to do it! 😁

Here’s my write-up of how I added client-side Fediverse-powered comments to my Jekyll blog using the Mastodon API.

Huge props to @jwildeboer for the initial inspiration, as well as @julian and everyone who provided feedback for inspiring the design improvements.

✨💬 Reply to this thread then check the blog post comments to see it in action!

#Mastodon #Jekyll #WebDevelopment #ActivityPub #design

Eventually #Meta will have the final say when it comes to #ActivityPub. Like how all word processors must support .docx, and all websites are built with Chromium compatibility in mind.

This is how you take over an open protocol.

"Embrace, extend, extinguish."


Svět #fediverse není jen Mastodon. Možná někdo využije náš PixelfedCZ, který byl vytvořen jako open-source alternativa k Instagramu, která by umožnila uživatelům sdílet své fotografie a videa bez zásahu externích společností. Nebo díky ActivityPub, je možné sledovat uživatelé třeba s Pixelfed na platformě Mastodon.
#pixelfed :pixelfed:
#mastodon :mastoblush:

@Nuno @amitten Well, I'd say it depends a lot on the concrete situation. Many #activitypub devs have seen how historically companies like Meta & Google have applied a Trojan horse strategy, to eventually take over the small spaces that decentralized and/or FOSS projects had opened. The #XMPP case comes to mind, but it also encompasses how the whole web has become.

If to put in place measures to avoid that happening to the #Fediverse is being a fanatic, long live the fanatics! 😃

New progress note (W22)! Unveiling A/V call implementation with #Jingle for #Libervia, funded by #NLnet. Updates on ActivityPub Gateway and upcoming talks in #Paris. Read the full note:

#XMPP #ProgressNote #ActivityPub #OpenSource #WebRTC #NGIAssure

Wow. Wordpress just announced they have to drop support for Twitter in their Jetpack post sharing plug-in as they haven’t been able to reach agreement with Twitter for access. They are committing to adding support for Mastodon!
The majority of the Web’s individually run websites are Wordpress! It’s ON!!

#TwitterMigration #TwitterBroken #Mastodon #activityPub #Fediverse