upcoming fediverse events
Jan 31st, Brussels
February 1st, Berlin
February 1st, Brussels
- FOSDEM: Shaping the Future of Events and Calendars in the Fediverse
- FOSDEM: The Fediverse and the EU's DSA: solving the challenges of modern social media?
upcoming fediverse events
I've been thinking a lot about #ActivityIntents and how to make it easy for people to find and join the #SocialWeb
Here's some ultra-low-effort drawings of the process I'm imagining. (criticism and refinements welcome)
1. embeddable widgets (follow, like, share, etc) for any site
2. pre-populate search fields to recommend a single server (with overrides)
3. pass extra data to that server on signup so the intent is honored
4. recommend additional accounts based on context
Yes?
Hey #FediDev gang.. Do you think this is the right way to guide people from personal/organizational websites into the #Fediverse?
Some of this is defined in #FEP3b86. Some of it exists today in #Emissary (and the #oStatus "remote follow") some is being built by @dansup as #WebIntents, and some is just scribbles on paper.
If there's interest, I'm happy to write up the rest of this as an additional #FEP
Your Home Feed is the inbox of an ActivityPub actor — in particular YOUR ActivityPub actor.
There could be an actor for each hash-tag, too.
You could even do Del.icio.us like things — and have actors for intersections of hash-tags, too.
These hash-tag actors' inboxes would need to be readable by anyone.
...
This could be a more ActivityPub like API alternative to Mastodon's "GET /API/v1/tags/{name}" API.
#ActivityPub #FediDev #FediDevs #Fediverse #HashTag #HashTags
I have deeply mixed feelings about #ActivityPub's adoption of JSON-LD, as someone who's spent way too long dealing with it while building #Fedify.
Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.
But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.
Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.
To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.
Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.
Your Home Feed is the inbox of an ActivityPub actor — in particular YOUR ActivityPub actor.
There could be an actor for each hash-tag, too.
You could even do Del.icio.us like things — and have actors for intersections of hash-tags, too.
These hash-tag actors' inboxes would need to be readable by anyone.
...
This could be a more ActivityPub like API alternative to Mastodon's "GET /API/v1/tags/{name}" API.
#ActivityPub #FediDev #FediDevs #Fediverse #HashTag #HashTags
FEP drafting: Am I using “side effects” here the same way as other ActivityPub developers? I've seen the term used a bunch in casual conversation, but my personal understanding of it is kinda fuzzy.
FEP drafting: Am I using “side effects” here the same way as other ActivityPub developers? I've seen the term used a bunch in casual conversation, but my personal understanding of it is kinda fuzzy.
there is currently a #Piefed Hackathon going on if anyone is interested in partaking. There are groups working on spanish, german, french and japanese translations, and a bunch of other things.
https://tarte.nuage-libre.fr/c/fediverse/p/221411/hackathon-this-week-7-8-febuary #fediverse #fedidev #activitypub
I have deeply mixed feelings about #ActivityPub's adoption of JSON-LD, as someone who's spent way too long dealing with it while building #Fedify.
Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.
But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.
Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.
To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.
Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.