ActivityPub: What’s an Actor?

The question seems like it should have an obvious answer, but that’s not necessarily the case. There are several possible interpretations of the term actor in ActivityPub. So, what is an ActivityPub actor? A Profession? According to Oxford’s Advanced Learning Dictionary, an actor is “a person who performs on the stage, on television or in … Read more

ActivityPub Client API: A Way Forward

The ActivityPub Client-to-Server (C2S) protocol was envisioned as a cornerstone of the decentralized social web, along with the Server-to-Server (S2S) protocol. Standardized by the W3C in 2018, C2S defines how user-facing applications, such as mobile apps or web clients, and bots should interact with social servers using Activity Streams 2.0 and JSON-LD. In theory, it … Read more

Extending ActivityPub: A Recipe

Occasionally there are online discussions about using schema.org vocabularies with ActivityPub (AP) and Activity Streams 2.0 (AS2). There are many ways to do this, but this article will explore one approach using a schema.org Recipe type. The information is focused on AP/AS2 messaging rather than user interface considerations related to displaying the recipe. Although the … Read more

FIRM: Authorization Support

Initial ActivityPub authorization (authz) support has been added to the FIRM software. It’s a plugin and specific implementations can customize the policies. Unfortunately, ActivityPub has very minimal guidance on authorization and access control, so different implementations may use significantly different policies. This initial version is relatively simple. In the future, I plan to explore other, … Read more

FIRM Server 0.2.0: – Linked Data

Version 0.2.0 of the FIRM Server has been released. This version adds support for Linked Data storage and queries. The new RdfResourceStore uses Oxigraph to store RDF information for ActivityPub and other types of data. The FIRM Core logic is the same whether the data is plain JSON stored on the filesystem, or RDF triples … Read more

FIRM: Initial Release

FIRM is a Federated Information Resource Manager. It’s a flexible server platform for experimentation with ActivityPub and Social Web software. The focus is not on performance or scalability, but on the ability to create rapid prototypes of new functionality. This is a work in progress so expect bugs and breaking changes. The source code is … Read more

ActivityPub: An Inbox is Not a Queue

It’s not unusual to see AP Fediverse posts discussing message queue middleware and message brokers and pondering whether using them is conformant with “inboxes” as defined in the ActivityPub Recommendation (AP). The answer is that conformance is not relevant because an inbox is not a queue. AP discusses an inbox from two perspectives: inbox endpoints … Read more

ActivityPub: A Box is not a Timeline

A key concept in the ActivityPub specification is the inbox and outbox. These are ordered collections of activities where the inbox contains activities received from other actors (typically on other servers) and the outbox contains activities produced by the actor owning the outbox. The inbox is part of the Server-to-Server (S2S) protocol that implements federation … Read more

ActivityPub Test Suite Redux

There’s recently been much discussion on the Fediverse about ActivityPub (AP) testing and associated test suites. The original ActivityPub test suite, originally hosted at activitypub.rocks, is frequently mentioned. The test suite hasn’t been running for years and it’s been difficult to find a maintainer because of the implementation programming language, Guile. Because of that situation, … Read more

Mastodon