Lexicon Community TSC Notes: referring to external (authoritative) data in ATproto apps

Wouldn’t a location make a perfect ATProto record? An open record everyone could strong ref and build around (checkins, photos, etc.)?

Great point! There’s some subtlety that the sentence you quoted fails to capture. More precisely, I’d say that "forcing all data, regardless of source to be a record so it can have its own AtURI is an anti-pattern.”

When you make data into a record, you create a relationship where the data is now “owned” by a PDS. In the case of a user who owns e.g. a specific venue, it makes sense that this data would be “theirs”. If foursquare had their own ATproto-based service and was maintaining their own records, then it could make sense for them to put that data in a PDS so apps could reference it.

Garganorn, however, is a view over data from external services, not the owner of the data. While there could still be scenarios where putting this type of data in a PDS would make sense, the broader point made was that we shouldn’t simply copy external data into PDSes so Apps can reference it, but figure out other ways to refer to it.

As I was mentioning in the other discussion post (ATgeo WG: Next Steps for Garganorn and Geographic Data in ATProtocol), one option keeps in line with (how I understand) what surfaced in this discussion is for Apps to store the same data that they’d store in a AtURI that points to a record (that is collection, key, plus optionally source and revision), but not store it as an AtURI. The reason is that, while the information is similar, an AtURI comes with extra implications at the protocol and conceptual level that we don’t need to force onto every piece of external data. The way I’m seeing it right now, you’re saving enough data to be able to make an API call to any Garganorn-like service to get the location data you need, or, if you really need, to go fetch that data back from the original, external data source.

With this said, I want to keep stressing that we’re all making this up as we go, so if something I said doesn’t sit right with you (or anyone reading), please do challenge it.

1 Like