GeistHaus
log in · sign up

https://awarm.leaflet.pub/atom

atom
3 posts
Polling state
Status active
Last polled May 19, 2026 00:06 UTC
Next poll May 20, 2026 01:58 UTC
Poll interval 86400s

Posts

page.parts dev log 1
Show full content

Like all of us, I've been trying to think about how we can make the things we're excited about in the atmosphere more tangible to people. The first thing I'm excited about is mentions!

I'm going to do proper docs and everything soon, but I wanted to publish this devlog now because I'm stoked about how it's all coming together and want to talk about it.

I think a conversation with @chrisshank.com was what first brought mentions to my attention. Around the same time I saw that @brookie.blog had implemented them for pckt.blog and I was jealous, so implemented it for Leaflet.

When doing that I thought it'd also be cool to be able to reference people's publications and posts. Since we already had all that data indexed into the leaflet appview, this was pretty straightforward!

So now you can go to at://news and see Chris's atmospheric weather report cataloging happenings across the ecosystem.

This is pretty limited though. I want to be able to mention all kinds of things throughout the atmosphere! But, I don't want to have to backfill all of the data for every lexicon into our database.

Beyond that, I think all kinds of experiences should be part of the things people publish. The web already has a pretty okay mechanism for this, iframes. We just need some ways to discover and distribute them.

Enter, mention services! I think the XRPC service pattern that bluesky uses for feed generators is pretty under utilized. What if those developers who already have appviews could stand up a service that users could use to search through their objects? And then, what if they return different ways of linking to those objects, at-uris, http urls, or embedabble iframes? This would let not just leaflet but any platform (even non publishing platforms!) easily let their users mention and embed content from across the atmosphere.

So that's what I've been working on!

The story so far

I might've showed you something based on this at Atmosphere Conf. It was a basic service for searching and mentioning wikipedia pages. It was pretty minimal but it did show one aspect of this that I already think will be underrated: the ability to search and mention just normal webpages.

Anyways, after the conference I had the pleasure of hanging out in Vancouver a couple days longer, and got to visit the super cool @z-space.ca and show the @semble.so team what I was working on0.

@wesleyfinck.org and I ended up working side by side getting a Semble mention service up and running. I cannot overstate how productive this was. Design questions I'd been going back and forth just became obvious in the context of actual use and through conversation with someone thinking deeply about the same things.

I got a repeat of this experience this week when I had calls with two folks to demo what I got, @zzstoatzz.io and @chadtmiller.com , and woke up the next morning to them implementing parts of [what] we talked about.

The atmosphere may not have the users yet but damn do we have the builders!

Okay okay, so what can you actually do today.

This is what the flow looks like today:

If you've got an app (or just want to make a page parts mention service):

Then, in the leaflet editor, type @ and you should see the service listed!

Services can be scoped to search different things. If a search result has a > next to it, you can hit Tab and the UI will take the scope returned by that result and pass it back to the search service.

If the service returns a result that can be embedded you can hit Ctrl+Enter or click the embed button to get an iframe.

THIS IS ALL EXTREMELY WIP. No UI is final. It's intentional that you have to create a record to see any of this.

Some thoughts about embeds:

Okay, so that being said I'm pretty confident about the mention flow on a high level. I however, cannot say the same about embeds. I think there are some really cool potential interactions here, but a lot of rough edges. Here are a couple thoughts I'm thinking about.

  • Should they have service definition records?

  • Is a communication protocol between host/embed a good idea? How do we best document it? What functionality is the highest impact?

  • Is auth going to be a non-starter? The browser has a StorageAccess API that could be useful, but is it implementable in a usable way?

Cool services someone should make:
  • One for lexicons! Would've been handy when writing this!

  • Bluesky post search

  • margin annotations

https://awarm.leaflet.pub/3mj662txrs22p
Social media is a gnarly coordination problem we need to decompose
Show full content

I read a blog post this morning by the creator of bearblog.dev (which I am a huge fan of!), which posits a vision of an ideal slow social network.

We're all pretty familiar, and even mostly in agreement, with the criticisms of the major social networks we have today. And I personally like a lot of the properties Herman describes for this slow network. But unfortunately I don't think fixing the problems with social networks isn't a matter of designing a system with "good" properties.

There's a coordination problem at the core of any social network:

  • You want to be where all your friends are.

  • They want to be where all their friends are.

  • All their friends are not your friends.

  • Some of them (you, their friends) want to be where their acquaintances are, or their idols, or their enemies.

  • None of these preferences are clearly delineated in anyone's mind, and they intersect with the preferences of a much larger ecosystem of actors (companies, influencers, communities), who also aren't clearly distinguishable from each other.

So, all this in mind, you end up with a lowest common denominator social network, the dumbest thing, that can reach the most people, so that the most people will be on it.


If you bring preferences for how the social network should work things get even more complicated. Herman, for example, says that there should be a cap a on how many times people can post a day. That's a perfectly sensible preference, but unfortunately cuts out some of my favorite posters, and even worse, prevents the kinds sprawling, branching, discussions that I love. That's fine on it's own, it's a preference, but this preference is totally orthogonal to the social preferences I was talking about above. Its a huge barrier to overcome if you can only interact with people who like exactly the same system you do.

People want a huge diversity of things out of their social apps. Many, many people want algorithmically driven, maximally interesting feeds. I'm not even talking about revealed preferences stuff, many explicitly say this is what they want their social network experience to be like, and there are totally valid reasons for that preference!


One way out of this messy coordination problem is to build a platform with "good" properties specifically for some kind of niche group that all happen to share the same preferences. But there are a lot of preferences bundled in here that do not coincide. People interested the same topics as you, or people who care about social networks the same way you do are not necessarily the same people you want to be hanging out with.

If you do have a group in which everyone wants to hang out together, none of the things here really matter, and you should make a forum! But they really aren't the same experience as a social network (side note: more people should host forums! Discourse is amazing and so easy to run, and even a <10 active user forum is a great time).


So what's the solution? As the title may have given away, I think you need to decompose the different parts of a social network, namely, identities, data, and interfaces, into independent pieces.

With that people can create things in these different parts that have different values and preferences, and others can compose them really get exactly what they want.

You don't have to force everyone to be on the same network and to use the same interface. You can use an interface that limits how much you post, or how many posts from others you see, while others can use their algorithmic feeds and follow their favorite celebrities. And both of you can still connect to each other's identities, and see each other's posts, within your preferences!

This I think enables Herman's goal, you can make a small, slow, social network experience that works they way you want. Unfortunately, it doesn't solve all, or even most, of the problems of social networks, since so many of them are emergent behaviors of the whole network.

But! It lets different parts of the system evolve much more freely than what we have now, and that can lead to better feedback loops throughout the system. If "bad" dynamics are emerging in one part, interfaces can emerge to try and tackle that. Or systems that operate on the data level, or identity. The ecosystem has ways to evolve an immune response.


I think ATProto enables this. That's why Leaflet's built on it. It's also why I'm very much not worried about any of the "death of bluesky" type posts that have been doing the rounds. The things possible in the atmosphere today completely dwarf any of the major networks, and in my opinion it has the most viable and pragmatic abstractions of any of the alternative protocols. You can feel the aliveness in the developer community already, and I'm confident it's only going to expand.

Hopefully, someone builds something like Herman's dream social network on it. Anisota is already pretty close!

https://awarm.leaflet.pub/3lyzchme2d22b
Some songs I liked recently(ish)
Inspired by the great music blogging going on on leaflet lately!
Show full content

Hey! Here are some of the songs I found myself able to write a lil bit about.

This is maybe my favorite Beth's song lyrically? I'm not yet done listening to the new albums so we'll see if that changes. It brings to mind Pilgrim on Tinker Creek. The more attention you give to the natural world and your place in it the more beauty just seems to fall out. Also reminded me of this song from Operation Mincemeat, a musical we saw when my sister was in town some months ago. Very silly, but also uses nature in all it's grossness.

*****

On the subject of nature, I keep thinking about the opening track of the new Clipse album:

Okay so yes this song is an incredible application of the duo's lyrical ability to an incredibly moving and relatable subject matter (I mean it's fun to listen to them eloquate about the cocaine business, but it doesn't really connect with me you know?), and yes Pharrell absolutely killed it on the production but ALSO the title is a reference to this incredible Werner Herzog clip(se), which real atproto heads will recognize as from the same movie Blaine Cook referenced during his amazing talk at ATmosphereConf 2025!

*****

This is easily my favorite track from Justin ever, I've been listening to it again and again for months now. The harmonies + the barebones instrumentation, the way the repetition throughout drives home the ideas, all work so well!

The silly punchline of "I got caught compiling / I got caught compiling / I got caught compiling my own news", is hilarious and specific and genuinely insightful. There are bunch of lines I love here ("How to move without touching every interactor"), and I love how the contents work on the level of him and his fame and career, but also just on being alive today.

*****

I sometimes find Quad's lyrics to be a bit esoteric, or "loose", for my tastes, but the instrumentation and his voice in this song is just so gorgeous, and the moments when the percussion comes in, and the concrete imagery in here works great, and does come together for a kinda whole picture for me. The rest of the album didn't quite stick for me, but I will give it another listen at some point.

*****

This song is a perfect nostalgia dance-y being online growing up computer-obsessed late-nights forumcore banger.

https://awarm.leaflet.pub/3lyk73wxnok2f