A plugin architecture for Fediverse?
/2024-03/session/5-b/
Convener: Anca Mosoiu
Participants who chose to record their names here:
- Emelia Smith (@thisismissem@hachyderm.io)
- Aaron Gray
- LisaDusseault (@lisarue@mastodon.geekery.org)
- @risottobias
- Joan Pla (@joanpla@mastodon.social)
Tags / links to resources / technology discussed, related to this session:
Loyal skeptic on the semantic web -
Discussion notes, key understandings, outstanding questions, observations, and, if appropriate to this discussion: action items, next steps:
Emelia: I just want to note before this session starts that building plugins is likely to be difficult due to the plethora of programming languages used for developing Fediverse software, unless of course something such as WASM was used, where one plugin could be used by multiple platforms using a define plugin API.
This reminds me about sandboxing and protecting based on inputs, or having trusted plugins or expectations about the isolation level of the plugins and what they can do
are there plugins that need dynamic permissions vs knowing what permissions they should ask for that the user consents to at the beginning once, only per object, or dynamic?
collaborative editing spec for e.g. editing a group calendar event you have access to, vs organization accounts or an organization calendar user
plugins for the whole instance vs just per user (like wordpress multi-sites where you can choose which plugins are on which sites, but the instance sets which plugins are allowed/downloaded)
visual changes to the site
visual changes to the editor
telemetry plugin
easier uptime/health that’s simpler for admins
cross-server observability/roundtrips
hachyderm’s status page
not just protecting against bad behavior, but also plugins enhance good behavior e.g. observability data could be used to abuse things, telemetry wise
but folks might not like that data analyzed a bunch or
Consent: At the database level, as well as at the user level
- Events example:
- Editing the event (may be multiple people)
- Saying “yes” i’m going (individual)
- Oauth
Looking for things on a semantic level - Plugins at the data model level
Example: Someone wants to add events to their activity stream, this data is pushed.
Extensible at the protocol level
Distributed Wikis
Distributed Moderation
Use cases:
- I want to add Event Calendars to my server so people can see whta’s happening
- I want to add a new UI
How to test and sandbox
What’s your ideal plugin?
- Something that can let me edit a page (e.g. for artists who want to list their discography, body of work)
- Something for telemetry
- How quickly do posts make their way across Fediverse?
Example of a post on a website that receives replies from Mastodon/ActivityPub: https://www.jwz.org/blog/2023/08/jwz-org-is-now-25/
https://github.com/immers-space/guppe
Next time: Title this session “Why is WordPress the best ActivityPub server”