Tinyban, several weeks later

Published on 2019-10-17

A few weeks ago I wrote about Tinyban, my simple kanban style to do list web application. Originally I had planned to keep pushing one feature per day. As it turned out, I ran out of features to implement after less than two weeks.

The three features I planned to implement in my last post did get postponed or cancelled:

Task submission by email was put on hold. Although ActionMailbox shipped with Rails 6.0, the Amazon SES provider did not get finished in time. I will come back to this feature as soon as the provider gets released.

Task attachments with ActiveStorage and Backblaze B2 turned out to be rather easy, thanks to the activestorage-backblaze gem. But I realized that I did not need this at all and scrapped it.

Two factor authentication got scrapped, too. It would have meant a rewrite of both the password and email based authentication systems. As I am currently the only user, I decided the hassle not to be worth it at this time.

What I did do is replace the password reset email function with a sign in by email workflow. Users can enter their email address instead of their password when signing in.

screenshot of sign in form

Then they receive an email containing a link with a very shortlived token that signs them in by opening it.

email with login link

I also changed the task cards. This is how they looked before:

old task card design

Instead of the Bulma notification element, a more appropriate card component is now used.

new task card design

This reduces the blinding effect the bright notification colors had in dark mode, allows for more recognizable workflow buttons and improves readability of card bodies.

Boards now support linking to external issue trackers.

external issue tracker field

After an issue tracker URL has been configured, the card forms show an External issue field.

external issue id field

Text entered into the field gets inserted into the URL and output as a link on the cards.

screenshot of task card with external issue link

The card sort order can be configured per board.

card sorting setting selector

Cards can be sorted by activity, which means that the last changed card will be on top. They can also be sorted by staleness, which is the opposite and always shows the most neglected card first. Then there is backlog mode which sorts cards by creation timestamp and shows older cards first. The opposite is called management mode. You know why.

I moved the application from Heroku to a Dokku instance running on Hetzner Cloud. Dokku is a self-hostable PaaS service built upon Docker, herokuish and Git.

LogDNA, Sentry and Cloudflare are gone. The only remaining third-party service is Amazon SES for outbound email delivery. This made the privacy policy quite a bit shorter.