2020 Year in Review

I don't normally do year in review posts, but I feel like 2020 warrants one. Probably to satisfy a longing for closure, and to mark the beginning of what I hope will be a much more positive year.

That's not to say that 2020 has been a terrible year for me and my family, or for my business. In a lot of respects it's been a relatively positive year compared to some people's, but still, there's been ups and downs.

Business

I'm very fortunate to have been working with Delicious Brains as a senior software developer for over 6 years now. As a fully 100% remote company, the COVID-19 pandemic didn't disrupt the daily work routine too much as we're all already working from home.

I continued to work on WP Offload Media this year, a WordPress plugin that I'm very passionate about and keen to keep on moving forward.

At the beginning of the year I was the primary developer on WP Offload Media, in a team with Matt, who primarily worked on WP Offload SES. We bounced ideas off of each other and reviewed each other's code etc, but for the most part just got on with our work.

This worked ok, but WP Offload Media has become a bit of a victim of its own success, as the support load has increased significantly over time as more and more WordPress site owners rather than site developers have started using the plugin, and they tend to have less experience with cloud storage, content delivery networks, DNS, and general WordPress admin. Matt and I found ourselves doing quite a lot of support, and much less development on our respective plugins.

We weren't the only ones at Delicious Brains to be struggling with support detracting from development, WP Migrate DB Pro and SpinupWP also had the same problem as they saw increased popularity too.

Luckily Brad (owner of Delicious Brains) recognised the problem and has been effectively on full time recruitment duty for as long as I can remember now!

Since early on in the year we've had dedicated 1st line support staff trialled and come on board to help with the more administrative and technical sales style support requests for all our products. They've seriously improved the life for us software developers, and for Caillie who was helping us out as much as she could, detracting from her primary role too.

We've also had developers come on board this year to help speed up the development of all our products at Delicious Brains, along with a little shake up of the teams.

For me this meant losing Matt as he's now working with Pete on WP Migrate DB Pro, but getting a brand new team member on WP Offload Media, Erik.

Erik has gotten off to a flying start, we threw him in at the deep end and he's taken to it like a shark.

With there being no chance of a company retreat in 2020, and a general feeling of increased isolation, we've also started doing per team 10 minute stand-up video calls early in the day. For me this has been a massive improvement. Getting just a bit of face time with Erik each day helps immensely, not just for sorting out development related stuff, but for getting to know my Swedish team mate.

Another change at Delicious Brains was Iain switching to being a product manager rather than developer. While this happened relatively recently, this too has been a welcome change as Iain has already taken on some of the general product management tasks that detract from development time, but also brings in a different slant on things that I struggle to see myself.

Erik, Iain and I are working on some big things for WP Offload Media, and I'm particularly looking forward to 2021 as I've got some interesting and fun development lined up.

Side Projects

For the most part my side projects have suffered from a lack of attention this year. While I've managed to throw myself into my work at Delicious Brains, all the goings-on in the World have been quite distracting and left me less inclined to work on stuff in my spare time.

Snippet Pixie

The most active of my side projects this year was Snippet Pixie, the little text snippet expander application for Linux that has been used quite a lot while writing this post! 😉️

At various times throughout the year I've got the madness for improving Snippet Pixie and worked many hours to release almost complete rewrites or bug fix releases. Apparently seven in total.

Developing a snippet manager for Linux has turned out to be quite a tall order, it's harder than it might at first seem. However, once I switched full time to Linux in the summer, it became incredibly important that I had a reliable desktop text expander, and version 1.4.0 was born. This release of Snippet Pixie threw away the notion of universal automatic expansion and conceded that hot-key expansion was a much more reliable mechanism for the many non-native applications that are used on Linux these days.

I'm very proud of Snippet Pixie, and use it many times every day. I think in 2021 I need to work on making it better known in the Linux community, listen out for what people want from it, but otherwise just keep it true to its core reason for being and keep it ticking along.

There are some potential ways I could make a little income from Snippet Pixie in the future by offering some adjacent services that also help push it forward, but I'm not sure it's quite ready for that yet.

WordPress Plugins

I have two WordPress plugins that I maintain on the side, WP Table Pixie and WP Cron Pixie. Neither are particularly popular, or have received much attention from me this year.

WP Cron Pixie is completely free, and was originally born from a blog series I did for Delicious Brains. It just ticks along and does its thing. I use it quite a bit, have kept it up to date as the underlying technology changes, but otherwise it just exists. I have a vague notion of revamping it by rewriting the front end with Svelte, and back end with WP-REST, but that's maybe best left until I get the green light to add a part 4 to the blog series for it (which is unlikely as there's many more things we can blog about).

WP Table Pixie is freemium, there's a read-only plugin on wp.org, and you can upgrade to the premium version to add editing of postmeta, options and other metadata records. Apart from keeping it compatible with WP I've not worked on WP Table Pixie this year, mainly because it seems to be a very niche product, makes very little money, and I'm not sure it will ever have much of an audience. It's a little frustrating as it's a plugin I use virtually every day when helping WP Offload Media customers, it's great for checking what's really going on in a WordPress site's Media Library data. I seriously considered just making WP Table Pixie completely free this past year, but lack of time, a few more sales than I expected, and that little voice in the back of my head saying I should maybe give it another go kept me from doing it. I'm not sure what's in store for WP Table Pixie in 2021, it may be a make or break year.

Podcasting

In August 2018 I started the RustyElm podcast, a microcast journal of my attempt to learn the Rust and Elm programming languages.

In March 2020 I finally admitted defeat and started a new podcast called Always Developing.

And then there were tumble weeds.

I've not podcasted again since that "reboot".

It's weird because I've been continuously developing software and enjoying it ever since that first Always Developing podcast episode. The problem is I've just not felt that my rambling on about what I've been up to is particularly interesting.

I seriously considered doing some (not so) live streaming of me working on Snippet Pixie or my Secret Project, even have an OBS setup for it, but just not the confidence to actually do it.

I'm a pretty private person, and so social media and tooting my own trumpet in public does not come easy. While my colleagues at Delicious Brains hear my views on subjects more readily than they probably wish, I'm not one for spouting my opinions to people that I don't know. Yes, I'm your typical nerdy introvert, until comfortable enough.

Podcasting was going to be a means for me to combat these tendencies, to improve my social skills, get a few things off my chest and journal, kinda. So far it hasn't worked out, but maybe I'll find a format for podcasting or similar in 2021 that'll help me come out of my shell.

Secret Project

There's a little side project that I've worked on every now and then for at least 16 years now. It's been a tiny little bit of software that I use as a project to test new programming languages and technologies on. It's a great vehicle for learning, has had many incarnations in desktop, mobile and web forms with many languages, and has never ever got past prototype status, even though I've had spells of using it consistently to great success.

In 2020 I started playing with it again, this time using Go for the back end with CockroachDB as the database, and Svelte (Sapper) for the front end. I've thoroughly enjoyed working on it, including taking a bit of a detour into writing Juju Charms in Python for deployment.

For Go and Svelte I've done my usual deep dive into the technology, thoroughly absorbing them, reading through tutorials and getting to know them well before properly launching into developing with them. It's been a blast, they're both fantastic platforms that just make sense to me.

When I decided to write a custom Juju Charm for the project (which has now ballooned to 3 charms by the way), I took a very different tact to picking up Python in order to work with the Operator framework. For this I tried what I call "Stackoverflow" mode, no deep diving, just trying to get somewhere by searching DuckDuckGo or Stackoverflow for answers and perusing existing code on GitHub.

I'm not sure I would ever recommend this style of learning, but it's been relatively effective for the task at hand given that the Juju Charms I've been working on aren't the primary focus of development. As I write this it's been the part of the project I've worked on the most recently, partly because it's been just such fun. Juju is a wonderful system, and Python is a very easy language to accomplish tasks with.

This little side project has had enough iterations now that I think I should probably just make a commitment to it and take it seriously this coming year. It's nothing Earth shattering, but it may be helpful to some people, enough that they're willing to pay a few quid for it. So I think 2021 might be the year that it finally gets properly worked on and released.

Personal

If you've got this far you may be under the impression that 2020 has been a bit of a quiet year for me in terms of business and side projects. Thankfully it's also been very quite in my personal and family life too.

Although the pandemic has seriously dampened our plans for celebrating some big family birthdays and anniversaries this year, my family and friends have all managed to stay safe and weather the storm.

There's been a lot of "in 2021 we'll ...", and hopefully that'll all come to pass, but really I just hope we all continue to stay safe and healthy throughout the year, and the World in general gets back on its feet.

The one thing I've not really taken care of this year is my fitness. Although I've kept a good healthy weight, somehow, I'm pretty sure I've lost a good bit of strength and suppleness through a lack of exercise this year. That is probably the one major thing I intend to address in 2021 to ensure I'm fitter and healthier for both myself and my family. But that kind of talk is probably better suited to a "goals" post.

2021 Goals

Seeing as I've broken the habit of not writing year in review posts, I guess I might as well also write a looking forward post too.

Stay tuned for a much much shorter 2021 Goals post, where I'll briefly go over what I hope to achieve in 2021, so that this time next year you and I can laugh at them in a review post. Assuming my goal of writing a 2021 year in review post should come to pass! 😆️