GOPHERSPACE.DE - P H O X Y
gophering on circumlunar.space
# Release Retrospective
2019-12-09 7:18pm

This post talks a lot about a personal coding project and
may come accross as promoting a piece of software. I am
really conscious of the fact that people use gopher to get
away from people pushing products, marketing, tracking, etc.
(that is how I came to be here as well) and I hope that
this does not come accross that way. I posted about the
development on this phlog before so this felt like a good
place to do a little wrapup after this release. In any case
feel free to bail out now.

++

For those readers that do not know: my "gopher client"

Bombadillo

had a major release recently. It reached a big milestone and
has largely moved beyond just being a gopher client. I
worked really hard on it; as did the other main contributor
to this release, asdf. I have, of course, worked on other
projects before and released the source code... but no
personal projects of this scope.

I thought I would take the time to write down a few things
I learned or reflect on a few aspects of the process. So
here goes:


## Documentation
Writing documentation takes what seems like forever, but is
really really worth it. Having a second (or third) person
to be able to go over those docs is a priceless. 

I am not always great at putting my ideas into words. So the
process tended to be that I would write a first or second
draft and asdf would clean it up and make it more 
approachable to a non-developer or to someone that was not
familiar with this particular application. Then I would
look at it again and we'd go back and forth for a bit. Any
time a new feature was added that needed documentation, we
would start the process over again. This was generally done
as a part of the pull request process.

Working this way we produced the following:

- A solid README with instructions for building Bombadillo
- A detailed man page that covers just about anything you
  would need to know about Bombadillo
- A website with a devlog, quickstart, releases, and info
- A gopher hole that msotly mirrors the website

## Issues & Feature Freeze
Managing issues is constant. We used our git repo's issue
system for issues, but also for discussing and prioritizing
new features. This worked out really well. We even got the
occasional person outside the project joining in commenting
about preferences, requests, or ways to go (that is in add-
ition to people submitting issues/bugs).

We instituted a feature freeze after working through all of
the issues that had been tagged for the release. The only
thing that got done after the feature freeze was updates
to the documentation and the things necessary to the actual
process of releasing (merging, adding tags, etc).

Even with all of that, it was released for one day before
new bugs started cropping up. Those have been solved, but
are not in the precompiled binaries for the 2.0.0 release,
but can be gotten from the repo.

## Fun, Fun, Fun
I had such a great time working on this release. I use the
browser as my main daily driver for most content. I even
use it for web content that does not require forms or other
interaction. It feels good to want a tool that does a par-
ticular thing and to just make that tool.

I have gotten reports from users on a few systems that they
successfully got it built and have been using it, which is
really really awesome. I have also, as mentioned above,
gotten bug reports... which at first is a bummer, but turns
out to be really really awesome also: it means that people
are interested enough to report back and hope to see things
get even better.

The browser also got added to this really cool site/list of
vim-like applications

## Next Steps
In the nearterm I think my big goal is to get color codes
rendering in suer generated content. Right now, to prevent
breaking the display, all escape sequences are cut out of
user generated content on all protocols. I have some ideas
that should make it possible to have these render without
needing to do a huge rewrite of the tui/rendering-engine.

I also got a report that Bombadillo was failing when using
.onion links. This is something I would very much like to
remedy. I have not used tor myself and as a result do not
know much about how it works, nor why it is not working in
the current setup. So it is on my todo list to get this 
figured out. Anonymity measures, like tor, definitely fall
in line with the mission of the browser and would be a
really great addition.



Thanks to everyone that has taken the time to try out
Bombadillo, installed it on their server, submitted issues,
or taken the time to contribute in other way. false