ActivityPub support in Friendica

What is ActivityPub?

In the last couple of weeks support for ActivityPub (AP) has landed in Friendica. For those who do not know AP–it is the attempt to provide a common protocol different projects can use to let their users and server communicate among each other. It was developed by the W3C Social Working Group and is adopted in the realm of the Fediverse/Federation by other projects like Funkwhale, Hubzilla, Mastodon, Pleroma or Osada.

Current state of implementation

At this point AP implementation is still a work in progress. Although many parts already charmingly work.

So what can you already use?

  • You can follow and un-follow accounts that support the AP protocol. We mainly test with Mastodon and Pleroma, so other AP supporting projects might not work at the moment. If you encounter such a case, please report it in the Support Forum or open a new issue at github.
  • The public and non-public communication works. You can write new postings and comments; like, unlike and delete them.
  • The distribution of comments for public postings is done both ways; thread based like e.g. in Friendica and diaspora* by the creator of a thread, and per posting as known from OStatus based systems.
  • The thread completion works the same, as Friendica already does the completion for threads from GNUsocial, so conversations are not torn apart.
  • When the initial distribution of your posting was not successful for some contacts, the posting will be re-queued for a later delivery retry.

Some things currently do not work, of have rough edges at the borders of the Friendica network to the (or some) other parts of the Fediverse. Among these, the most prominent are

  • AP does not support direct messages. There is only the workaround to make an non-public posting, restricted to one recipient and mention the recipient.
  • Resettling of your account to another node, does not work over AP.

And of course, you may find other quirks along the way. For the things that are currently not possible with AP we use the old ways, if they existed, so you wont loose functionality.

When can I use it?

You already can. That is, if your Friendica node is running the current development version of the code from the development branch. If you are running the current stable 2018.09 release (or an older version) you will get AP support with the December release of Friendica.

So stay tuned 😉

Leave a Reply

Your email address will not be published. Required fields are marked *