The app checks for the update every 5 minutes or when the user activates the app.
Why. No, seriously, why such a short interval? Is your code so crappy that it’ll be exploited unless you patch it in the following five minutes??? It’s a bloody screen recording program, not a kernel dammit.
Normally, when the app detected the update - it downloaded it and stopped the 5 minutes interval until the user installed it and restarted it.
That’s already fucking wrong. Ask the user before downloading the update; don’t trample over their control over their own machine. If this shit was coded with user consent in mind the scope of the problem would’ve been far, far smaller.
The problem with the auto-updater we had was that it would prompt the user to update the app as soon as it became available. This resulted in a popup appearing while users were recording the screen, which obviously provided a bad experience as it interrupted the recording the user was making.
The sensible solution for the problem would be to skip the update check if the user is recording the screen. But no, “if u dun updaet in 5min than haxorz explode you’re computer!!@!!!”, right.
While refactoring it, I forgot to add the code to stop the 5-minute interval after the new version file was available and downloaded.
And never tested it afterwards.
Write your auto-updater code very carefully.
Even better: ask yourself if that program even needs auto-updates. Odds are it doesn’t.
*sigh*
I love that no where in their ‘Summary’ section do they mention testing. Test everything. Watch how many times the upload hits. Test from different devices. Test over more than a day.
Fired.