Comment by πŸ™ norayr

Re: "So theoretically, if a Gemini app had a well defined API,…"

In: s/Gemini

there was a multi-user chat that worked in gemini browser and used the gemini endless streaming feature.

are there sources? or where is it deployed?

audio calls will not work over gemini because you can't do streaming as client but as server.

well you can have server and software that streams aidio from your mic and be part of vpn with real server and other party.

other party also streams audio.

server is connected to both od you as client, and you both connect to server as clients and receive streams of each other.

πŸ™ norayr

Apr 08 Β· 4 weeks ago

9 Later Comments ↓

πŸ›Έ bluesman Β· Apr 08 at 00:31:

@norayr I think you're referring to AuraGem Live Chat. It's actually running at the moment (some of those services have been down).

β€” auragem.ddns.net/

🦦 ainent · Apr 08 at 02:14:

@zzo38

Last I tested, TLS 1.2 worked but I added a note to test it again to my backlog. In the meantime, here’s the text of the post:

# Native Applications over Gemini
Disclaimer: This is not an official proposal nor is it an attempt at extending the protocol. Just throwing some thoughts out there.
Lately I've been pondering the idea of native applications (GUI, TUI, platform irrelevant) over Gemini. They could look and feel identically to a native application, only the backend would be accessed over gemini:// instead of http://. Gemini can serve any file type, so the responses could have a MIME type of application/json or application/xml, etc. This would allow for more customized applications than simply dynamic text/gemini via a browser, with all the benefits of Gemini. The downside would be less room for user input, because of the limit on Gemini URL lengths, but that could be mitigated with the Titan protocol.
Has anyone else thought of this, or implemented anything?

πŸ¦‚ zzo38 Β· Apr 08 at 03:40:

What you describe would work (like it would with HTTP, except the different headers); you might have a different URL for the that purpose (so that Gemini text can still be accessed as well), and multiple implementations would be possible (so it should be documented). (Also it is my opinion that DER is a generally better format compared with JSON or XML, although you could use any format.) (Also: Scorpion protocol has a "I" request type, and for some uses it would be helpful, such as for two-way streaming. Furthermore, if you need user authentication, then regardless of which protocol you use, using X.509 client certificates has many benefits, depending on what your requirements are.)

🦦 ainent · Apr 08 at 04:24:

although you could use any format.

Yeah the format is an implementation detail as Gemini supports arbitrary MIME types.

Also it is my opinion that DER is a generally better format compared with JSON or XML

Could you elaborate? My experience with DER is quite limited. Are they usable for non-certificates?

πŸ¦‚ zzo38 Β· Apr 08 at 04:41:

Yes; DER can be used for many kinds of structured data, and not only for X.509 certificates. If my nonstandard types are added, then its data types is a superset of that of JSON (in this case, the only nonstandard type used is the key/value list type; the rest of the JSON types are standard ASN.1 types). I wrote a implementation in C (although other implementations exist, in C and other programming languages, but many of the implementations have some flaws in my opinion). My "Super ZZ Zero" game engine uses DER in many parts, and so does some other things I had been working on.

πŸŒ† skyjake [mod...] Β· Apr 08 at 05:53:

@zzo38 I'm curious: why would you use DER, with nonstandard extensions, when there's the well-established BSON? The latter seems a more pragmatic choice for structured binary data.

πŸ“» eugene Β· Apr 08 at 10:01:

...and if we're talking established standards, why not CBOR?

πŸ¦‚ zzo38 Β· Apr 08 at 17:00:

One advantage of DER is consistent framing. Another is that I think the data types are better; there is a OID type and relative OID type, as well as octet string and bit string, and unlimited length of integers, and it does not insist that you use Unicode. BSON, CBOR, etc try to make it better but end up not doing so and are inferior. Note that you do not need to use all of the types, nor need to implement all of them even if dealing with a file that uses them.

β€” See the "frequently asked questions" section near the end of the file for my own answers to some common questions about ASN.1 (other people might not necessarily agree with all of my answers)

🚬 sy · Apr 08 at 21:00:

@norayr

β€” chat.mozz.us/

β€” https://github.com/michael-lazar/jetforce/blob/master/examples/chatroom.py

Original Post

πŸŒ’ s/Gemini

πŸ€ gritty:

So theoretically, if a Gemini app had a well defined API, one could make a phone app to interface with just that Gemini app/capsule, correct? So for instance, a graphics based UI on your phone that pulled from a BBS/Bubble API. It goes against the spirit of Gemini I think, but I just had the thought in my head.

πŸ’¬ 30 comments Β· 4 likes Β· Apr 05 Β· 5 weeks ago