Click here to monitor SSC

Bart

Software Engineer - Red Gate Software

Oi! What's going on with the .NET Reflector update mechanism?

Published Monday, April 12, 2010 4:51 PM

Anyone who's been using .NET Reflector for any length of time will by now be used to its built-in update mechanism. Every 6 months or so it will ask you to upgrade to the latest version and, if you don't, will refuse to work after a few weeks have passed. Love it or hate it, it mostly works pretty well, unless your internet connection is down, in which case it can be a pain in the ass (we're discussing options to improve this situation at the moment because, if you haven't fired it up for a while, having it refuse to work until you upgrade immediately on startup isn't a great experience - it's not something we're going to fix instantly, but watch this space).

So, you probably got a bit of a rude shock when you tried to upgrade from 5.1.6.0 (or earlier) to 6.0, and it opened up your web browser and redirected you to the product page on our website instead. Why on earth would we do this to you?

Well let me tell you, it wasn't for marketing or PR reasons, and if it were, it would have to be one of the dumbest strategies in history: since when has annoying people been a great way of achieving anything (unless your surname is Jobs)? I'd be irritated by this redirect (both iTunes and Spotify get up my nose for this very reason).

Actually it's all down to the legals. .NET Reflector itself is free (as in beer, not speech), so its license agreement hasn't changed. .NET Reflector Pro on the other hand is paid for, so it needs a different set of terms and conditions. After months of back and forth it turned out that, as I've said, we didn't need to make any changes to the .NET Reflector license agreement, and that we could use the same license agreement we use for all our other products to cover .NET Reflector Pro. To put this in context, there had been discussions around having some uber-agreement that covered both products, but it would have been complicated so thankfully wasn't necessary.

The one fly in the ointment is that, because we've changed the Ts & Cs, we have to give everyone the opportunity to view the license agreements before they download the software, which includes anyone upgrading from a previous version. We were originally just going to bundle the additional Pro license agreement into the zip file, as we've done with the .NET Reflector agreement, but the lawyers told us this wouldn't cut it. Hence the redirect to the website.

The good news is that, once you're running 6.1, the auto-update mechanism will work as usual for future upgrades, unless we need to alter the Ts & Cs again. Given the amount of aggro involved last time around I'd do just about anything to avoid it.

So far that's all fair enough, but what we didn't do a great job of is explaining why this happened when you upgraded: at first everyone was just redirected to reflector.red-gate.com (this URL is hardcoded into .NET Reflector 5.1.x so there was no other option), which has always redirected to the .NET Reflector product page. I wasn't massively enamoured of this but, when we started trialling this back in February nobody complained, so we thought we could safely proceed. When the 5.1.6.0 build expired at the end of February we noticed a big spike in downloads, which we'd anticipated (always happens), but again, no real complaints. With hindsight it's obvious that this is because everyone upgrading was doing so willingly, and they were all probably quite anxious to get hold of the new version.

At the end of March the grace period expired and .NET Reflector 5.1.6.0 stopped working, forcing users to upgrade. And this is where it all went slightly awry. Here we're dealing with a much larger proportion of people for whom the upgrade might be seen as a chore anyway, and we're taking them to a product page on our website. This looks like we're forcing them to view an advert. We're not, but that's what it looks like. I'd like to apologise for that, because it wasn't our intention at all, although I can completely understand why you might think that.

So what have we done about this?

We still have to give upgraders the opportunity to view the license agreements however, from today, people will now be taken straight to the .NET Reflector download page. I've added a note at the top of this page which briefly explains why people have been redirected to the website. I've also removed the Simple Talk Reflector newsletter sign-up/registration process for people upgrading. The sign-up was optional, but it was causing some confusion and frustration, so it seemed best just to bin it. There are links to both license agreements on this page (no change here), and we make it clear that by downloading the product, you are accepting the Ts & Cs so, whilst there's nothing non-standard or nefarious in there, if you're at all unsure you should certainly cast your eye over these before downloading .NET Reflector.

OK, next topic.

Why does .NET Reflector automatically update itself at all?

I've dealt with this question before in a post here:

http://www.simple-talk.com/community/blogs/bart/archive/2009/08/21/74486.aspx

I'd recommend reading that post if you want a little more detail but, the short version, is down to support. .NET Reflector is hugely popular, to the point where it's simply unrealistic for us to support multiple versions of the free edition. This isn't unheard of for free applications: e.g., the free edition of Spotify regularly forces you to upgrade if you want to keep listening. Sure, I'd prefer if it didn't, but I like the app enough that I'm willing to live with the faff, just like I'm willing to live with the ads (unless they're Seat car ads - those things make me hog wild).

On the flip side, it means you get the latest functionality in .NET Reflector. The next forced upgrade won't be until September, but it will include support for the new C# and VB language extensions in .NET 4.0 (this is in the free version), which we planning to release in a month or so. If you need that support right now, you can already get hold of early access builds from:

http://www.red-gate.com/messageboard/viewforum.php?f=117

Comments

 

Jason Haley said:

Interesting Finds: April 13, 2010
April 13, 2010 6:25 AM
 

Phil Factor said:

I've been using Reflector for years and I prefer the 'every six months' automatic upgrade to the awful mess that Adobe inflict on you. Firefox is painful, in the way it is continually demanding upgrades.
April 16, 2010 1:17 PM
 

Harlequin said:

Given that the auto-update functionality is something Lutz himself put in place and then weathered the PR storm over, I personally don't think any of this is a big deal. I reckon it's mostly people freaking out because the Big Bad Corporation is in control now, so anything that even mildly steps on the toes of my workflow is "clearly" a ploy of some kind.

When Lutz did it, people grumbled, and then people got on with their lives. Hardly seems fair, really.
April 16, 2010 4:45 PM
 

Lavos said:

Harlequin, the issue isn't the auto-updating per se, it's the fact that after buying reflector red-gate put a kill switch in that forces you to get a new version.

If you never updated Loeder's version, it'd continue to work.

If you never updated Redgate's version, you'll find out suddenly that it silently refuses to start anymore without actually *telling* you that its time limit is up and won't work ever again and you need to get a new version.
May 6, 2010 8:32 AM
 

Eric said:

I agree with Lavos. I just uninstalled it. I can't imagine feeling secure using any of their products given this situation...

I will find a different product or use the MS published .NET source.
May 6, 2010 7:10 PM
 

Bart Read said:

Whilst I understand your frustration I'm afraid you're misinformed, as you'll see if you refer to the following thread on Channel 9, which dates from 2006, two years before Red Gate acquired .NET Reflector:

http://channel9.msdn.com/forums/Coffeehouse/207147-Reflector-removes-itself/

As I've said in my post above, we are considering options to improve the update behaviour, including the auto-delete, to make it a more user-friendly experience, and I'll be sure to keep you posted with any changes.
May 10, 2010 6:31 AM
 

richard_deeming said:

Why bother "improving the update behaviour" when you can just use it to extort money from your users?!
February 2, 2011 10:04 PM
You need to sign in to comment on this blog

About Bart Read

Bart has done many things since he started work at Red Gate Software Ltd in August 2004, but nowadays he's (mainly) the product manager for the .NET Developer Tools. He still feels like this is a bit like admitting you were cheering for the Empire whilst watching Star Wars, but for now he's along for the ride. In a previous incarnation he was a project manager leading the .NET Reflector Pro, ANTS Memory Profiler 5, ANTS Performance Profiler 4 & 5, and SQL Prompt 3.0 - 3.6 projects. He still occasionally writes some code and, in the past, has touched the code for most of the Red Gate SQL developer tools... some of them still haven't recovered from the shock. He was born and grew up in Dorset, was educated in Nottingham and London, and likes music and real ale. His photo is extremely misleading.
Latest articles
Backups, What Are They Good For?
 We've heard the confessional story from Pixar that Toy Story 2 was almost lost due to a bad backup, but... Read more...

C# Async: What is it, and how does it work?
 The biggest new feature in C#5 is Async, and its associated Await (contextual) keyword. Anybody who is... Read more...

Handling Deadlocks in SQL Server
 In this excerpt from his book Troubleshooting SQL Server: A Guide for the Accidental DBA, Jonathan... Read more...

SQL VIEW Basics
 SQL Views are essential for the database developer. However, it is common to see them misued, or... Read more...

The PoSh DBA: Grown-Up PowerShell Functions
 Laerte goes step-by-step through the process of tidying up and making more reusable an untidy... Read more...