commit b35b4376a5ee18212f23f43b3de14a2aac0e2595
Author: antonela <[email protected]>
Date: Tue Oct 6 11:16:48 2020 -0300
Bug 40004: Add Quickstart proposal idea
---
proposals/ideas/xxx-quickstart.txt | 131 +++++++++++++++++++++++++++++++++++++
1 file changed, 131 insertions(+)
diff --git a/proposals/ideas/xxx-quickstart.txt
b/proposals/ideas/xxx-quickstart.txt
new file mode 100644
index 0000000..395b8c4
--- /dev/null
+++ b/proposals/ideas/xxx-quickstart.txt
@@ -0,0 +1,131 @@
+Filename: xxx-quickstart.txt
+Title: Tor Browser Quickstart
+Author: antonela
+Created: 09-Sep-2020
+Status: Draft
+Target: Tor Browser 10.5
+
+1. Introduction
+
+ This proposal aims to improve the user experience of Tor Browser when
connecting to the Tor network.
+
+2. Motivation
+
+ Tor Browser is opened more than 2 million times a day. In the last years, we
have been working on qualitatively improving the entire Tor browser user
journey: from discovering, finding, downloading, installing, starting, and
browsing, we released a seamless and familiar experience for our largest set of
users. But, launching the Tor Browser for the first time is still being a
frictional experience.
+
+ Tor Launcher has been confusing for users. Past research exposed those pain
points and how that confusion delays the decision making flow by cognitive
overloading [0]. Also, known issues around Tor Launcher like the time gap
between Tor Launcher and the main browser windows opening on first-time
installers have made Tor Browser starting even more disappointing for
first-time users.
+
+ This proposal aims to improve the bootstrapping flow for first-time and
recurrent users by removing Tor Launcher UI, making Tor bootstrapping
automatic, and relying on a better UI embedded in the main browser screen as
visual progress feedback. We will also consider the censored user's experience
by informing detected censorship and suggesting and providing bridges to
connect to the Tor network successfully.
+
+3. The case of the censored user
+
+ Around 2% of daily Tor users need bridges to reach the Tor network [1]. In
any case, this small percentage doesn't enable us to de-prioritize the need of
these users. Instead, this proposal will also provide a user experience that
contemplates censored users' need to access the network by making Tor Browser
proactive to detect censorship and suggest Bridges.
+
+3.1 Bridges
+
+ It is difficult for a user to select between a different bridge option
relying on its name if they don't know what that bridge does for them. A usual
flow for users requesting bridges is trying in-build Tor Browser bridges and
failing to connect until they work. As well, users with specific needs are
pointed to specific bridges by trusted community members, and they pick the
recommended choice without a technical background.
+
+ Over the years, Bridges' technology has been improving as how the censorship
arms race has been developing. OBSF3, OBSF4, Meek, Snowflake, and more proxy
techniques are available for successfully reaching the Tor network. Regular
users cannot differentiate between the technologies under the construction of
Bridges.
+
+ I suggest attaching the name **"bridge"** to any intermediate node that
allows users to reach the network. By unifying the vocabulary in the interface
and our user manuals, we will simplify the complexity behind all this
technology by warning and educating users about bridges uses.
+
+ This strategic decision will allow the community to continue developing
technology for bridges without moving the attention to the technical name but
the conceptual solution [2].
+
+3.2 Detecting censorship
+
+ As discussed in the past, it is plausible for us to use retrospective data
or a Tor reachability test in any fashion to detect network interference in the
user's NAT and act upon that [3][4][7].
+
+ Most of the time, users get aware of a kind of network interference when
they try to connect to the network, and the bootstrapping fails. But even in
those cases, most users have not the technical background to understand nor
explain that censorship experience.
+
+ Within this proposal, the Tor Browser will be able to detect censorship for
users and suggest the best bridge available to connect.
+
+3.3 Suggesting Bridges
+
+ With this iteration, we aim to make Tor Browser proactive on detecting
censorship, respectful on asking user consent to use a Bridge and smart enough
to open the best bridge available.
+
+ Advanced users will be able to configure custom bridges, private bridges,
friends bridges, and any tunnel they want via `about:preferences#Tor` - Bridges.
+
+ Once censorship has been detected, Tor users will be able to opt-in for a
Bridge connection to reach a successful connection [5].
+
+4. Proposal
+
+ Specifically, this proposal will handle this issues:
+
+ - Remove gap between Tor Launcher window and main browser window
https://bugs.torproject.org/27476
+ - Improve user visual feedback on bootstrapping connection
https://bugs.torproject.org/23486, https://bugs.torproject.org/23971
+ - Show Tor log in Tor Browser https://bugs.torproject.org/9516
+ - Firewall option is visible behind Tor Network Settings... but not during
start-up https://bugs.torproject.org/24452
+ - "Tor is censored in my country" does not cover some scenarios
https://bugs.torproject.org/25431
+ - Tor Launcher should suggest the use of bridges if Tor is dangerous in
user's area https://bugs.torproject.org/11132
+ - Inform users in Tor Launcher of which settings are best for them based on
their country https://bugs.torproject.org/24527
+ - Make it easier to add a bridge in network settings
https://bugs.torproject.org/14638
+ - Use OONI to inform Tor Launcher user workflow
https://bugs.torproject.org/23838
+
+4.1 Requirements
+
+ R1 Remove Tor Launcher UI from the entire starting flow
+
+ R2 Allow users to give consent on the first time use of automatic connection
+
+ R3 Implement a new UI integrated with the main windows that provide visual
feedback during tor bootstrapping.
+
+ R4 Allow advanced users to customize their bootstrapping experience using an
extra startup parameter. [8][13]
+
+ R5 Develop a detecting network interference that allows users to request a
bridge if it is needed. Users under controlled networks are detailed in section
3.
+
+ R6 Continue keeping Tor Launcher repository for 3rd parties using their
controllers or UI.
+
+4.2 User flow
+
+ The user opens the Tor Browser and automatically connects. If interference
is detected, then an explainer error page appears, and a Use a Bridge is
offered.
+
+4.3 Quickstart
+
+ Previous experiences of clients bootstrapping Tor without asking to Connect
have been successful. Onionshare, the popular Tor sharing files app, doesn't
request user action to bootstrap Tor. Instead, a minimal UI progress bar is
shown during the 1 or 2 seconds bootstrapping happens. OnionBrowser, the Tor
Browser for iOS also bootstrap automatically. Brave's Tor startup is
transparent to the user and the bootstrapping visual progress feedback happens
at the URL bar.
+
+ Quickstart is the feature that enables an automatic Tor connection in Tor
Browser.
+
+ As a first step in introducing this feature, we may want to make this Opt-In
by allowing users to give consent and save this setting in our persistent
configuration.
+
+ * Phase One - Userflow
+
+ The user opens the app; the connecting screen appears. Like the current
flow, user needs to click in the Connect button to connect to Tor. On first
time users, we ask consent for automatic connections. [9, IMG 0.0]
+
+ Opted-in recurrent users will go directly to `about:tor`. We will disable
the URL bar and we will rely on a loading bar UI to render immediate visual
feedback.
+
+ A work in progress user interface for desktop [9] and mobile [10] is
attached to the main ticket [12].
+
+ * Phase Two - Userflow
+
+ The user opens the app; Tor bootstraps automatically. To enable phase two,
we need a Tor reachability test in place as part of the Tor bootstrapping. If
there is network interference, the interference detected screen appears and Use
a Bridges is offered.
+
+4.4 Customizing Tor connection
+
+ Specific use cases, as in users who want to hide the fact that are using Tor
or users aware of censorship in their network, should be able to start Tor
Browser offline, be directed to `about:preferences#tor` and configure their
connection before Connect. A startup parameter should allow this option.
+
+4.5 Recovering from error
+
+ During our product iteration cycles in this flow, there may be the case
where the bridge that is being suggested does not work. We will allow users to
try a Bridge again, and then we will move them to the manual configuration in
`about:preferences#Tor` - Bridges.
+
+ General Tor bootstrapping errors handling will not be covered in this
proposal.
+
+5. User research
+
+ Our ongoing user research over Tor Browser Start pain-points and bridges'
use is being tracked in its corresponding ticket [14][15].
+
+[0] https://github.com/lindanlee/PETS2017-paper
+[1] https://metrics.torproject.org/userstats-relay-country.html vs
https://metrics.torproject.org/userstats-bridge-country.html
+[2] https://gitlab.torproject.org/tpo/anti-censorship/rdsys/-/issues/8
+[3] https://gitlab.torproject.org/tpo/community/outreach/-/issues/28531
+[4] https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/23839
+[5] https://gitlab.torproject.org/tpo/applications/tor-launcher/-/issues/34343
+[6]
https://gitlab.torproject.org/tpo/anti-censorship/trac/-/issues/40004/designs/quickstart-userflow.png
+[7] https://gitlab.torproject.org/tpo/core/tor/-/issues/30477
+[8] https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/34345
+[9]
https://gitlab.torproject.org/tpo/anti-censorship/trac/-/issues/40004/designs/Desktop-UI.png
+[10]
https://gitlab.torproject.org/tpo/anti-censorship/trac/-/issues/40004/designs/Mobile-UI.png
+[11] https://trac.torproject.org/projects/tor/ticket/31286
+[12] https://gitlab.torproject.org/tpo/anti-censorship/trac/-/issues/40004
+[13] https://tails.boum.org/blueprint/network_connection/
+[14] https://gitlab.torproject.org/tpo/anti-censorship/trac/-/issues/40003
+[15] https://gitlab.torproject.org/groups/tpo/-/milestones/7
_______________________________________________
tor-commits mailing list
[email protected]
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits