views:

396

answers:

7

As users, we love the power of Greasemonkey. As developers, it can complicate things.

Some people advocate defensively disabling user scripts; others are willing to die to defend them.

Is there a middle ground? How can we reduce the threat of an evolutionary arms race between users and unscrupulous advertisers?

+8  A: 

Love love love it. Anybody who would intentionally disable it is a jackass of the highest degree, no better than people who intentionally block Firefox to "teach a lesson to freetards".

John Millikin
+14  A: 

Any control you think you have over which user agents your site visitors use is illusory. However, the vast majority will be using vanilla IE/Firefox/Safari. But, if you've a site where the audience has adopted a Greasemonkey script en masse, then treat that as a strong vote from your users that the site needs to change!

Paul Dixon
Bit of a straw man that - no one would advocate that a site owner should facilitate a change which encouraged an act which is illegal in most countries. Your example is unlikely to be adopted en masse too! I'm thinking more of scripts that correct or enhance site behaviour in positive ways from the perspective of the site owner. For example, fixing design flaws which encourages users to return in spite of those flaws.
Paul Dixon
+12  A: 

If your users are using a Greasemonkey script and coming back, take it as good fortune: there's something they need that you're not giving them, and they haven't left yet.

If they didn't have Greasemonkey, they'd be gone. What can you do to keep them?

Rich
I don't think it is reasonable to argue like this. The users are visiting because of something you have. If they modify the site, it is likely the content aren't found better anywhere else, and if so they wont leave.
troethom
troethom: that's exactly my point! All it takes is someone to offer the same service without the pain point that they're fixing with Greasemonkey, and they'll be gone. Take it as a sign.
Rich
+1  A: 

We've got accept the reality of our platform: once your website is in the (computer) memory of the viewer, they're able to do whatever they want with it, without your permission. Popular sites that try to dictate their own viewing terms to their audience often suffer immediate and angry backlash - instead of trying to do it your way, let the users do what they want, embrace it, and you'll end up providing a better service, which your users will appreciate and reward.

matt lohkamp
+3  A: 

If someone uses a browser plugin or modification of any kind, you shouldn't attempt to block them or disable it- that's just likely to result in more problems.

On the other hand, you shouldn't support them either; if it works, let it work, if it breaks, let it break.

Lots of people use dodgy browser add-ons, sometimes unintentionally and occasionally without any choice (Corporate IT imposes some dodgy IE modification on them). Try to play nicely with everyone.

MarkR
+1  A: 

I agree with MarkR (+1, by the way).

The application is on the client side...

So whatever web designers will try to do to stop some feature, they will either anger their users, have them hack away another solution, or move away to friendlier sites.

(I hate it when some broken down site needs me opening my Firefox debugger to enable me to complete my correct for just because some braindead developer forgot to declare his i loop variable and thus, making it a global... And I did it again less than two days ago)

As online apps should never rely on client-side controls and protections (i.e. testing the date value on client is a cool bonus, but testing it anyway and always on the server is the thing to do).

To the worst thing that could happen would be for the app to break on the GM user because of some faulty script. But from the server viewpoint, it should remain pristine.

... Thus, the client should be held responsible...

That means that whatever hack the user adds to his browser, the user is then on his own. At the very best, he/she could discover some hidden bug and report it. On the worst side, the site won't work properly

...Now, does it means client/server cooperation, too?

Most people using GM or whatever to enhance a site is showing that the site does not suit exactly is tastes. The good thing, like Rich wrote down, is that they are still on your site, and not elsewhere.

Either the "enhancement" is for his/her own very personal taste, and, hey, what's the problem if he/she wants to see your black-on-white web page with yellow-on-blue? Or perhaps the "enhancement" adds a lot of value to your site. In this case, I guess that what you want is to either offer the same features for everyone (thanking the author of the GM for his idea could be a good idea), or perhaps support it as an optional feature ("click here for advanced experience") or... an GreaseMonkey script?

paercebal
+2  A: 

I don't see why developers should hate it?

Advertisers? Nowadays, I doubt people write GM scripts to get rid of ads, they use AdBlock [Plus] instead...

In general, I write GM scripts to improve something lacking in the sites where I go frequently, so if you try and take measures to disable GM, I would be very upset and might boycott the site.

Beside, I guess that the number of people knowledgeable enough to install GM (even those using pre-made scripts) is quite small with regard to total number of visitors.

PhiLho