2023-03-25

My wish list for future ActivityPub standardization and related activities in the Fediverse "commons"

By Johannes Ernst

https://reb00ted.org/tech/20230425-w3c-activitypub-wishlist/

There is some movement in the W3C to perhaps reactivate working on ActivityPub, the protocol that lets Fediverse apps such as Mastodon talk to each other and form a large, decentralized, social network.

I posted this to their mailing list recently. Sorry if this is a bit cryptic, it was written for a very specific technical audience. I have added a few annotations in square brackets to provide context.

What am I missing in my wish list?


Putting on my product developer hat, here’s what I want for Christmas:

A single-document basic [Fediverse] interop spec, ie.

  • when I have written code for everything it says, my code will interoperate in some basic fashion with all other software that has implemented this document
  • no need to consult or understand other implementations
  • may be quite basic, e.g. text content only, only a minimal set of activity types
  • enables implementors to have a “MVP”-style interop at lowest-possible engineering effort (including the time required to read/understand the specs!)
  • This could be done as a “minimal profile” of a stack that contains a subset of AP [ActivityPub], AS [ActivityStreams], and Webfinger

A test suite for that profile

  • suitable to add to my automated test suite
  • over time, this test suite can grow beyond the minimal profile

A branding program for products that have passed the test suite

  • As an implementor, you get to put the sticker on your product.
  • In particular, in the places in the product where users “connect” to other servers in the Fediverse, like “Visa” is displayed at the POS terminal
  • I believe this will become critical if/when larger orgs with potentially different value systems connect to the Fediverse

A set of web “intent buttons” for Like, Follow, Post, etc that work across sites

  • like they exist for centralized social media
  • as easy to use for the user
  • we can argue how this can be accomplished technically. I have opinions, but for this wish list, they are immaterial, as long as I get those buttons :-)

A standardized way to express terms under which content is provided

  • As I understand it, Bob Wyman calls that a Rights Expression Language
  • This probably should start with a use case collection

A design for search that meets the requirements of all relevant parties and points of view

  • This is probably far less a technical problem than one of successful communication

A design to reduce certain loads

  • Fan-out
  • Video
  • (Not my area of expertise, so I don’t have details)

Improved identity management across the Fediverse

  • Easy-to-use single-sign-on across servers. Use case: I use several apps for different content types (like micro blog and video). Bonus: they all post from the same identifier
  • Easy-to-use persona management. Use case: I have a personal and a work account, bonus if they can be on the same server
  • Identifiers not tied to the domain name system

Some of this squarely falls in the domain of this group [that would be the W3C’s Social Web Interest Community Group], some is adjacent. It could be pulled in, or it can be done somewhere else. I don’t particularly care about that either, as long as it gets done and done consistently with the rest.

Now I’m sure you all are going to tell me why I can’t have all those things for Christmas, and certainly not this Christmas. But I can wish, no? (More seriously, I think they are all essential for continued successful growth of the ActivityPub network as new parties connect)