// Thoughts on Gemini // The Gemini protocol is an internet protocol for serving hypertext content, that is between Gopher and HTTP in terms of complexity and capabilities. I had started to develop a Gemini client that would be combatible with both Linux (through Qt) and Haiku OS (as a native app). I have however decided to suspend the development of my Gemini client, for the following reason: * Complexity Gemini requires connections to be secured using TLS. While this is an improvement, it also makes handling the protocol much more complex and prevent devices with restricted ressources from accessing it. The are other points that make handling Gemini rather complex, like an important number of status codes that must the implemented. With such complexity, what is the point of implementing Gemini? Why not simply use HTTP, which already has all the required features? But more importantly, what is the point of such complexity, when Gemini is restricted to Markdown pages? Gemini doesn't really have support for interactive or multimedia content (not necessarily javascript stuff), and yet it is a rather complex protocol for what is offers. * Markdown Gemini uses Markdown as markup format. Markdown is problematic because: * It has limited presentation options. Presentation of content can be just as important as the content itself. Without presentation capabilities, Markdown only makes sense for technical content. * It has limited formatting capabilities. For example, it is not really possible to nicely add a caption below an image. * Unclear separation between content and formatting. This can make parsing difficult, and the writer must be careful to not accidentally use Markdown formatting while writing. Alternative to Markdown for Gemini could be a subset of HTML, like HTML 3, or an extended BBCode. An even better option would be to offer multimedia and interaction features, to allow publishing more creative and artistic contant, but in a restricted manner (no Javascript, no autoplay). Such capability could be implemented using a novel text-format that would offer creative capabilities similar to HyperCard or early Flash animation, but in a safer and saner way. With this, I think Gemini would be a worthwhile alternative to both Gopher/text and HTTP/HTML. * Usage, or lack of Finally, I believe Gemini doesn't have enough users (yet?) to warrant yet another client. I may however resume development of my client if Gemini attracts more users.