@strypey discussions about development are often tagged with #fedidev

It's probably less of a problem now that the fediverse is much bigger (than it was 5 years ago). But one of the things I've heard puts newbies off alternative social apps/ networks is too much meta-discussion about development and deployment of the apps/ networks themselves.

Maybe we could agree on a standard way of tagging this stuff (eg #FediDev)? Then the DevMeta tag could be filtered out by default for newbies.

(1/3)

#fediverse #FediverseDev #ActivityPub

Wer kann etwas hierzu sagen?

Wann erscheint bei einem LinkPost (Artikel z.B.: von heise verlinkt) der unten stehende Zusatz:

masotdon Icon: Mehr von xxx xxxxxxx als link?

#mastodev #fedidev

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

@silverpill
@rimu
@evan
@trwnh
@julian
@ricferrer

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.

#ActivityPub #FediDev #FEP

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.

#JSONLD #fedidev

2/

RE: https://mastodon.social/@reiver/115945290105913697

The resolving of a Fediverse ID to one or more cryptographic public-keys could happen via the activity-file for the user.

A JSON-LD namespace (separate from ActivityPub) could put the cryptographic public-keys into the activity-file.

But, I think we would need more information than what the 2 current methods for including cryptographic public-keys currently support.

#ActivityPub #Cryptography #FediDev #FediDevs #Fediverse #JSONLD

1/

RE: https://mastodon.social/@reiver/115945290105913697

Right now, Fediverse IDs resolve to HTTPS URLs.
For example, the Fediverse ID:

@reiver@mastodon.social

Resolves to HTTPS URL:

https;//mastodon·social/users/reiver

...

If we wanted cryptographic public-keys to serve as a basis of Identity on the Fediverse, then —

We would (similarly) also need a Fediverse ID to resolve to one or more cryptographic public-keys

...

#ActivityPub #Cryptography #FediDev #FediDevs #Fediverse #JSONLD