views:

413

answers:

3

I'd like to get a community view on this, as I was personally very offended at the way some software I have used for a long time recently changed in behavior.

In this particular case, it's the .Net Reflector now updated by RedGate. I've used it for years, I'm sure many of you have as well, however in their new versions, 6.0+ (6.1 at the time of this question) the installer automatically installs add-ons into Visual Studio.

There are no options when installing, you have to open Reflector and uninstall the VS addons from within its options. Firstly, I've had my VS instance crash more than a few times before getting irritated enough to figure out why, turns out this add-on was the cause. This cost me as a programmer time, which is very valuable at certain points in a project lifecycle.

This is one of several potential effects your software can have on another, what if that software upgrades, the API changes and your plug-in (which you never asked the user if you could install) is now the breaking point? What if it has other side-effects they have to search the net figuring out?

Is this ever ok? Should you ever install something with no option to refuse that affects software that is not your own? I'm at a loss to think of an acceptable example, so I pose the question to you guys and girls.

+16  A: 

No, this is never okay.

The user should be in as much control of their computer as they are capable of. This means that if they're installing X, Y should not by default be installed -- even if the user is shown a choice. (I'm looking at you, Mozilla, and your toolbar cooperation agreements.) In your specific example, the plug-in is more of an X' than a Y, and it would be acceptable for it to be an option and even chosen by default, but it should be clear that you can deselect the option.

It seems to me that there is a real trend toward just happily reaching one's tendrils into various components on end users' systems without making it clear to them that you're doing it. Case in point: I wanted to rent a movie from iTunes the other day, and since iTunes itself is an absolute dog on my Windows XP netbook (we're talking, press PgDn and wait five seconds -- this on a netbook that will happily play video and run complex Ajax-rich websites, even in IE), I thought "Hey, I bet I can browse this stuff on the web" and so went into a browser (I can't recall whether it was Firefox or Chrome) and tried to do so. Imagine my shock when I clicked a completely normal-looking link to the iTunes store and it launched iTunes. Didn't ask me, just launched a third-party program. Looking into it I found that iTunes had installed "protocol handler" and the browser just happily fired off the 3rd party program without so much as a by-your-leave. So two failures there: 1. iTunes installing a protocol handler without calling it out and making it crystal clear what the implications of that are (I'm a reasonably bright guy and I do pay attention during installs, because I care about this stuff), and 2. Chrome or Firefox using a protocol handler it's never seen me use before to launch a third-party app without so much as an "do you really want to run this?"

Sure, we want things to be easy, and so in many cases people may well want that protocol handler; they may want that plug-in. And that's fine, they can choose to have them installed.

The key for me is informed consent. Tell me what it is, ask me whether I want it, and get on with it. If the thing is essential to your program and I say I don't want it, tell me you can't install and I'll go find some other software I'm more comfortable with.

/soapbox

T.J. Crowder
I agree - informed consent really is the core issue. Without informed consent, software that installs other software like that is borderline spyware/junkware, IMHO.
Keithius
+1 iTunes is ridiculous. I wouldn't mind so much if the uninstaller actually removed it's detritus but it leaves it all behind, services, mime type, protocol handlers. Everything...
Alex DeLarge
I also hate `mailto:` links being opened in Outlook (I use the web-based interface for email), although that isn't a problem with recent versions of Firefox.
musicfreak
@Alex: Apple doesn't seem to think that you could possibly want to uninstall their software. After all, they're Apple and believe their coolness is unsurpassable.
Donal Fellows
For some reason, I just seem to recall that back in the Firefox 2.x days, it would come up and prompt you "which 3rd party app would you like to use?" (iTunes was the only one on the list...)
Robbie
+2  A: 

I just installed this Reflector update as well, and since the fact that the VS addon would be installed was very clearly stated, it did not bother me. I certainly had the option to stick with the old version.

I agree with your general point - I get annoyed with software that insists on installing desktop icons (acrobat reader), or sets itself up as the default handler for certain file types (quicktime) either without asking, or even though I selected the option not to do so. Buggy software is extra annoying (though I haven't experienced the reflector crash you report).

Ray
Excellent that it was clear, that's exactly what I want installers to do. Did you have the option of de-selecting the plug-in and continuing the install, or was it all or nothing? (Which is fine, just curious.)
T.J. Crowder
As I recall, it was all or nothing. I suppose they did it that way because they are trying to up-sell us on the 'pro' version. But there was no confusion about what was going to happen.
Ray
@Ray: Thanks. Sounds like a case of caveat user (if you will), not them being evil, then.
T.J. Crowder
@TJ - one happy case out of many, I am sorry to say
Ray
@T.J. Crowder: Ḿerely telling the user about something like this during an install is not ok. People pay money up front and they should know what they are getting. If they bundle random crap they should at least make it optional.
Jørgen Fogh
+1  A: 

I agree that this is never acceptable. It blurs the line between acceptable behaviour and potentially malicious behaviour. Users need to be able to select/deselect components to be installed or updated. This should be even more true on software intended for technically skilled users.

spowers