I'm curious how ATProto compares.
I'm curious how ATProto compares.
I get why they did that (graph data is, uh, particular to work with, especially for newcomers who only know JSON), but ATProto not using JSON-LD is actually what made me unwilling to tinker with the protocol.
Not a direct answer to your question, sorry. Mostly a rant.
[link:Lexicon]: https://atproto.com/guides/faq#why-create-lexicon-instead-of...
Working with the firehose probably isn't feasible for a lot of people who'd like to tinker. There doesn't seem to be any way of subscribing to only certain types of events.
There's a public instance URL in the README (with bandwidth limits), or you can self-host.
I'll check out this Jetstream project for sure, though.
[0]: https://github.com/SmokeSignal-Events/lexicon
[1]: https://github.com/likeandscribe/unravel/tree/main/packages/...
- https://atproto.com/guides/applications (guide)
- https://github.com/bluesky-social/statusphere-example-app (GitHub)
I've read that there's a problem with interacting with Mastodon if you only rely on the protocol specs, that they do things their own way and have different requirements than the official specs.
Is this still a problem? If it is, are Mastodon moving to be more closely aligned with the spec, or to doing more of their own thing?
(IIRC there was another thing where `created_at` is described as "The date when this status was created" but the type is given as "String (ISO 8601 Datetime)" which led some code to crash when Mastodon started outputting just dates instead of datetimes.)
[1] Including some from people who Really Should Know Better.
I'm currently implementing parts of the spec, and there are parts (like fully handling context correctly) that feels like far more pain than it is worth vs. just handling occasional breakage.
It feels like a very ivory tower spec of the kind you wouldn't be likely to write if you built a complete reference implementation first.
But it's very on-brand as a W3C spec.
I'd love to see a revision that deprecates and simplifies a whole lot of things.
The hidden complexities in AP have led to several efforts. In the past there has been LitePub [0]. A recent project is Versia [1]. And who knows there may be a FeatherPub [2] one day. If anyone knows of other attempts I'd like to hear.
[2] https://docs.google.com/document/d/13LuB6Z-C_drCLCEuCtNApX98...
But I also think just going through the spec with a red marker would be a useful exercise and maybe I will one day.
In the sense that there are a whole lot of features nobody does anything useful with.
E.g. "@context" in theory provides a whole lot of ways to type the rest of the data. I'd be willing to bet that you'd break a whole lot of software if you served up a "@context" for an actor that mapped common field-names in use by Mastodon to a different namespace and mapped the Mastodon features to different names...
In theory it's great. In practice, I suspect we have XML namespaces and people stupidly hardcoding prefixes all over again...
Also, there's a conversation happening about Versia today: https://social.coop/@smallcircles/113105954469059880
https://docs.google.com/document/d/13mtl9gFmcuL-0MS-Boaeh3i6...