Beyond microblogging with ActivityPub
ActivityPub-enabled microblogs are gaining popularity as a replacement for Twitter, but ActivityPub is for more than just microblogging. Many other popular services also have open-source alternatives that speak ActivityPub. Proprietary services operated by commercial interests usually deliberately limit interoperability, but users of any ActivityPub-enabled service should be able to communicate with each other, even if they are using different services. This promise of interoperability is often limited in practice, though; while ActivityPub specifies how multiple types of content can be published, the kinds of content that can be displayed or interacted with vary from project to project.
The ActivityPub protocol describes how servers can exchange Activity Streams. Microblogs mostly emit activities related to status updates (which is called a "Note" in ActivityPub parlance), but there are many other types of objects that can be described in these streams. ActivityPub projects that aren't microblogs mostly specialize in publishing activities related to one or more of these other types of objects; instead of notes, they publish pages, images, or videos. All types of objects are allowed to contain some common fields, including a name and a URL; software that doesn't understand a particular type of object may fall back to using these fields to display a link to the object on its original server instead, or may simply choose not display the object at all.
Unless otherwise noted, all of the projects mentioned in this article are released under the terms of the AGPL 3.0.