> A community proposal for mapping web pages back to AT URIs.

Clarifications from implementing in Streamplace #3

Open iame.li
Open opened by iame.li

Hi! Cool idea and we're doing a quick implementation in Streamplace. Some semantic questions came up during our implementation and I wanted to bring them here for discussion!

at:canonical #

This property maps a web page to it's canonical AT record(s), which means if those AT records were deleted this web page would not exist anymore. The content attribute should be a valid AT URI that references a record.

Easy for https://stream.place/iame.li/video/3mriq5ysxrxa4, we can do:

<meta name="at:canonical" content="at://did:plc:2zmxikig2sj7gqaezl5gntae/place.stream.video/3mriq5ysxrxa4" />

Less clear for https://stream.place/iame.li. This is my livestream page; I can identify the current livestream but it changes, so perhaps it's not canonical? "if those AT records were deleted this web page would not exist anymore" isn't true as long as they create a different place.stream.livestream record to replace it.

<meta name="at:canonical" content="at://did:plc:2zmxikig2sj7gqaezl5gntae/place.stream.livestream/3mrnljf2kf32e" />

at:author #

Seems fine. Both livestream and VOD pages get

<meta name="at:author" content="at://did:plc:2zmxikig2sj7gqaezl5gntae" />

at:me #

I'm not really sure what this is for, could you expand on "This property defines the identity associated with the overall website or section of website" at all? "section of website" makes it sound like I'd have this tag on, like, my video list at https://stream.place/iame.li/video. But that sounds redundant with at:author? FWIW the Kimi instance I asked to do an implementation put in the broadcaster's ID, so currently we'd be populating this with did:web:stream.place. But that seems kinda redundant. Like... the website is https://stream.place, of course that's where we are.

thanks for sharing, this is great!

Less clear for https://stream.place/iame.li. This is my livestream page; I can identify the current livestream but it changes, so perhaps it's not canonical? "if those AT records were deleted this web page would not exist anymore" isn't true as long as they create a different place.stream.livestream record to replace it.

I'm gonna reword this so it's more a rule of thumb. It seems like the streamplace UI keeps up the last livestream until the next one starts so there is always a canonical record even if it changes. This does make me wonder if an extra layer of indirection could be useful, a record sort of like at://iame.li/app.bsky.actor.profile/self that points to the current livestream. The question I would ask is if someone pastes a link like https://stream.place/iame.li (or a link from another streamplace app) into an atproto app, what AT records would that app want to know about to do some kind of rich embed/interactions.

I'm not really sure what this is for, could you expand on "This property defines the identity associated with the overall website or section of website" at all? "section of website" makes it sound like I'd have this tag on, like, my video list at https://stream.place/iame.li/video. But that sounds redundant with at:author? FWIW the Kimi instance I asked to do an implementation put in the broadcaster's ID, so currently we'd be populating this with did:web:stream.place. But that seems kinda redundant. Like... the website is https://stream.place, of course that's where we are.

This tag is more for indie web developers laying claim that a website is theirs. For streamplace if could be the @stream.place DID, but it's likely not necessary. I'm going to reword this description to as I've seen other confused about it too.

Sign up or Sign in to add to the discussion.