Eating my own dog food

I recently was re-acquainted with an old software development term. Eating your own dog food. Here’s the story…

At my work, which is the business of email services, we provide a webmail interface. This, I believed, was for emergency or occasional access to email when away from your normal devices. Not so for many people, it seems, as I discovered we have many users for whom it is their only access to email.

Anyway, the story goes like this. About 20 years ago we offered webmail via a well known 3rd party software called Roundcube. We modified this a little to integrate some of our own controls. After a few years, it started to look and feel a little ‘crusty’ and not integrate into our systems as well as it should. At the time we had a great dev guy working for us (shout out to PJ Evans) who suggested he write our own system in the style of Apple Mail, which he duly did and we thought it was great.

Fast forward to the present day, and people being creatures of habit, we still had many users on the old Roundcube system. This was running on an old virtual server, which was the only server left on our last hardware which hadn’t yet transitioned to SSD – it still had ‘spinning rust’. So it had to be killed.

 

barking royalty 0ylgagtkobc unsplash

After a couple of months of warning, the axe fell, and then the complaints came in. “Don’t like the new system, why can’t we have the old one back.” Helpful comments like that! However, at this point the realisation came that a lot of people were using it as their only email access solution, so it was time for me to dust off some of my coding skills, do some learning (Javascript & JQuery is so much fun – not!), and start eating my own dog food.

Software should be fast, intuitive, and definitely not annoying, so by using it as my main email program instead of my beloved Apple Mail, every time I come across something that annoys me, I try and fix it. I literally spent days trying to fix a browser error so I could have an extra 15 pixels of space. Just this week it occurred to me that every time you click on an email, it loads the email again, so I started caching them for 30 days on the user’s browser.

We had a user who struggled to select emails, and after thinking about that for a few days and consulting with Claude AI, I came to the conclusion that he had shaky hands and the system thought he was trying to drag and drop instead of selecting, so the addition of a 200ms delay fixed that.

I’m a bit of a golf fanatic, and every time I play I get annoyed by the terrible software in the golf buggy. It defaults to metres, and I want to use yards instead. Well, you’d think maybe you just tap on the word metres, and it switches, but no. You have to go to the menu, then settings, then Yards/Metres, then select Yards, then go back to golf. 5 touches on a pretty unresponsive screen when it could be done with one.

I guess what I’m saying is don’t let people write software who aren’t going to use it in real life. There, I’ve said my piece. What do you think?

Leave a Comment

Your email address will not be published. Required fields are marked *

Newsletter

Subscribe to Newsletter