Tor GUI Contest


DRAFT IN PROGRESS -- ALL OF THIS STUFF IS IN FLUX AND SHOULD BE CONSIDERED WRONG.


Overview

Tor is a decentralized network of computers on the Internet that increases privacy in Web browsing, instant messaging, and other applications. We estimate there are some 50,000 Tor users currently, routing their traffic through about 250 volunteer Tor servers on five continents. However, Tor's current user interface approach --- running as a daemon in the background --- does a poor job of communicating network status and security levels to the user.

The Tor project, affiliated with the Electronic Frontier Foundation, is running a UI contest to develop a vision of how Tor can work in a user's everyday anonymous browsing experience. Some of the challenges include how to make alerts and error conditions visible on screen; how to let the user configure Tor to use or avoid certain routes or nodes; how to learn about the current state of a Tor connection, including which servers it uses; and how to find out whether (and which) applications are using Tor safely.


Goals

Contestants will produce a work of Free Software that will provide a user interface to the Tor system by way of the Tor Controller Protocol.

We are looking for a vision of how Tor can work in a user's everyday anonymous browsing experience.

Entries will:

In addition, they may:

Some examples of useful features include:


Contest categories

The design contest will proceed in two stages: first sketches and then code. For each stage, our panel of judges will recognize the best submissions. All qualifying entries will receive an EFF Tor t-shirt, subject to availability. The best functional implementations will be published on the Tor website.

Sketches: the goal of this stage is to produce a mock-up of a functioning interface, with graphical elements that can be used by programmers and design documents describing how the interface should function.

A qualifying sketch will present an informal specification for a design. That is, it will present with some degree of thoroughness all of the major interfaces that we might expect to encounter, all of the major functionality for the interface, and a reasonable story about how it would be integrated into currently-existing tools (if, indeed, it would be). An example, with more detail than we would require, is the NetBeans UI for JUnit. Note that it walks through multiple interfaces, highlighting the features and functions of the various buttons.

Code: the goal of this stage is to produce a working implementation. You may use any of the sketches, graphics, or ideas from the first stage (with appropriate credit to their authors), or you can make your own.

An acceptable entry will be a package of free software that builds and runs. It can be a standalone application, or it can act as an extension or plugin to other broadly-available free software. The entry will demonstrate the points in the judging section: that is, it will be able to control, display, and maintain awareness as discussed above.

We reserve the right to award other awards as the entries deserve.


How to Submit

Submissions for phase one (sketches) should come as:

Submissions for phase two (code) should come as:


Criteria

Awards will be granted on the basis of (in rough preference order):


Judges

Judging will be led by a panel of N prominent specialists in usability and security (to be announced).


Timeline

Winners will be announced on the webpage and also at the SOUPS 2006 conference. (Here's a suggestion on academic usability research on Tor.)


Questions and clarifications

We will have a public website and wiki up shortly for FAQ entries, clarifications, etc.


Technical Notes

Shortly before phase two begins, the Tor developers will release a canonical code version. This is the version that will be used for judging the contest; please ensure that you use this version. Bugfixes to this version will be announced to the contest web site.

The Tor developers will also release test rigs (libraries) in both Java and Python that demonstrate Tor's controller protocol. Code submissions may be able to save a lot of time by using this code as a skeleton.


Legal Notes

By submitting your entry to be considered in the Tor GUI contest, you hereby:

Webmaster - $Id$