Titan - a New Gemini Browser

May 26, 2020

Gemini is a new protocol for the Internet, which I encountered near the beginning of May. It aims to fit a niche in between Gopher and HTML, being more powerful than Gopher, but intentionally more constrained than HTML. As someone who has their own Gopher hole, this was naturally appealing. As great as the minimalism of Gopher is, there's a reason that I tend to write most of my posts in HTML - inline links being a significant one. But it is also true that things like tracking cookies are a considerable drawback to HTML. Gemini harkens back to the early web, but with more power than Gopher, and with built-in TLS security.

One of the challenges I ran into, however, was finding a client. The main site lists a few, but I had difficulty getting the ones listed in early to mid May to run on Windows (things may have changed by the time you are reading this). Naturally, instead of doing the sensible thing and firing up my laptop that has Linux on it, I opened the spec document. Perusing it, I decided, "it can't be that difficult to write a basic client", and you know how the rest goes.

Despite the folly of starting any software project with, "it can't be that difficult", it turned out to not be that difficult. At least for the basics of sending a request, getting a response, and displaying that response.

Thus, I present Titan, a new Gemini browser that only within the past hour reached a level of, "I can browse with this and not realize time is passing." It's super early stages for it, but it offers a few features:

Being that it is still super new, it also has quite a few limitations:

Some of these may be resolved by the time you read this; one of the goals of this blogs post is to have a post about it before going to sleep, to increase motivation to make Titan better.



You can download tonight's snapshot from this link (15 KB). It will run with Java 8 or later. Configure your command line to have the dimensions 80x25 (width by height) for the best experience, and then run "java -jar TitanMay26.jar". I recommend viewing bookmark 1 first, as it's the main Gemini site.

Project Goals/Directions

This project is mainly driven by this looking like a fun, feasible side project. However, it may well continue receiving updates. In addition to addressing its limitations, current thoughts on direction include:


If you are in the same boat I was, on Windows but wanting to surf Gemini, Twin Peaks is another Gemini server that can run on Windows, and it uses one of those newfangled graphical user interfaces. I haven't tried it yet, but it looks like a good option for liftoff as well. There is also an extensive list of Gemini software, including browsers, at this Gemini site, but you need a Gemini browser to be able to view that page - a bit of a catch-22 if you don't have one yet.