3 ms·
When my software starts, it auto-updates itself if necessary (takes only a few seconds.) My software also checks for updates every half an hour. If there's an
by vlad 20y ago
When my software starts, it auto-updates itself if necessary (takes only a few seconds.) My software also checks for updates every half an hour. If there's an update, it puts a notification into the status bar (of the program, not taskbar). It checks to see if the software is idle. If it is, it saves everything, shuts down, downloads and installs the update, and runs again. It takes one click to go back to where the user was when they come back from being idle.
A user is also able to select "don't install updates automatically" in which case they will still be notified in the status bar and when the program first starts that they have an old version. By clicking one button, the new version is downloaded and the program is restarted. So, the user is aware they need an update.
Finally, the updates themselves add new features and don't introduce bugs.
This works better than iTunes (where you have to redownload the entire program), the anti-virus definition updaters (that popup a progressbar over your screen or fill up your system tray), and the Adobe Acrobat Reader downloader (a crazy screen that tells me to update a program I don't even use very often.)
The news page that shows when you start the program tells you any news, so the users are still aware that new features are being added, even though the process was seamless.
- blader 20y agoSounds like an app I would like to use, and I don't even know what it does. My only comment is the "and don't introduce bugs" statement ... that is a bit of a tough guarantee isn't it? =)
- vlad 20y agoThanks! Yes, that's more of the mental state I put myself in. :) But I have to say that I have developed a pretty good feel about when something is ready for release. My program has to run all day. As soon as I release an update, I have to quickly run the old, installed version of my software to get the current update. Then, I make sure it actually starts. Let's say I add something that works great during testing, but crashes with a file access error on startup. That means the user will come back to the computer and see an error. At least if I introduce a bug that doesn't keep the program from loading, it means that I can then release another update later on which the update I just released will catch. That's what I meant. As long as the update doesn't make the program crash when it starts, the program will find any future updates to fix any bug I introduced, seamlessly. I hope this helps somebody.
- vlad 20y agoI forgot to mention that the big use for "don't install updates automatically" is if a user has one of those firewall applications that likes to ask for permission all over again whenever a program has been updated. Also, it means those who use Windows in a priviledged environment will be on the computer (not idle) to confirm Windows request for elevated rights.