Hi folks! Apologies for being away from the conversation yesterday! (I’m also loving the very active discussion @erlend.sh
)
@trezy.codes you make great points on swapping self out for a per-game rkey (and accepting that “bad” apps might abuse that).
I think a smart move here (someone may have mentioned it already, I lost track
) would be to use the “sidecar” pattern, and reuse the g.gggg.game rkey for the games.atmosphere.status (love this!) record, so answering “is {person} playing {game} now?” is a trivial lookup.
The things that change I can spot:
- We lose the ability to order records that a
tid normally gives you, but given we’re expecting these records to be deleted when not active, I can’t see there being many to iterate through, even for folks playing many games at once!
- We lose the ability for someone to play the same game twice (and have eg. the party details be different).
- Apps spanning multiple games need to hold some state (what the last game they sync’d was), so they can remove it when you switch games.
I think these are all totally fine 
@erlend.sh you asked about non-game presence — given there’s an actively maintained index of games already on the atmostphere (games.gamesgamesgamesgames.game), and there’s game-specific metadata we’d like to include, I’d also think it’s best this initiative remains game specific.
But I can see it being useful more broadly, and I think an app-specific lexicon could use a similar/compatible structure to allow adopters to pull both lexicons and parse them identically in all but game-specific contexts.
@lemmaeof.gay I like your additions to the lexicon! timestamps and the `@key("any") right?
You reference “counting upwards” and “counting downwards” in the descriptions, I’m not quite following what they reference (I’m likely being dumb here, but I don’t follow how a timestamp can count?)
I’m also wondering if this would benefit from attaching those timestamps to something already in the record — “The time a specific event started/will end” — what event? Something referenced in the details? The state? Something separate? (if it’s separate then should we have instead an event key, with a startedAt, endedAt and description?) — I’m not familiar with how this could be used, so please tell me if I’m misunderstanding what this would be used for!
@rpg.actor thanks for the offer of games.atmoshpere.status! I’ll be happy to open a PR for us all to review — I think it’s just the question above on what the timestamps/event should be before we have something ready to ship!
Oh… and I have a demo (oh so very alpha) app up for you all to play with the records in your own dev servers 
sync.atplay.games will let you sync your Steam account’s now playing (powered by keytrace.dev) and your Discord account’s now playing (Keytrace for the link and you need to be in a specific Discord server for me to pull your data). It should give us all a good feel for how these records can look — syncing with Discord gives you richer data (as Steam doesn’t expose lots we’d otherwise need).