[ux] collaborating on the redesign of the connection to Tor in Tor Browser and Tails

sajolida sajolida at pimienta.org
Wed Mar 3 23:15:00 UTC 2021


Hi,

In February, we did a UX design sprint to redesign the process of 
connecting to Tor from Tails.

Since Tor is working on something similar in S30 and #40004, I wanted to 
start a discussion to see how we could benefit from each others' design 
work.

I'm identifying below a couple of opportunities where our design could 
be more similar. I would make it easier to understand by people using 
both Tor Browser and Tails and also to reuse some of our UX work.

Our developers also have implementation questions but that's for later.


The 2 designs
-------------

You can find background information and the mockups of our new design on 
this blueprint:

https://gitlab.tails.boum.org/tails/blueprints/-/wikis/network_connection

The blueprint doesn't specify the UX flow in much details, please ask 
for clarification if needed.

For the record, the upcoming quickstart in Tor Browser is here:

https://gitlab.torproject.org/tpo/anti-censorship/trac/-/issues/40004/


Methodology
-----------

Our design came from a design sprint between developers and myself early 
February. We then tested our design using remote moderated usability 
tests using paper prototypes. We observed 6 test participants using our 
design during 2 hours individually.

You can read more about this methodology here:

https://simplysecure.org/blog/formative-testing

So our mockups have already been tested with potential users already and 
work pretty well.


Consent
-------

Both designs include a step when the user gives their consent before Tor 
Browser or Tails tries to connect to Tor automatically, and detect if 
bridges are needed for example.

Tor Browser:

https://gitlab.torproject.org/tpo/anti-censorship/trac/-/issues/40004/designs/desktop-IMG_0.0_-_Quickstart_Consent.png

Tails:

https://gitlab.tails.boum.org/tails/blueprints/-/wikis/network_connection#the-million-dollar-question

As you can see, the way that Tails will ask for this consent is much 
more explicit. This difference already exists somehow in the current 
implementations so maybe it's a deeper product design choice.

For us, it is very important to allow our users to hide the fact that 
they are using Tails to their local network (at least as much as 
possible). This can be critical for people in places where using Tor is 
criminalized or only rarely used, but also for people who might be using 
Tails from their workplace or trying to avoid domestic surveillance, 
parental controls, etc.

Bridges are not only good to avoid censorship but also to avoid being 
identified as a Tor user.

The fact that this question is not as explicit in the design of the 
upcoming Quickstart procedure of Tor Browser makes me think that this is 
not so much of a design goal for Tor Browser.

Did I understand correctly?

Otherwise, if we share the same goal, then I think that our design 
should look more alike in order to best serve this class of users.
I'm happy to discuss this more in depth.

In your consent screen, I also see an option to "Enable Quickstart".
It looks like a radio button but with a single option to choose from, 
but maybe that's a glitch on the wireframe.

What's the difference between "Connect" with "Quickstart" and "Connect" 
without "Quickstart"?

I couldn't understand this from the flowchart.


OONI vanilla test and interference
----------------------------------

Slightly related, I failed to understand 3 things in your design.

I'm referring to this flowchart:

https://gitlab.torproject.org/tpo/anti-censorship/trac/-/issues/40004/designs/S30.png

1. When is the OONI vanilla test run?

In the flowchart, the consent step (labelled as IMG 0.0 elsewhere) is 
not referenced. Do I understand correctly that the consent is asked 
before doing the OONI vanilla test?

2. Why a OONI vanilla test?

That's more of an engineering question but what is the advantage of 
doing a OONI vanilla test over trying to connect to Tor direct and see 
if it fails? Is it quicker? More reliable?

How are you going to implement this test? Integrating OONI probe in Tor 
Browser? Reimplementing the test?

So far we haven't considered including a OONI vanilla test in the Tails 
autoconfig but maybe we should :)

3. Why are you pausing the flow in case of interference in autoconfig?

That's:

https://gitlab.torproject.org/tpo/anti-censorship/trac/-/issues/40004/designs/desktop-IMG_3.0_-_Offline_-_Detected_Interference.png

In the flowchart, I understand that if the user choose "Use a bridge", 
then Tor Browser would try to connect to the default bridges.

Did I understand correctly?

If so, why ask this question and not try the default bridges 
straightaway if the OONI vanilla test fails?

Also, what happens if using the default bridges are blocked?

In our design:

- If the user chooses to autoconfig, then we're not asking any
   additional question before trying the default bridges:

 
https://gitlab.tails.boum.org/tails/blueprints/-/wikis/network_connection#connecting-to-tor-with-default-bridges

- If the user chooses to hide that they are using Tor, then we're never
   offering to use the default bridges because they are public
   information.

If that sounds important to Tor Browser as well, you might consider only 
using the default bridges as part of the autoconfig but not offering 
them as an option in about:tor. When a user doesn't give their consent 
for autoconfig, they should rather get a bridge using Moat.


UI strings
----------

I see a couple of places where both designs could use similar UI strings.

To describe the Tor network, you have in about:tor:

« Tor Browser connects you to the Tor Network run by thousands of 
volunteers around the world. »

We have in the first screen of our connection assistant:

« Tor encrypts and anonymizes your connection by passing it through 3 
relays. Tor relays are servers operated by different people and 
organizations around the world. »

- "Encrypts and anonymizes" tells more than "connect" and relates better
   to what people care about (security and anonymity).
- "Passing it through 3 relays" was useful for people to start
   understanding how Tor works.
- "People and organizations" sounded more trustworthy to test
   participants than than "volunteers", which sounded less reliable.

To describe bridges, you have in about:tor:

« Bridges help you to access the Tor network in places where Tor is 
blocked. [...] »

We wrote:

« Bridges are secret Tor relays that hide that you are connecting to 
Tor. Use a bridge as your first Tor relay if connecting to Tor is 
blocked or criminalized, for example in China, on some public or 
corporate networks, or parental controls. »

- It makes it clear that using a bridge is also good to hide that you
   are connecting to Tor.

- It helps building an understanding of the bridge being only the first
   relay. Since bridges.torproject.org returns several lines, some test
   participants thought that these were the 3 relays. They are not.

Sorry for dumping all this in a email. Tell me if you'd like me to move 
some of these discussions to GitLab.

Take care,

-- 
sajolida
Tails — https://tails.boum.org/
UX · Fundraising · Technical Writing

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <http://lists.torproject.org/pipermail/ux/attachments/20210303/545b343a/attachment.sig>


More information about the UX mailing list