When a molehill becomes a mountain
As I finalize this post, I'm staring at almost 2000 emails, all of which are automated error notifications. Around 1000 of these are for WebCopy alone, stretching back nearly two years. There's lots of duplication, and lots of issues that have already been fixed in newer versions of the software. Regardless, however you look at it it is an unmanageable amount.
Some quick background into exceptions - when a fatal exception occurs, the end user is given the chance to report this (meaning it's possible we could never receive reports of rare exceptions). The report is then dumped into the database behind cyotek.com - some of it in an old table for recording the basics of an exception, the rest as HTML in an even older and poorly designed issues table. Oh, and that not-very-readable HTML is sent as a notification email.
Aside from the odd tinkering to to the format of information dumped into these tables, they are unchanged from when cyotek.com was "rebooted" back in 2009. There are no management features, no fancy reports. The only way to get at it is to look at the raw tables in SQL Server.
Not fit for purpose is possibly the politest way of putting it.
It's time to put the brakes on the already sporadic product updates and sort this out once and for all. I had been looking at services like RayGun or Airbrake, but that is cost prohibitive right now. Also, I'm slightly wary of aggregation services after self hosting Sentry for a year. (Although that probably just means changing our workflows rather than any concrete issues with aggregation per se)
So, product updates will probably be on hold while our error tracking systems are rewritten from the ground up. Once they are replaced and the old system deactivated, hopefully we can start working on the backlog.
Free software isn't free (or why new features, bug fixes, and anything else is never timely)
Right now, all Cyotek products are freeware - with optional donations. We have had donation links for years, hoping that people would find the products valuable enough to donate and therefore covering the costs of developing and supporting the products. The reality has been somewhat different for some time now, and so it is almost inevitable that other options are going to have to be considered in the future.
The other cost, of course is time. It takes time to develop new features, and time to test them effectively, the lack of which has been a problem in the past. It also takes more time to fix bugs and resolve design issues from poor planning. Of course, it takes time to do proper planning too. And with Cyotek being such a small company but one with a fairly diverse range of products, that time is spread even thinner. There's a long list of things I want to do with WebCopy, Gif Animator and CopyTools in particular, but major features are major for a reason and burnout is also real.
Not to mention, there is the time of the user as well. Why waste their time with a program that doesn't fit their needs, or is slow or unintuitive?
I sometimes feel we're stuck in a bit of a catch-22 situation. Despite having thousands of users at least running our products now and then, the tiniest fraction of users donate anything. Perhaps the remainder don't like the products, find them feature limited, or too unstable. It would be nice to improve that particular metric - at the very least I'd love to get rid of the blight that is advertisements.
It's a long tunnel, but there's always light at the end
In the short term, we need to concentrate on sorting out the error systems so at least we're no longer ignoring/being paralysed by the mounting pile of issues (killing off issue reports from obsolete versions of the software would be an excellent start!).
Then, after any particularly nefarious bugs are cleared, I can start properly planning product road-maps, and getting the wheels in motion again with solid, stable and feature rich software.
- 2015-07-10 - First published
- 2020-11-23 - Updated formatting
Like what you're reading? Perhaps you like to buy us a coffee?