The (Absolute) State of the ATmosphere: 3. Stuff I'm Not Sure About

A shorter post today - it's election day in New York, so I've got other stuff on my mind. This is the stuff in the ATmosphere I'm either mixed on or haven't dived deep enough into to have a strong opinion about.

Feeds

One big selling point of Bluesky is being able to "choose your own algorithm". This is pretty well-trod ground for others, and apps like graze.social purport to make it easier. Clearly people are using this feature and finding workflows that work for them. But m y own dive into it was pretty frustrating.

The documentation needs work. It would also be nice to be able to modify the UI (or, if that's possible, for it to be clearer) - seems to me that if your feed captures every time "atproto" is mentioned in a post the term could at least be highlighted. The starter kit could use some default filters to help remove obvious spam/nonsense posts/more reliable filtering by language. It's a bit frustrating that I ran into issues with the community python repo, although that's not on the core dev team: I wasn't able to deploy my feed, my best guess is because it's running on a self-hosted PDS.

I am sure I could find some better example feeds out there but this is another documentation thing that seems like an easy win: point to some actual feeds in production that do interesting stuff! Explain the firehose better! I was manually logging records to just understand what the different potential object attributes were.

Labeling

I really didn't touch this at all this month and still am not entirely clear on how to even find non-Bluesky labelers. I see people post screenshots with their cool labels and am slightly jealous but then every time I encounter moderation discourse it sounds horrible and I decide not to look into it. I think SkyWatch is an interesting application but the latest round of people getting upset about being on blocklists convinced me not to touch it.

Ecosystem/Documentation

Other than early AI stuff, which by its nature was very different (more sharing of, like, Jupyter notebooks and datasets and training methods, not building products), I haven't really participated in an ecosystem at this early a stage. Because it's so easy to build on, lots of people are building! Everyone is nice and helpful, everyone wants people to get involved, all of which is great.

Unfortunately, this also leads to a lot of duplicated effort and spread-out documentation. A lot of the official documentation is out of date and finding people who have worked on the same problem as you can be difficult or annoying - I think there's a chance for significantly-improved discoverability given the way ATProto is designed, but I don't think we're there yet.

The other thing here is the lack of certain dev environment stuff that feels pretty necessary to me: why can't I simulate a PDS or a Relay? I've encountered Nick Gerakines' local dev system, but it feels a bit heavyweight for my purposes. I'm always testing against prod in some sense or another: writing to my own PDS or being forced to deploy my feed to Bluesky in order to see if it's actually working.

Maybe this is a feature, not a bug - a lot of the way this ecosystem is doing things is very different from how I'm used to thinking about the dev process - but it would be nice to have more local tools to test whatever I'm working on before it goes live.

I do also wonder how much of this is just what they've focused on so far: it seems like the ecosystem is extremely exciting to folks who are already nerds about cryptography or DNS or the various lower-level aspects of the system, but it's not as friendly as it could be to your average dev like me who just wants to make an app.

I know Bluesky just hired a DevRel person and again, there's so much excitement in this ecosystem that I figure a lot of this will resolve over time, but right now there appears to be a lot of domain knowledge that's tucked away in posts, leaflets, internal tools, or just someone's brain that isn't readily accessible to someone diving into the ecosystem fresh.

That's day 29 of atproto work done! Tomorrow (assuming I am not miserable from the election results) I'll write up some final thoughts and directions I'd like to go in from here, then take a nice little break from side projects and finally get some chores done.