Paul Rohr
banner
pevohr.bsky.social
Paul Rohr
@pevohr.bsky.social
Dad, startup guy. Ideas matter. Design matters. It's about we, not me.

hachyderm.io/@pevohr
Evidently not. Now that her suspension is over, the 11/10 post is still here but the earlier one is gone

bsky.app/profile/sara...

A useful reminder that speculation in the absence of facts is never worth it
November 14, 2025 at 2:27 AM
To be clear, this 🍕 thought is about versioning the contents of a record, correct?

( new versions of a lexicon schema are expressed via a different mechanism )
November 14, 2025 at 12:05 AM
Keep working within the current scope, because that QR code + easy data entry = enough of an MVP to attract others to start aggregating their data, too

But yes, it's way more than Linktree, which'll become very obvious as you recruit folks to build AppViews to leverage everyone's data
November 13, 2025 at 11:42 PM
Yes, yes, yes. You're absolutely on the right track here

Pro tip: I love the branding, but spend a little money to grab a relevant domain name now, even if you're not ready to host your app yet
November 13, 2025 at 11:35 PM
My naive assumption is that if you wanted to annotate a portion of an image (rather than the whole thing), you'd need a 2D shape
November 13, 2025 at 11:10 PM
AFAICT, the one clear risk to conversational integrity is that when loading my archive, all I can do is Ref your post, because I don't have your content available to calculate + confirm a StrongRef

So yes, carefully-constructed forgeries at import time would be as undetectable as PDS-level edits
November 13, 2025 at 11:09 PM
However, without a ton of work by a motivated attacker, it's unlikely to have any affect on archived conversations with honest actors like me

Odds are that none of my Refs to your archived posts will work, so I'm no worse off. I'll still just see my end of any conversations
November 13, 2025 at 11:09 PM
However, people suck + things can go wrong, so it's prudent to consider threat models

What happens if you (or someone posing as you) imports a garbage archive? That sucks for you, defaces your profile, + conceivably creates a burden for mods to sort it out

NB: The wayback machine might help here
November 13, 2025 at 11:09 PM
If you also post your real archive (which you trust), then our mutual exchanges can + should automatically reconnect to each other

This is a Good Thing, it's what's most likely to happen for normies, + we both can tell when it works. Win win!
November 13, 2025 at 11:09 PM
I think we're worried about different use cases

I post my real archive (which I trust). My conversations accurately point to specific posts from specific twitter accounts. At first, all of those references are dead, which I'm fine with

I expect there will always be such gaps. Also fine
November 13, 2025 at 11:09 PM
Again, this radical take is mostly me being grumpy. It's not always wise to radically simplify down to a minimal set of orthogonal primitives

But I'm much happier about adding back a little complexity once it's clear where + how the additional functionality gained is actually worth it
November 13, 2025 at 10:39 PM
Haven't skimmed various IETF fragment specs yet, but in terms of raw functionality, how far could you get with:

text = linear offsets (cf: facets)
images = spatial selection (box | poly)
video = time offsets

NB: Only need "logical" selectors for annotations to survive sources changing underneath
November 13, 2025 at 10:39 PM
(grumpy) Why the union of all 6 types of selectors, though? Doesn't that force every implementor to eventually deal with the entire compatibility matrix?

This smells of a leaky abstraction where gratuitous differences in various file format internals all keep jostling for attention. Y u no pick?
November 13, 2025 at 10:39 PM
Phew. Peeking now
November 13, 2025 at 10:10 PM
TBH, imagine that tomorrow the Internet Archive relinked all of old Twitter onto the atmosphere + it was a total PITA to connect those old accounts to my current one

Even if nobody claimed most of those accounts, that'd still be a huge win, right?
November 13, 2025 at 10:03 PM
What I do care about is reconnecting my archived conversations with whichever subset of folks also migrate their archives

Lock those posts down by default so nobody can interact with them if you must. I just wanna search, browse, + mention those conversations in the same place as my current ones
November 13, 2025 at 10:03 PM
Personally, I'm not interested in the OP's spin on the feature -- bulk load an entire social graph extracted from the archive -- so threat models against that use case don't affect me

By not using such a feature to create accounts, I'm not enabling imposters to handle-squat or post new content
November 13, 2025 at 10:03 PM
Agreed that possession of the archive gets close, but isn't definitive

And the usual trick of posting something specific there to substantiate the connection wouldn't work for folks who nuked their account on the way out

Still feels like there oughta be a pragmatic solution here
November 13, 2025 at 10:03 PM
Or are there ways to layer a much smaller subset of functionality on top of atproto's paradigms for referencing, authenticating, + disseminating lexicon-structured data?

Either way, really looking forward to whatever you come up with!
November 13, 2025 at 9:21 PM
For a lexicon-pilled pragmatist who wants to enable lots of interoperable implementations, this all feels like spec overkill

Is your plan to just dump big chunks of W3C-conformant JSONLD blobs into a single field in your lexicon?
November 13, 2025 at 9:21 PM
Hence they have not one gross conformance table, but two:

www.w3.org/TR/annotatio...

And even within that, each media type has its own IETF fragment spec to consider:

www.w3.org/TR/annotatio...
November 13, 2025 at 9:21 PM
Oh dear. This?

www.w3.org/TR/annotatio...

Instead of working through the merits of a small set of alternative designs, narrowing them down, + making an informed choice about selectors

... they came up with a verbose way to spec 👏 them 👏 ALL 👏
Web Annotation Data Model
www.w3.org
November 13, 2025 at 9:21 PM
By predetermining where archival posts from other participants wind up -- if + when they migrate here -- then at any given point in time, those archival references either:

- work (author imported it), or
- they don't (author didn't)

Similar UX as current references to blocked or deleted posts
November 13, 2025 at 6:42 PM
The trick here is to ensure that all archival posts imported via this mechanism are referenceable via canonical stable identifiers (from the *old* namespace)

Thus, every participant in old conversations can incrementally reconnect those 🧵s as we each imports our own archives
November 13, 2025 at 6:42 PM