Wednesday, May 18, 2005

More obvious user script alterations?

Rael made a pretty high-profile mistake in posting that Google had added delicious tags to its results page. It turns out that these tags were supplied by the Annotate Google user script, which he'd installed and forgotten.

He raises the point that the user-writable web is likely to raise more such issues:

While I'm as much a fan of the writeable and rewriteable Web as anyone..., isthat cute little Greasemonkey in the bottom-right corner of my browsernotification enough? (Apparently not.)

Point taken. But is this something that should be solved by more obvious changes, or by more awareness of the augmented web? I don't expect my email client to show the same contacts as Rael's. Why should I expect my search results to be the same as Rael's?

OK, it's a stretch, but maybe we can agree that if the augmented web continues to become more popular, this becomes a non-issue.

If we can't agree on that, how could the augmentations be made more obvious? Mouseover'd aura element borders? A monkey icon that smiles more largely when scripts have been injected? A siren that sounds when you've forgotten, again, that this page is augmented?

45 comments:

Anonymous
said...

A slightly modified monkey icon should suffice. Perhaps it should be something along the lines of: No smile - black and white while disabled. Smile - black and white while enabled and not used on current page. And finally Smile - and color while enabled and active on current page.

3 distinct monkey icon states is probably the least obstrusive while remaining informative. Some other alternatives I've heard that sound like they'd be irritating in daily use: - Show a banner across the bottom that says "Modified by user scripts" briefly before fading. - Show the original page for just a moment before the modified version appears

Is it just me, or is the monkey a little lopsided? I think he has an ear on just one side. Battle wounds, perhaps.

Personally I'd quite like to click the monkey and get a list of scripts affecting the page, with options to selectively disable them (i.e. without disabling all of greasemonkey).

My suggestion would be to make the monkey flash when a script has been run. Easier to see than smile size. It could also flash at different speeds, if needed.

Obviously, this would lose it's impact if it ran on every page, due to scripts like un-underline. Also, some scripts run on every page but only rarely edit a page (e.g. phpBB sig image hider).

My suggestion is a new command: GM_scriptrunning(). Calling it makes the monkey icon flash. Developers can put it wherever they think appropriate in thier script (the start, after a conditional test, not at all) with guidance from us on where it should be called (i.e. just before modifying anything).

I think the monkey should show the number of scripts matching the current page, and provide some kind of tooltip or other onmouseover/onclick mechanism saying exactly what those scripts are. This should include the description from the script's metadata.

As suggested, the status bar icon could be used to indicate that the viewed page has (potentially) been altered, perhaps by grinning, perhaps by an even more prominent change. In addition I'd like to see a menu available at the icon that can be used to quickly toggle user scripts which apply to the current site.

One thing I would advise against is automatic user script installation (from a link to a script, for example). I feel it should be always necessary to view the source code and make active decisions about it. The opportunity should exist to understand the process more clearly even if most users are just clicking through it as a formality.

Sorry for being off-topic, but I would like to know where I could find a script for Greasemonkey which only displays (and, if possible, even only loads) images of resolution 1024*768 on a web page, or where I could request such a script? Thank you, and good work on the extension, it is much appreciated!

When you decide to display one of those yellow banners that Firefox uses when a site blocks a popup I want a possibility to stop displaying the alert for ever, just like it's possible for popupblocker alert. I dislike all those alerts. I also dislike a flashing monkey. Flashing is bothering. I think a grey monkeyface if no script affects the page and a colored one if a script is active is a good idea. It also sounds good if one can see the active scripts by hovering or clicking the monkey.

1. Yeah I like the idea of being able to see what scripts are running, similar to viewing the active filters on AdBlock.

2. Is it possible for you to change the background colour of the URL bar, like when you visit a secure site? If it's possible you could allow the user to specify the colours for various states, but as stated earlier this would need to difrentiate between, specific site scripts and ones that are run on every site.

3. On the other hand, perhaps it should be up to the authours of the scripts to notify the users that their script is running. I created a (unreleased) Google Images script and made sure change the borders of the images to bright green so that I was aware when I had the script running, but I suppose that might not work on a wider scale.

4. The guy really should of realised that this was something to do with his system and not Google. "This feature appears, at least by buddy list survey, to be unevenly distributed" I mean come on! Even my sister who doesn't know the first thing about tech would realise something was up. It seems his eagerness to release the news before anybody else was his downfall, anybody else would of worked out why it wasn't working on a friends machine before announcing it to the world.

The Scrapbook extension effectively does this by displaying a blue [EDIT] box down on the bottom right of the status bar when the page you're viewing is from it's own saved-on-disk pages, which usually are indistinguishable from the originals until you've done some work on them. It doesn't seem like much, but it catches your eye and i've yet to confuse a saved page for a real one.

Top-pops are freakin annoying. So is anything that covers, colors, moves, or alters anything in the main browsing window. It interrupts your thought-flow - when you surf you move from webpage to webpage following a train of thought and anything that derails that is just irritating. This is why pop-ups suck and also why no one reads dialog boxes.

You want something that answers to the question "Is this thing on?" rather than something that shouts "HEY I'M GOING TO BE DOING SOME STUFF NOW, OKAY?" every time you load a page.

Everyone so far has mentioned a change to Greasemonkey itself to show the user when something's up. But -- and I say this just to provide an alternate viewpoint -- it's not Greasemonkey's fault it's so inobtrusive that nobody remembers it.

How about this: whenever a script modifies a page, it's "strongly encouraged" to notify the user that it's done so. It's already being done in Jesse Ruderman's Linkify script which adds a dotted orange underline and a tooltip to the links it modifies. Another idea that comes to mind is that (for example) the added del.icio.us links mentioned in the original post could have a little greasemonkey icon next to each one, with a title attribute that says something like "page modified by (scriptname)" or something.

Being optional, I don't know how many developers will actually do it, but if you make it as easy as possible, they're more likely to do so, particularly if they're proud of their script. Perhaps Greasemonkey should have a GM_icon() function or something, so people can just say something like myEl.appendChild(GM_icon());

Please don't use a yellow security bar - ideally, they should be reserved for security events (so again, ideally, the popup blockers shouldn't be using them). Overuse of the bar will lead to users ignoring them just as they now ignore popups.

We run into a similar problem for security UI - how do you provide such UI obviously, without taking too much space from the page which should be under the control of the website?

One good way is to increase the _difference_ between the two states. So, for example, have no monkey at all on non-modded sites, and a monkey on modded sites.

$0.01: For those people who don't want an indicator, or a status icon, please give us a way to remove it.

$0.01: If you must have an icon, why not implement it as part of the navigation toolbar, like Sage, X, WebDeveloper etc etc. This will allow you to have as many states as you like, colors, numbers and whatever. And still allow people like me to remove it.

I was going to suggest a greasemonkey icon on the right-hand side of the tab of the page> But then realised FF can be set to not show the tab when only one page is open. Why am i still saying this? Hm...?

> 2. Is it possible for you to change the background colour of the URL bar, like when you visit a secure site?

It is, but that would at the same time dilute the signal value of the function of signalling security info that field already has.

I would suggest a greasemonkey icon between the site's (fav)icon and the URL field when the page has been touched (perhaps with a plus sign tucked in between for good measure) and an onclick menu dropdown for the added greasemonkey icon, showing the scripts who were run on the page.

Perhaps even a subsection of that menu labeled "inactivated scripts" or similar, offering easy access to greasemonkey scripts that would want to touch the page, but that you have disabled for some reason or others.

I rarely notice icons in fields that are not near the address bar, unless I go looking for them, and in this way, the icon would only show when it had any signal value.

Should one wish to follow this line of action, the excellent suggestions by others in the thread with several monkey states would still be useful, for fringe cases such as "a greasemonkey script for this page is available, but turned off" offering easy access to turn it back on even when there was no other script turned on.

Firstly greasemonkey is really useful,thats the best complement i can give to any prog. However on the monkey..

MY first reaction on seeing that monkey was EEEWWWWWWW!!!Why did they have to do that??!!! reading abt how peopl tend to forget the installed script ,it starts to make sense. However ,do anything other than the "ugly monkey"..go for a icon kind mayb "GM" that changes colors or a notification like when it appears for "downloads complete"

Great idea, and I like the ideas of:- Different GreaseMonkey Icons dependant on whether it is disabled (maybe with a slashed circle ala no smoking signs through it), enabled/not invoked (greyed out) and enabled/invoked (full color).- The list of actively invoked scripts by clicking on the GreaseMonkey icon.- Options to temporarily disable/enable scripts through that list.

I was actually thinking about doing this myself, but instead of doing anything over my current skill level (which is pretty low) I was trying to find a copy of the GM icon so that I could insert it as an img whenever my script has made a change.

Not quite as nice as some of these other suggestions, but at the same time it would make it obvious which bits have and have not been modified by the invoked scripts...