Pages

Tuesday, February 5, 2013

the little things

I use a great extension for Chrome called Ghostery to block tracking cookies. It does exactly what I want - guards my data from advertisers - and it has a particularly neat feature where it displays what trackers it blocked in an overlay bubble in the corner of the screen at page load.

On some sites this bubble can grow quite large, so Ghostery lets you configure the bubble to disappear after a certain amount of time so you can access site elements under it. However, the only time-to-hide options that Ghostery gives you are 3 seconds, 5-through-30 seconds in 5-second increments, and 60 seconds. This was slightly irksome to me as I found I liked seeing what trackers the extension was zapping but didn't like being blocked from interacting with a portion of the page for a full 3 seconds.

Fortunately, Ghostery's options page uses the "Save"/"Cancel" button scheme to store changes (as opposed to doing any asynchronous save-changes-as-you-make-them shenanigans) so that "Save" writes the contents of the input elements on the page to file. I was therefore able to use Chrome's dev tools to edit HTML for the <select> dropdown containing the time-to-hide numbers, place my custom 1-second value in, and use the "Save" button like nothing was different. Because nobody at Ghostery cares how long you display your overlay bubble for, there isn't any logic to validate the input and my bubble now shows for precisely 1 second!

Now that was only a tiny hack, but it's significant because I couldn't have done it without basic knowledge of how web pages work. Somebody without that kind of technical proficiency - somebody like the average Internet user - would be forced to just shut up and deal, ever so slightly annoyed. This experience has therefore been a good reminder to me to keep my audience in mind when doing design work because though a user isn't liable to thank me for using an <input> text box instead of a <select> dropdown, they might very well be annoyed because I didn't.