Every App is an "Everything" App In the Atmosphere

This is really just some quick thoughts, but recently I saw a couple of posts / threads about the "everything app" concept.

There's a lot that could go into this and I'm not really here to pick sides or even really make a case for anything specific. But I wanted to share what I thought was an interesting perspective on things.

The realization is that on ATProto, because the apps are separate from the data, every app can be an "everything" app of sorts. I say "everything" because in reality it's sort of impossible to make an everything app on ATProto, unless you are talking about something that shows you raw JSON like pdsls.dev .0

But what I mean is that apps like Roomy can integrate events powered by the lexicon.community calendar schema, and it can use the Leaflet lexicon for pages, which is also an integration with anything supporting standard.site .

Semble.so and Margin.at already support each-others' data, and for many apps, adding support for other lexicons can be a relatively straight-forward and deeply useful way to meaningfully integrate their app into the wider ecosystem.

The point is that we can draw outside the lines! "My app" becomes surprisingly ambiguous now that it can read "your app's" data. Some people may try to make "everything apps" that try to cover every possible modality, and maybe that's a bad thing, maybe it's not. But the beauty of The Atmosphere is that we don't have to figure out which one it is.

As an app developer, I'm thinking about the experience my app will provide. What will bring value to the people who use it. There are lots of features that I might want in a Discord alternative that start to blur into the use cases and lexicons of other apps. Continuing a pull-request review in Roomy makes kind of a lot of sense! What if we integrated with Tangled!?

Roomy is made for Community Spaces. That is incredibly ambiguous as far as what kind of data we can put into it, and that is intentional! We know we want to have chat in there, but people also want events, and polls, pages, and threads. And maybe they want to make announcements in a channel and have those go to Bluesky…

There's so many possibilities, and thanks to The Atmosphere we don't have to decide ahead of time what kind of integrations we can have.

There's no reason we can't have apps that create super-focused views for one specific lexicon, or apps that uniquely combine multiple lexicons in new ways.

We can aggregate statistics over every lexicon from every app someone uses, or we could create content in ways not allowed by the "normal" app.

We can have importers, exporters, converters, notification systems. The possibilities are endless, and the lines between them are unnecessary.

To me this makes every Atmosphere app an "everything app" just waiting to happen, and that is marvelous.

It doesn't mean we should shove all modalities into every application.

It means that we don't have artificial boundaries the variety of data our app can work with.

PS this says nothing about the interesting idea of making a web-browser-esque platform of sorts where lexicons can tell you how they should be rendered and you have an app that can use that info to make a kind of universal frontend.

That's a really cool idea and I hope something like that exists one day. It won't be the best thing for every use-case, but it could definitely be useful and cool.

inlay.at seems to be approaching this and is really interesting.