Write a replacement of Tor Launcher
https://trac.torproject.org/projects/tor/ticket/31286#comment:42 reads “Once tor-launcher is gone and its functionality has been completely integrated into Tor Browser (9.5?) […]”. It’s not clear to me if it was already decided this would be the case, or not. That ticket has a bunch of discussion, ideas, and mockups on this topic.
We should get in touch with the Tor Browser team ASAP to learn what their plans are: if Tor Launcher disappears for real, we’ll need to Do Something About It™, which will likely not be cheap.
Relevant past discussion on this topic:
Upstream work at Tor:
This work will be done together with #18007.
The network_connection blueprint is not authoritative, but keep it on mind.
- Sponsor 8, Improvement 1: Configuration of Tor bridges
- Sponsor 10, Activity 1: UX design
- Sponsor 10, Activity 2: Development
- Sponsor 10, Activity 6: Automated tests
TODO from sajolida
The assistant goes back to the consent question when I close it and open it again from the Applications menus.
I imagined always opening on the last screen that would display the current state: connected to Tor or disconnected. The disconnected screen was on Mural but I see now that I didn't put it on the blueprint. Tell me if you need more detailed info.
→ Always open on the last screen
Allow going back from hiding Tor to the consent question, at least until we have Moat or the QR code scanning, without limitations
As we've seen during the usability tests, our consent question will lead many people to choose hiding Tor "just in case". With the current implementation, you are forced to either use the Unsafe Browser to get bridges, type in obfs4 bridges, restart Tails. None of these options are good I think.
Allowing people to go back and change their answer to the consent question makes it possible to shoot themselves in the foot but, right now, we unfortunately don't have a good solution to use bridges either. Allowing people to go back also encourages exploring the interface and making errors.
UX theory time! That's Usability Heuristic #3: User Control and Freedom.
Cost: 1/10 Benefit: 7
The progress bar still freezes when entering a buggy bridge line. We agreed on having a fake progress bar until the 30 seconds timeout → ACK
The progress indication doesn't work when changing settings. Here is how to reproduce:
- Start Tails
- Choose to hide Tor
- Configure valid bridges
- Close the assistant
- Reopen the assistant
- Choose to hide Tor
- Configure 'obfs4 188.8.131.52:666'
This results in TCA reporting success, but Tor not working.
I got an empty screen after "Configure a Proxy" when hiding Tor.
Display "You lost connection to the local network" when disconnected from the local network.
Benefit: 9/10 Cost: 7/10
The final screen keeps saying "Tor is working!" even after I shutdown the network. It should always reflect the current state of things.
When people reconnect to a network:
Same network: the assistant should go back to the connecting screen, if displayed but shouldn't be open automatically.
Different network: XXX to specify, see discussion with @intrigeri: consent by network or by session
What if we lose connection to the Internet but not to the local network?
For example, a captive portal times out.
Create an icon @sajolida
- set that icon @boyska
(moved to #18274) The screens are quite different from the mockups in terms of alignment, strings, and general aesthetics.
I rephrased it in 7b5ea821.
As a general rule, always check error messages with me. In my experience, coders are not good at writing error messages. Sometimes, some work can be done to prevent the error from happening in the first place.
Coding an error message is an interesting trigger because we might not have thought about it while designing, but it's almost always interesting to go back to designing better UX.
UX theory time! If you want to learn how to write better error messages: https://www.nngroup.com/articles/error-message-guidelines/.
bridges.torproject.org gives vanilla bridges too easily (tracked in #18275)
Right now it's not translatable in tails.pot (moved to #18276)
(moved to #18274) We should display our requirements in terms of pluggable transports upfront to people, otherwise they have to do the guesswork.
I propose to add more info text below "Type in a bridge" when hiding Tor:
Currently in Tails, only obfs4 bridges hide that you are using Tor. obfs4 bridges start with the word 'obfs4'. To request obfs4 bridges, you can send an empty email to email@example.com from a Gmail or Riseup email address.
I only got obfs4 when I sent an email.
The final screen is inconsistent. At least in autoconfig, I get "Connecting to Tor..." and "Tor is working!" at the same time.
Final state should be:
**✔ Connected to Tor successfully without bridges!** [no progress bar] "You can now browse the Internet anonymously and uncensored."
I tried the iptables command to block Tor but it didn't work so I couldn't test the proxy in autoconfig and whether the comment below was solved.
The assistant froze on "Connecting to Tor...". Trying to close it triggered "Application.py" is not responding. The same happens when hiding Tor.
(moved to #18274) The progress bar when connecting to Tor has only 2 steps.
You added a log line between "Connecting to Tor..." and the progress bar. It has low contrast and I guess that it wouldn't be accessible. I'm wondering whether we should:
- Keep it like this
- Fix the accessibility issue
- Remove this line all the way
Let's try without this line as a start and see if we miss it once the progress bar will run more smoothly.
(moved to #18274) You haven't implemented my last design with horizontal steps and icons:
If we won't have them in 4.19, I should maybe change some messages here and there.
@sajolida should explain better how this should look like on entire screens and how we help users know at which point of the steps they are.
Open the Unsafe Browser when people click on "Sign in to the Network" (moved to #18277)
(moved to #18274) Redesign the error screen as per the blueprint:
(moved to #18279) How do people change between direct and bridges for a single network after they successfully connected?
(moved to #18280) Think about which changes to the consent question we want to prevent
(moved to #18274) The (?) info in the first screen near "Configure a Tor bridge" should toggle a text snippet on the interface, instead of opening the doc.
(moved to #18274) The (?) in "Configure a Tor bridge" should be a link instead.
(moved to #18274) When hiding Tor, I thought about not displaying the default bridges at all
(moved to #18274) Some "Learn more" links are missing too. At least the one in the first screen.