Dear past me,
I know you’ve just launched your first desktop application. It’s a nightmare isn’t it? Well you’re in for a bigger one.
Your boss calls you, and they need a new feature immediately. You bang it out and send out the update.
Oh yeah, that’s right. You didn’t include an update mechanism. Please use one, you’ll save yourself a lot of pain.
You send out the update to users, but soon you find out everyone hasn’t updated yet. The boss insists that people on an older app version shouldn’t be able to use it.
But you didn’t include a forced version based lockout mechanism either. Well, you’ll remember that for next time!
Desperate times call for desperate measures, and you decide to break the server so it returns bad data to old app versions. Never mind that this permanently corrupts the local database and will require future tech support to help them clear their cache. But that’s future you’s problem.
The boss is happy, the app is chugging along. This cycle repeats a couple more times in various ways.
Save yourself the pain next time. Implement a feature flag / version system. Later, it’ll even help you roll out features to users incrementally.
Use the flags, Luke.
Sincerely, Present me
Read Next
I’m running an experiment for better content recommendations. These are the 3 posts that are most likely to be interesting for you:
-
Gamedev Ideas
Explore how a programmer’s journey evolves from tackling technical challenges to creating unique game concepts that reflect on the quirks of development work. -
Fix WSL time drift
After tackling the challenges of version control in your first project, discovering how to fix a sneaky bug in WSL2 that messes with time-sensitive operations could be your next tech lifesaver! -
Install Postgres into XAMPP on Windows
After tackling the challenges of your first desktop application, learning how to seamlessly integrate Postgres with XAMPP could be your next step towards mastering local development environments and avoiding past pitfalls.