My Gemini Client Preferences (publ. 2023-08-03)

I had an opportunity to write, and I felt like I wanted to throw out my preferences and concerns when it comes to Gemini client features. Here is a list in no particular order:

Tor compatibility

The ideal would be to have an actual SOCKS5 interface built-in to the client, like the Firefox Web browser has. I haven't yet come across a gemini client that has SOCKS5 support. So, I've had to use torsocks. The tricky part is torsocks doesn't work well with all clients. In particular, Lagrange has this problem where, if I try to run it on top of torsocks, the feed reader occasionally crashes and causes the whole application to freeze up. At one point, I actually patched Lagrange to disable the feed runner from running, but I found it was easier just to delete all my feeds from the Lagrange feed reader, and load the feeds up using my gmisub aggregator instance. But if the client had proper SOCKS5 support, I wouldn't have to deal with torsocks at all.

Appearance and color

I do a lot of Gemini browsing, so I do want a pleasant viewing experience. And a wise use of font colors helps with mentally processing the materials. Lagrange and Amfora are the best clients I've come across so far, as far as the visual experience.

Hebrew character support

In one of my gemlogs I type and paste in a lot of Hebrew words using Hebrew consonant and point characters. Lagrange doesn't seem to handle the output very well, even if I install the Noto fonts. The client needs to be able to get all the pointing and spacing correct as well as display the characters right-to-left. I think all the TUI clients do fine with this so long as I run them in the Gnome terminal, but monospace Hebrew looks a little strange.

A read queue

Very often I find 3 or 4 links on a page, which I want to read very soon, but I want to first finish out the page I am already on. So, I need some quick and convenient means of queuing those other pages. Lagrange has the right-click option for opening links in a background tab, which is a practical solution. av98 has the "tours" feature, which allows you to put URIs into a queue and then pull a URI off the queue whenever you are ready.

Feed reader integration

A convenient, easy-to-use feed reader is nice, ideally with support for both gemfeeds and atom feeds.

Convenient bookmark system

Having bookmarks is critical. Lagrange also has auto-completion against the book mark list, which saves me a lot of time.

Proper certificate support

Support both for creating and managing user certificates, as well as approving and inspecting server certs.

Emacs integration

I tried Emacs elpher, but there were a few things I didn't like about it. The main deal-killer is that, due to some incompatibility with the emacs certificate management system, elpher does not do any certification validation. I'm okay with TOFU, but I want to know if the fingerprint changes, and have an opportunity to verify it independently.

If I could use an Emacs client, there would be potential for features like helm completion for the links and headings, and adding time-saving functions or macros.

Good file type handling

It is ideal to have a convenient system for handling various non-gemtext file types. Lagrange does well at this. Inline image support is nice, though loading up into an external viewer is fine, if the procedure is quick and easy.

Easy keyboard navigation

Lagrange does well in making it easy to follow links with the Alt key and a number. Amfora also numbers the links for a single key-press. Having a simple-to-use system for searching through a gemtext document is also nice. A well-designed Emacs client could be really nice for this.

Directory navigation

It is often helpful to be able to jump to the root directory of a server URI, using a single command. Sometimes it is helpful to be able to move up just one directory.

There is my list. Some other features might be helpful also, but those listed above are those that have a significant impact on my user experience.

Proxied content from gemini://gem.librehacker.com/gemlog/starlog/20230803-0.gmi

Gemini request details:

Original URL
gemini://gem.librehacker.com/gemlog/starlog/20230803-0.gmi
Status code
Success
Meta
text/gemini
Proxied by
kineto

Be advised that no attempt was made to verify the remote SSL certificate.