Titan Released

July 1, 2020

Today's the day - Titan, my Gemini browser, is officially released. I just sent off the announcement e-mail to the Gemini mailing list, which I suppose is what makes it official. Maybe releasing the artifacts does, but the e-mail makes it much more likely someone will discover it.

Between the first post here about it (written at the end of the first night of hacking) and now, it's come quite a ways. And yet, there are still close to 40 things on my todo.sr.ht that I'd like to add. Like a lot of projects, it progressed quickly at first, with a rush of enthusiasm, and has since focused on maturity and stability as much as new features. The rate of progress is never going to be as high as that first day, when I could load a Gemini page for the first time, and then navigate between them, but there are far fewer crashes than there were then, and the experience as a whole is considerably better.

Realistically, I could have released it weeks ago. There was always that one more feature. Improving the consistency of the UI. Search (which still has improvements, but is functional). Improved navigation within a document. But after realizing that my "development sessions" were probably about two-thirds browsing Gemini capsules, I knew it was time to share it. And Gemini has evolved in those weeks. Just this morning, I saw Amfora for the first time, and it both addresses the initial raison d'etre for Titan - a cross-platform browser that doesn't require you to be famiiar enough with the language it's written in to compile it - and has many of the same features. I'd already come to the conclusion that it was time to release, but that reinforced it.

I don't know if Titan will get many users; it seems like there are half as many Gemini browsers as there are Gemini sites, and thus probably a fourth as many browsers as there are users. But it's been a great experience working on it either way. Not only was implementing a new protocol fun - the third time, after a homemade IM protocol in college, and Gopher last year - but the UI was a completely different style than anything I had done before. I suspect that regardless of momentum, I will keep improving Titan for awhile. Eventually it may become like JImageReader, where I work on it in spurts of a month or two, every few years, but for now there are enough interesting new technical pieces for me to try to keep it on the front burner. And perhaps just as importantly, I've enjoyed reading Gemini capsules, which provides good incentive to come back to it. Even if there may be better browsers out there for the purpose of browsing, there's something satisfying about using software you wrote, and that's something I haven't done enough of considering how long I've been a developer.

Future updates on Titan will likely wind up my Gemini capsule, and this post will likely wind up cross-posted there as well. But, after having made the first post on it here, a follow-up seemed appropriate.