Regardless of how well you write code or develop products, updates are mandatory. When it comes to the software, the phrase ‘nothing is perfect’ is especially true.
So you’ll need to make updates. Probably a lot of them. Not just to cover bugs and improve compatibility, but also to add new features and enhancements to keep new and old customers happy (and coming back for more).
But updates are exhausting. Not just for you, but for your users.
If you develop for a platform like Android / iOS where updates can be deployed automatically without user involvement (or SaaS), they’re not as bad. But most of us, especially those working with WordPress, don’t have that luxury just yet.
When you deploy an update, each and every user will likely have to manually make that update. Even if it’s as simple as them clicking an update button, that’s a moment of their time that they can never get back – they will resent you for it.
There are ways to appease them. Do less updates or release them less frequently, but then you have a group of users complaining that there aren’t enough updates.
Then you have the old users who are grumpy because everything’s changing and things aren’t like they were in the ‘good old days’.
Everything’s a mess. Everything sucks. How do you fix it?
Update your Update Process
There must be a better way, right? I think there is.
Changes should be subtle – Try not to release frequent updates with drastic changes that require user’s to do extra work. Make the changes subtly and you’ll find users to be a lot more positive about the changes.
Use Semantic Versioning – Make it clear to users when they see the next available version what they should expect.
– MAJOR (1.x.x) version when you make incompatible API changes,
– MINOR (1.1.x) version when you add functionality in a backwards-compatible manner
– PATCH (1.1.1) version when you make backwards-compatible bug fixes.
Work off user feedback – Listen to your users and find out what they want. If they’re begging for a new feature, try and include it along side a bunch of regular fixes. They’ll be very happy to update knowing they stand to gain something other than a quick fix.
Open roadmap / plan – Communicate with your users about what you’re planing to change in the future. If you’re making a significant update that will result in incompatible changes, let them know in advance. If you communicate, there are (almost) no surprises. Less surprises = happier users.
What other tips do you have for solving the update problem?