Tab shutdown, AdSweep shutdown, site control

September 22, 2009

Earlier I posted about onUnload handlers spinning. Apparently the hacky workaround patch has landed, though not without some drama. The net effect is that this will break the web for some corner of web apps but to the benefit of users, though surely web developers will find some more invasive way to accomplish their goal.

This tension, between site owners controlling what users do with their sites vs users controlling their browsing experience, is likely never to be resolved. Here's my stance: I believe the user should have ultimate control of their experience, but that a site owner should simultaneously be able to dictate the conditions under which their site is used; that doesn't mean allowing sites to force the user into a bad experience but it could mean allowing sites to reject users unwilling to meet their terms.

That may seem unpleasant but I think the alternatives are worse: on one side, today's internet where users and site owners are increasingly at war with one another -- pop-unders, ad blockers, invasive browser-hanging onunload handlers -- and technical aristocrats enjoy a pleasant experience while non-techinical users pay the tax; on the other, tomorrow's internet where sites use walled-garden technologies in an attempt at control and unintentionally leave you where you can't even permalink or copy and paste.

How might my proposal play out? One example is the ever-unpopular <a ping> attribute, which tells the browser to ping a URL on the side when a user follows a link, allowing a site to "track" what links a user clicks on. I put "track" in scare quotes because it's already possible to do such a thing: examine for example a Google or Yahoo search result page, which uses an onclick handler to swap out innocuous-looking links for links that go through a redirector. (Try this: right-click on a link then cancel the pop-up. At least on Linux Chrome I now see a different URL when I mouse over the link, though this may be a bug.)

This redirect is bad for everyone: bad for users, who are unable to copy the "real" link from the page since it involves the redirect; and bad for search engines, who are obsessive about speed and can measurably lose users due to it feeling "slow" (extra latency from the redirect). An attribute like <a ping> would fix this for both sides, but a user-oriented browser would likely provide an option to turn it off, forcing us back into the redirect world.

In my hypothetical fantasy-land, a page could ask the browser whether it's willing to ping; if so, both sides get the better experience, if not, to the redirects for you. It's kind of the prisoner's dilemma except with negotiation up front. (I believe this prisoner's dilemma has already played out in user agents: because IE has an <a ping>-like functionality already, it gets faster search results. But my knowledge of this is four years stale.) But realistically, I am probably just naive; just as in the prisoner's dilemma, the pressure to defect is strong.

On the subject of user control and ads: the AdSweep extension, a popular Chrome extension that behaved like the hugely popular AdBlock extension for Firefox, has been discontinued. The author cited, among other things, a lack of feedback from users.

I hate ads as much as the next person, but I must admit I find this hilarious: when you've written software whose userbase is explicitly the users who are mooching ("Other people will see the ads and support the site, I don't want to"), it is quite ironic to expect those same users to help you out.