W3C home > Mailing lists > Public > public-tracking@w3.org > June 2012

Prototype of Do Not Track Exceptions

From: Jonathan Mayer <jmayer@stanford.edu>
Date: Fri, 29 Jun 2012 16:13:41 -0700
To: public-tracking@w3.org
Message-ID: <529965BD8BDB47569298421082CAAC83@gmail.com>
Last week's meeting left open three sizable questions about the Do Not Track exception API. 

1) Should we provide for explicit-explicit exceptions?

2) Should a compliant user agent be required to implement the exception API?

3) Should we specify some UI elements or language for the exception API?

Several working group participants suggested it could be difficult to build consensus on these issues in the abstract.  I agree.  And so I went ahead and implemented a prototype exception API in a Firefox extension.  The source is at https://github.com/jonathanmayer/Do-Not-Track/tree/master/exceptions, and I've attached a few screenshots.  I want to emphasize: this is a prototype implementation.  It's buggy, slow, insecure, and has a number of feature limitations.

Here are a few takeaways for the group to consider.

1) Once site-wide and web-wide exceptions are supported, the marginal effort to support explicit-explicit exceptions is slight.

2) A reasonable UI seems possible for explicit-explicit exceptions.

3) Implementing the exception API requires orders of magnitude greater effort than implementing the "DNT: 1" header.  Developers need to additionally build:
-a JavaScript API
-an exception backend
-an exception request backend
-an exception request UI
-an exception management UI
-more complicated header modification
And asynchronous message passing among many of those modules.  As a rough comparison, my reference Chrome header extension is 9 lines, while my prototype Firefox exception extension is already 521 lines.  If we were to require the exception API in compliant user agents, I would expect some user agents would just be non-compliant and some would decide against implementing Do Not Track.

4) The exception request and management UIs are *very* hard to get right.  I've already iterated a few times, and the prototype still needs *a lot* of work.  I would strongly caution against specifying UI elements or language; getting the Do Not Track UI right is going to be a long-term learning process.

Best,
Jonathan






dnt-exceptions-prototype-explicit-explicit.png
(image/png attachment: dnt-exceptions-prototype-explicit-explicit.png)

dnt-exceptions-prototype-web-wide.png
(image/png attachment: dnt-exceptions-prototype-web-wide.png)

dnt-exceptions-prototype-site-wide.png
(image/png attachment: dnt-exceptions-prototype-site-wide.png)

dnt-exceptions-prototype-management.png
(image/png attachment: dnt-exceptions-prototype-management.png)

Received on Friday, 29 June 2012 23:15:24 UTC

This archive was generated by hypermail 2.3.1 : Friday, 21 June 2013 10:11:31 UTC