Session: Plugin architecture / interoperability / compositing ecosystem for Fediverse communities
Convener: Anca (@anca@mastodon.xyz), email: anca@techliminal.com
Notes
What we want from this:
See what it’s about
how to deal w/ the “usability catastrophes” - I share different things in diferent places but I want them to follow “me”
- I want to compose these services so I can present myself inthe world in the various facets that
Making plugins and extensions to the activityPub data model
Use case: Make an extension to support “recipes” https://schema.org/Recipe
Example of an activityPub extension that’s in decently heavy use now (emoji reacts atop likes) https://misskey-hub.net/ns.html
Social component: Develop something yourself, or convince someone else to do this.
Technical component:
- figure out the schema. Is there something that exists already (e.g. https://schema.org/Recipe)
Activity Pub is extensible w/out central coordination
Context, URL for the field name
Parse JSON data
Platform Metadata (e.g. Firefish, Mastodon)
Mobilizon, for example, is doing events
I’ve got a blog post trying to explain it, for devs unfamiliar with Linked Data / @contexts etc: https://medium.com/@codenamedmitri/understanding-linked-data-91b31ba544ec
also, helpful Wiki link written by Evan (editor of the AP spec): https://www.w3.org/wiki/ActivityPub_extensions
Bonfire:
Everything is a module, including ActivityPub, Front-End, Backend
Extensions can decide to use each model, depending on what they’re for.
Decoupled UI from BackEnd, so it’s easy to swap, to provide a differeent UX for users.
uses valueflo.ws (economic activities)
Bonfire GraphQL - we can render any activity in the Fediverse
We’re talking to other platforms
WordPress Social Model
Schema.org is great for inspiration, but not great for interoperability
We need to get segments of the fediverse together to agree on certain things - local community agreements, on specific things (e.g. how to represent names in a RTL locale)
Join the https://fedidevs.org/: https://matrix.to/#/#fediverse-developer-network:matrix.org
Look at what the IndieWeb folks, microformats folks are doing for their process. Proposals get added to standards only if there are a certain number of implementations.
As a developer, it wold be nice to have a thing that shows me how to stuff
WebComponents: UI for showing and interacting w/ data. Why aren’t we using those?
Higher level of standardization beyond protocol level
What if we use iFrames?
Minimum viable community
Security issues
If you add the
sandboxattribute to an iframe element, you can disable scripts completely.
What is the business case for fediverse? (maybe a conversation tomorrow)
Ivan from Bonfire:
When people set up Bonfire, they can choose which modules to use. Developers create extensions, users can customize what shows up on their screens
For sustainability: we’ve partnered w/ a hosting cooperative