Thoughts about the Gemini protocol

Dave Gauer dave at ratfactor.com
Tue Aug 18 19:50:55 BST 2020


On 8/14/20 4:59 AM, /dev/urandom wrote:
> I was thinking about an idea similar to Gemini that could work as a 
> protocol for not just websites, but also simple and functional web 
> applications as well that could, to a reasonable extent, look and work 
> well on lots of different devices (desktops, smartphones, feature 
> phones, text-mode interfaces).


Gemini has hard conceptual/technical boundaries which make it pretty 
unsuitable for building general purpose applications. And that is, of 
course, on purpose.

I've thought for years that browsers should have entirely separate modes 
of operation: one presents content and the other is an application 
client. The user would have strict control over which mode was being 
used, so I could say that reddit.com can only do "displaying content" 
things, but gmail.com can do "application" things.

But I like even more the idea of having separate clients (and protocols) 
for these purposes.

I feel like Gemini "solves" the content mode.

We still need the application mode. Universal distributed applications 
are incredibly useful and cool (and that use of the Web keeps me 
employed). But the Web _sucks_ for making applications.

So, if I were to build the "Gemini of applications", I think I would 
take a hard look at two things:

* WASM for execution
* Existing UI languages for layout

https://en.wikipedia.org/wiki/WebAssembly
https://en.wikipedia.org/wiki/List_of_user_interface_markup_languages

I like your abstract input examples.  The client should be able to 
determine the best way to present this to the user.  Entering a date on 
a desktop computer should not use the same UI as a touchscreen kiosk or 
a voice-activated home assistant!  Nor should the application developer 
need to create these UIs from scratch each and every time.

Hmm, now we just need a good name for a "Gemini of applications"...

:-)


> 2. Continuous connections
> 3. Append mode

#3 is intriguing.  I suppose it's to allow the server to respond with 
messages such as "I didn't understand 'asdfklj' as a date!" or provide 
interactive feedback, such as a session with an Eliza-like chatbot or

-Dave


More information about the Gemini mailing list