"Everything should be as simple as possible, but not simpler" -- not Einstein...


Gemini - a balancing act


Gemini aims to be a minimal markup specification and protocol. Is it simpler than it should be in order to be useful? Probably. After looking at it for a day I have a few small issues.


Don't misunderstand me - I think Gemini is great, and I certainly love minimalism. Gemini got many things right. Simplicity, lack of extensibility, etc. But after one day of using it, I think Gemini got some fundamental things wrong.


TLS - is it necessary for a minimal system?

Do we really care? Most americans blab on and on about freedom of speech, while volantarily updating dozens of corporations about every act of eating, searching, photographing, masturbating and copulating.


Encryption makes it hard for the ISP to snoop on our Gemini sessions. Government entities can easily snoop on any server out there, and if they want to, activate crap on your so-called computer to spy on you.


Certificates make the man-in-the-middle attack harder, but again - any government can easily get any certificate they want. So can a determined criminal. Security relies on a central authority.


How many Gemini users send or read life-or-death information? Do we care if the Spacewalk story about some random space baby on Mars is authentic?


I feel it was a total mistake. Privacy and encryption can be easily provided by running Gemini over Tor, for those who care. Those who don't are saddled with a useless layer and needless confusion over certificates.


Lack of uploading capability and editing

People want to build simple bloggy websites, and not being able to post or upload files within the protocol means that the protocol must be supplemented or extended. The fact that Titan had to pick up where Gemini dropped off means, to me, that Gemini should have specified these capabilities in the first place.


All we have is small blogs hosted on larger sites, bending over backwards to provide the desperately needed posting capability.


Not enough syntax

Since it's up to the user how to display, but up to the writer how to tag, we need a few more structural elements:


Horizontal Rule.

How many dashes do we need to break up our text? Does the browser detect dashes and draw a line? I though this was exactly the complexity we are trying to avoid


It is really easy to parse links inline. I don't buy the argument that it is hard, even for a weekend project. If you find it hard, you should not be writing a browser. Or reserve some special character to indicate a link (many browsers actually insert an icon there!)- we have UTF-8, for god's sake!


Structural elements

I don't want HTML, but since we are in charge of structuring a document to be rendered by the user, we do need to indicate structure. It is not enough to have three header levels and non-nestable lists. You really need something like open/close tags or braces to enclose structural elements. It does not need to be complicated - Lisp accomplishes all that with just two characters!


A few more things

References, emphasis, etc. Simple embedded images. It's kind of necessary. Wikipedia is pretty much a low bar to shoot for.


I know, I know

I get it - minimalism. But as much as I love Gemini, it would have been a better system if it was closer to MarkDown (even a subset thereof). It's divergent and underspecified, blah blah, but actually usable.


My idea of minimalism would be punting TLS for plaintext, and adding a few structural elements.



/gemlog/