Browse and Share notebooks on the atmosphere (at://)

You can now share and browse notebooks on the atmosphere (the federated identity and storage layer that BlueSky sits on).

more notebooks in the collection atmosphere / Tom Larkworthy | Observable

there is quite a useful at:// login that works on Observablehq.com atproto login / Tom Larkworthy | Observable which could be used to build all sorts of services. I am quite excited by atmosphere because it finally feels like an easy-to-use system that its pluggable enough to avoid lock-in, bring-your-own storage and enable cross-application data sharing.

Observable’s Javascript modules maps quite well onto atmosphere’s blobs with MIME types storage model. Exciting times!

Whoa! Sorry you gotta slow down lol, the Larkworthiverse is already too vast, let alone the atproto stuff… what’s happening here? When I look at Lopefeed / Tom Larkworthy | Observable, are those notebooks that people have recently posted on Bluesky? No… are they notebooks by people who have identities in the atproto universe? Or… notebooks posted to a service that, like Bluesky, operates atop atproto? Are atproto and atmosphere the same thing? No clue lol but looks cool. Been thinking about Observable community stuff lately, the old somewhat following feature we ditched, wondering if there’s some crazy new-agey atproto way to do it…

ATProto a.k.a. The Atmosphere, is the decentralized storage layer that powers BlueSky, but should not be confused with BlueSky, which is essentially a Twitter clone.

ATProto is extremely cool. Identities store their data in a federated storage engine (in the common case BlueSky runs one, but also Europe has one https://eurosky.tech/). All data is public. Atmosphere applications can read any other apps data. So what is happening with Lopefeed is that a users store a copy of their notebook on their chosen storage server using their identity.

What is extremely cool is that an application can add application cross links, so you can associate a notebook with a bluesky post, or a standard.site publication, and say, this this notebook is associated with this specific BlusSky post. Or this person on BlueSky is the same author of this notebook.

So then you can start leveraging other apps data, e.g.,show me all the notebooks from people I follow on BlueSky, or sort notebooks by the number of likes on BlueSky, or publish a notebook on as a long form article on standard.site.

So several things are cool.

  1. the user nominates and controls their own data, its decoupled from the application that defines the service data schema (a.k.a. lexicon in AT:// jargon)
  2. the user owns their identity, again decoupled from the storage provider layer (a.k.a. PDS)
  3. Service providers (a.k.a. apps) publish public schema definitions describing the shape of their data and any other service provider is free to read and deep-link them. The application data interoperability problem on Cloud is solved.

So now you don’t need to build a social graph to make a social app. You can just reuse BlueSky’s, if you can convince your users to OAUTH with BlueSky posting permissions, you can offer them the ability to “like” things from your app and stuff.

I have been hard into local software for a little while, but ATProto is the data layer that actually works the way I like for networked services (provided you are ok with the everything is public angle).

Every datum has a DID, which is like a URL, which reflects the collection + key structure .

at://did:plc:r5lx5cznmnj6fftfy4hudgmm/com.lopecode.bundle/khinsen-the-answer

So because of data interoperability there are generic tools to look them up, so now we can see the underlying record that represents an Observable Notebook 1.0 record I made up.

https://atproto-browser.vercel.app/at/did:plc:r5lx5cznmnj6fftfy4hudgmm/com.lopecode.bundle/khinsen-the-answer

So a Lopecode notebook record is a list of blobs with Mime types, which is the low level representation of atproto storage. Which is very mappable to the Notebook datamodel too.

This might hit it home viscerally Ledger

That page just looks up the profile, but then that profile can be joined with lopecode lexicon, so that page is a join of two public data sources from different apps.