I suddenly realized what the current version of the Timer was still missing. It seemed I had already implemented almost everything I had planned. There is one more feature that, in my opinion, absolutely belongs in a countdown timer, but I’ll talk about that when I get to it. And I think that will happen pretty soon. 😉
For now, I managed to implement something that seems completely obvious at first glance — something I had simply forgotten about: automatic updates when a new version of the program is released.
Until now, BSL-Timer worked roughly like this: I released a new version, uploaded it to the website, and then the user had to somehow find out that an update existed, download the new installer, and install it over the old version. For a small program, that is perfectly acceptable. But not for me.
If I’m going to make it as convenient as possible and give it a nice — and richly 😁 — designed interface, then automatic updating simply has to be there. I wanted the program itself to be able to say:
“Hey, there’s a new version. Update?”
And after clicking Update, everything should happen without dancing around with a browser, searching for the right file, and reinstalling the program manually.
Today, it worked.
For testing, I deliberately installed an older test version of BSL-Timer on a clean virtual machine. I launched it, the program detected the new version and offered to update itself. I clicked Update, and then came exactly the kind of satisfying moment all this work is for.
The program downloaded the update, installed it, restarted itself — and the About window now showed:
Version 0.7.0 · Free
No manual download. No hunting for the installer. No reinstalling. It works.
It may seem like a small thing, but it is exactly these small things that gradually turn a program from a home project into something that starts behaving like a proper finished product.
Of course, there is still room for improvement. Right now, while the update is downloading, the user sees almost nothing. You click the button and then simply have to trust that something is happening inside. That won’t do.
The next version will definitely have a proper progress window, so you can actually see that the update is downloading, installing, and everything is going according to plan.
But the main thing has already happened: BSL-Timer can now update itself.
And damn, that feels good.
Note:
English translation and adaptation by AI. The author’s instruction was to preserve his meaning, tone, and voice as faithfully as possible. He cannot independently verify the English text or write this version himself. If anything sounds wrong, unnatural, or misleading, please point it out in the comments.
RU
EN