💾 Archived View for rawtext.club › ~sloum › geminilist › 007273.gmi captured on 2021-11-30 at 19:37:34. Gemini links have been rewritten to link to archived content

View Raw

More Information

-=-=-=-=-=-=-

<-- back to the mailing list

chat over gemini (or, let's play with streaming text)

mbays mbays at sdf.org

Tue Oct 5 16:52:10 BST 2021

- - - - - - - - - - - - - - - - - - - 
I hope this inspires someone to build amazing things with the streaming
capability of text/gemini. There are a lot of possibilities, for
instance capsules like station could stream the feed, or the
notification page; it could be better than clients continously
refreshing the page.

DNA implemented thread notifications this way:=

gemini://nixo.xyz/notifications

My game server SGGS also uses this kind of technique -- after making your move, you leave the stream open, and once your opponent moves the new game state will be appended to the stream; also any chat messages are sent in real time.

=

gemini://gemini.thegonz.net/sggs sggs

Unlike mozz's and your approaches, this uses a single page which includes the links to chat/move. There's one annoyance with this single-page approach to real-time chat: there's no way to know for sure which messages were received by the user before they interrupted the stream to make a new request. So you either have to accept that some messages might be lost, or you have to repeat messages. I took the safest approach: every chat message sent during the streaming period after the initial response is sent again as part of the initial response to the next request.

Gemini clients could "ring" or use some other kind of mechanism to
inform the user that more content is available in a page (for
e.g. Telescope adds a `!' before the tab title.)

For terminal clients, I don't think this is really necessary, because monitoring for movement is something you can leave up to the terminal / terminal multiplexer (e.g. the 'monitor' command in GNU screen). But it doesn't hurt.

By the way, anyone wanting an easy way to test their (favourite) client's handling of streams can use this test page:=

gemini://gemini.thegonz.net/sggs/streamtest-------------- next part --------------A non-text attachment was scrubbed...Name: signature.ascType: application/pgp-signatureSize: 195 bytesDesc: not availableURL: <https://lists.orbitalfox.eu/archives/gemini/attachments/20211005/eb1fe857/attachment.sig>