Real-time texting app on atproto

xcvr.org is a real-time texting application on atprotocol that i’ve been programming

real-time texting is like unix talk, which is when messages are broadcast to everyone else in the conversation as you type, so it feels more like being on the phone than standard texting

since atproto event streams only allow for unidirectional server → client communication, i use a custom protocol “lrc” (live relay chat) for all real-time-texting, use atproto records for chat history, and an event stream just to relay those records which also verifies ownership of atproto identities. since communication happens on the custom protocol, you don’t need to be logged in, (i also let you post messages to the backend’s user-repo, but if you don’t make a record for your message in any atproto repo, then it will be lost in time) & you can use my tty!xcvr tui to communicate (tty!xcvr also supports atproto thru app passwords (the web client for xcvr uses oauth), though it’s all a bit arcane atm)

this week has been the culmination of getting images to work pretty much! of course they don’t take place in real-time all that much, though i guess maybe at some point in the future someone could expand lrc to support real-time oekaki & pinksea’s lexicon. frontend for images is still a bit of a wip, but it’s functional and i’m ceaselessly chuggin along

if you wanna test it out, you can talk to yourself on it of course—everything colorful at the top of a channel should be stuff that anyone else connected to the channel could currently see—but also just let me know and we can have a chat on it. mobile is maybe not the greatest platform to test it on at the moment though, css is hard T_T

let me know what you think!

4 Likes

Welcome @moth11.net! I saw that you were doing that, it’s a very cool implementation! Also I love the mouse cursor follow graphics in the background.

Other than getting people to try it out and give feedback, what other help do you need?

thanks!

mostly i’m looking for the first two things, but i do have a few questions. my idea of a mostly complete lexicon at the moment would have notifications and feed generators. if anyone is aware of any good write-ups on how these lexicons work and what the backend architecture supporting them is like, i’d really appreciate that. also, i think when i originally implemented oauth, scopes wasn’t really a thing, i think it is now? so if anyone is using indigo’s new oauth client and doing scopes with it, i’d love to take a peek at your code, if that’d be ok

1 Like

Notifications: app specific, lots of folks including leaflet with comments is thinking about this.

Feed generators: we don’t really have non bsky-post feed gens right now. Graze, Nick, others have thought about this a bit.

Congrats, you’re at the bleeding edge of new lexicon creation!

@ngerakines.me is using very restricted scopes for AIP (what you see when you login to this Discourse forum, where it only asks for read access to email address), I think his code is in Rust?

Maybe Eli’s Streamplace stuff?