<-- back to the mailing list

Dioscuri, another application layer protocol

Sandra Snan sandra.snan at idiomdrottning.org

Wed Sep 30 17:14:03 BST 2020

- - - - - - - - - - - - - - - - - - - 

Jason McBrayer <jmcbray at carcosa.net> writes:

IMO, we should resist the temptation to make Gemini a general-purpose
application platform, and the like temptation to build a general purpose
application platform alongside it.

The good old days when we had separate apps for everything was paradisefor me, and, well, still is because I can still happily live in thatworld in my li'l Debian bubble.

You've seen me rant against web apps before, for example on here:https://github.com/w3c/web-share/issues/173

But it was not easy for most people to ./configure, make, make installthings. Using web apps is something they can do.

As an example, email exploded once web-interfaces to email becameavailable.

If Gemini and adjacent protocols turn into a general-purpose applicationplatform, there need to be some sort of purpose or guiding light orboundaries or reason for starting a new pile instead of working on thealready existing pile of junk.

Dioscuri doesn't have a client-side, server-served programming language.Such things are the cause of a lot of the web's problems so that's notwhat I'm proposing, but, the consequence of _not_ having it means thatevery Dioscuri–app needs to have its own implementation.

Talk about complexity in the client! With SSH I can have an app on theremote and call it from my client.

ssh some-server-name 'ls|tail'

The SSH client doesn't need to know or implement the semantics of ls ortail. With Dioscuro, there is a lot of responsibilty for both sides tobe on the same page with regards to semantics.

Sandra

PS.Here's an idea, in the mindset of green hat "thinking out loud":

A handful of standard UI elements communicating with server back andforth in a straight-forward way according to one specific protocol.

The following is not gonna sound retro, but… if parts of the page couldupdate without reloading the entire page, that'd go a long way toalleviate a lot of people's desire for JavaScript, AJAX etc. One button,one checkbox, one text field etc could be sent without having to sendthe entire form, and one local UI area could be updated without havingto refetch the entire page.

I.e. the client holds only the view and the user inputs. It should belike pushing on remote buttons with a ten foot pole on the other side ofa chasm.

PPS.OTOH, what I just described sounds like it could turn a FOSS nightmarethat there ain't no AGPL strong enough to prevent, so uh, don't hold meto that idea. Just thinking out loud.