Turning bugs into features when building applications
At Watchful, we do our best to produce a quality, intuitive application for website management. And when a customer finds a bug, we do our best to fix it quickly. Sometimes these fixes lead to an improvement or feature in the platform. Below is a recent example of this process at work: turning bugs into features.
No software is perfect
Whether it’s a Saas service like Watchful, an app for your phone, or a website you’re building for a client, unknown bugs will either be present at launch or will develop over time.
Detailed planning, careful development, and comprehensive testing can dramatically reduce bugs. But none of these mitigations are 100% effective at eliminating bugs.
The unexpected consequence of launching a new feature
When we build a new feature at Watchful, we spend a lot of effort announcing the release and sharing the details. Why we built it, how we built, how to use it, etc. For example, back in 2020 we introduced a new feature that lets you use your own email account to send client reports. this white-labeling of reports was perhaps out most-requested feature of all time.
Fortunately, using a custom mail server for sending clients reports turned out to be a very stable new feature. However, an unrelated change that we introduced last summer did introduce a bug.
We updated the account and subscriptions area and created a rare bug: under some circumstances, updating your account details could delete the custom mail server settings we described above! As a result, client reports were sent from the Watchful email address instead. This completely broke the white-labeling and was understandably frustrating to the customer.
Turning lemons into lemonade
It can take days or weeks for enough users to engage with a new feature and identify bugs. In this case, it took more than 7 months as two new features had to interact in a specific way for the bug to occur.
After a thorough analysis, we found a total of 5 users affected by this bug. The short-term fix was simply to notify the affected account holders to update their send email settings.
As a long-term solution, we relied on a great suggestion from the user who first identified the issue. They hoped we would disable report sending in cases where the custom email server details were missing or invalid.
We implemented this request a few days after identifying the problem. As a result, if white-labelling is ever compromised, 3rd-party vendors like Watchful will not be revealed to clients as reports will not be sent.
This solution also protects against other problems with custom send email servers such as user error or a technical/network problem with mail server itself.
A small modification becomes a feature
So far, we’ve made a change in the behaviour of our existing functionality. Rather than using our own email server to send a report, we will wait until the custom send mail server details are updated. This is a good improvement, but not what we would call a feature.
However, logging any any mail server issues and notifying the user would be a significant improvement. Thus, we expanded on the change in email behaviour and added the improved server monitoring and user notifications.
Now, Watchful records a log entry when a report email fails to send and the user is notified via email. Users also have the ability to enable/disable the email notification as desired.
We’d love to hear about your experience!
launching and updating websites involves quite a lot of testing and bug-fixing. We’d love to hear your experience with turning bugs into features. Feel welcome to post them in the comments below!