Ayende @ Rahien

It's a girl

NH Prof: The beta mistake

One of the things that I should have done from the get go of the beta program was to force people to upgrade when their version is too old.

Why would I want to do that? Because people that continue to use old versions, and old versions has old bugs.

Take a look at this error report:


This version is almost a hundred builds old, and the error reported was fixed long ago. I also get errors from people using older versions than that.

When I built the error reporting feature, I was concerned about the user privacy, so I don’t have any information about the user that can be used to identify him. I am reduce to this public plea: Just upgrade NH Prof already!


Rinat Abdullin
09/17/2009 08:58 AM by
Rinat Abdullin

Hi Oren,

There is a simple solution to reduce friction here:

  1. Deployment build updates ProductVersion.txt with the latest build number

  2. Application on start-up (once in a while) checks this url and compares its version with the txt. If found - offers user to update.

  3. Update simply launches ClickOnce bootstrapper that would download and start the latest deployment (which is basically an MSI with MajorUpgrade)

  4. [Optional] Submit feedback UI informs user if he is using an outdated version, to save him the embarassement.

  5. [Optional] Menu link for the program has "Get latest version" that simply launches sequence 3.

All nine yards have to be coded once. With this in place, dev would just need to start deployment build to publish an update.


Ayende Rahien
09/17/2009 09:01 AM by
Ayende Rahien


That isn't an issue, I am not talking about technical details.

NH Prof is doing something similar already.

But I did it fairly late in the game, and older versions don't have that.

09/17/2009 09:07 AM by

Still, the technical solution described by Rinat would reduce the slight friction involved with the current implementation (which is somewhat 'agressive', IMHO)

Rinat Abdullin
09/17/2009 09:18 AM by
Rinat Abdullin

Then that's just an evolutional issue that might pass.

Yet, I heard somebody say - unit test your code before commiting, establish continuous integration and deployment before releasing))

09/17/2009 10:41 AM by

We purchased 3 of the beta license at my company. One of the devs still had the beta emblazoned on the front and I kept reminding him to upgrade. He did upgrade recently, so I hope that your traffic is decreased just a bit.

I do like that the newer versions will tell you when a new rev is available.

09/17/2009 12:18 PM by

Its kind of ironic that they send bug reports, presumably to get bugs fixed, but never upgrade the version they are using which would contain said fixes.

09/17/2009 08:12 PM by

I agree with Chuck that it's nice to know about new builds, however it would be even better if it could update itself too :)

Steve Py
09/17/2009 09:27 PM by
Steve Py

I'm actually not a fan of auto-updating software. Reflector was one that drove me up the smegging wall. (During a contract stint I worked on-site with a laptop without a trusted external connection.) When I launch an app I want to use the app, I don't want to be notified that it's trying to call home, wait for downloads, or be told to wait because it needs to update itself and restart.

Though whenever I do come across a "bug" in a product, beta or otherwise, the first thing I do is check to see if it's been reported, fixed, or there's a workaround mentioned, and if they've released a newer version. I can't say I've ever used a "report a bug" feature in an application. I admit it sounds like a useful feature, but in reality like this scenario, it's moron-fodder.

Comments have been closed on this topic.