Kevin Boone

Announcing JGemini version 2.0

JGemini started life as a Java-based graphical browser for the “small net” Gemini protocol. There weren’t any graphical browsers for Linux at that time and, as one of the stated design goals of the Gemini protocol was that it should be simple enough to be able write a browser “in a weekend”, I undertook to do just that.

The result was something that clearly looked as if it had been written in a weekend.

And there I left it for five years, until I decided to take an interest in Gemini again this year. I soon realized that things had changed, and my browser was hopelessly outclassed by the likes of Lagrange and Alhena.

Although I remain unconvinced about the long-term future of Gemini and similar efforts, I thought it was worth dusting off my browser, and seeing what I could achieve in a second weekend.

Now it clearly looks as if it’s been written in two weekends.

Given that we now have browsers for Linux, and good ones at that, you might wonder why I thought it was worth expending even this amount of effort. Well, several reasons.

First, I needed to brush up my Java programming. I’m retired from regular employment, but I still contribute to a few open-source projects. After a year of retirement, I could feel my Java skills starting to slip away.

Second, there are features that I wanted to implement, that none of the other Gemini browsers do, at least partly for ideological reasons. For example, JGemini has full, native support for Markdown. There’s constant debate in the Gemini world about whether Markdown might be a better choice of document format than the standard ‘Gemtext’, but none of the well-established browsers support it, and seem unlikely to.

I’d also like to be ready if there’s a move to a new development in the world of small-net protocols, with a reasonable number of people behind it. Most Gemini users are perfectly happy with Gemini as it is, and that’s fine. But if there’s a proposal for something that I think would be more suitable, I’d like to be in a position to adopt it with working software.

Self-justification aside, here are the features of version 2.0:

Version 2.0 still lacks some features that many deem essential, like the ability to bookmark pages. I’m still trying to see how I reconcile features like this with JGemini’s intentionally stateless design. There’s also the irritating need to configure the application by hacking on configuration files which, again, needs some thought. Maybe I’ll implement these features in version 3, if there’s any interest.

All the source code is available from my GitHub repository. In particular, there is a ready-to-use binary for release 2.0.0.

If you try it, do please let me know what you think.

Screenshots

Here are the obligatory screenshots.

Dark theme
Light theme
Making a Gopher search using Veronica


Have you posted something in response to this page?
Feel free to send a webmention to notify me, giving the URL of the blog or page that refers to this one.