Tor Browser needs a better user experience at start-up, and automatically bootstrapping and doing "Smart Things" in the background is the next stage in Tor Browser's evolution. But users should be able to launch Tor Browser and tell it not to bootstrap (before it starts bootstrapping).
Roger and I had some ideas including:
Add a context menu option for launching but not bootstrap
Add a key combination (like pressing spacebar) and Tor Browser what that means
Tor Browser always waits 5 seconds before bootstrapping, and provides a "cancel" button
None of these are really good options, but maybe use this as a starting point and find a better option.
At the root of this is trying to solve three problems:
Tor Browser usability depends on tor bootstrapping seamlessly and hiding this detail from users
The current configuration may be dangerous after moving into a new environment
Tor Browser should have a start-up mode where Tor Browser doesn't send a single packet on the network before the user has the option of configuring tor
(Most likely) 99.9% of users only need (1), but we shouldn't ignore (2) and (3).
Designs
Child items
0
Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Would it be helpful to offer two separate Tor Browser shortcuts? One that starts Tor Browser right away and one that lets the user mess around with the settings before it bootstraps?
I'm assigning this ticket to @dunqan to work during Q12021. I personally think that launching with a key combination is the most straight forward way for advanced users to reach about:preferences#tor without bootstrapping. Don't forget this is an advanced user feature.
We will also need to include a UI for quickstart opt-out/opt-in in about:preferences.
We should also offer a keyboard shortcut to cancel bootstrapping, however I think this should be done in addition to a non-timed action. My vote would be for Esc, which typically cancels processes (e.g. loading a page) in FF/TB and so may be more appropriate and include a higher degree of muscle memory than Space Bar for this purpose.
We will also need to include a UI for quickstart opt-out/opt-in in about:preferences.
I've mocked up an example on about:preferences#tor that is technically opt-out, so it can also be displayed word-for-word on the Quickstart Consent screen on first launch too (set to 'false' by default):
about:preferences#tor
Quickstart Consent
However we should also consider the following flow this change introduces for censored users:
Censored user launches Tor Browser for the first time
Selects or adds a bridge in about:preferences#tor and sets Always ask before connecting automatically to 'true'.
Relaunches Tor Browser
In which case, the user could be presented with a variation of the
Quickstart_Consent screen which makes clear that "Connect" will initiate their previous configuration.
Ok I'm a go through your asks and give you my thoughts:
Add a context menu option for launching but not bootstrap
This is the hardest bit imho, but only saying that because I'll need to investigate how to do it (whereas everything else I have a handle on what the implementation would look like). It would be helpful to have an overview for our 3 platforms of waht the UX for this would be like. IE I know in windows items pinned to the task bar can have special commands/options, but how does this work for desktop shortcuts, etc. So an enumeration of ways to launch tor browser for each platform would be great.
We should also offer a keyboard shortcut to cancel bootstrapping
Love it, should be a simple addition to about:torconnect
We will also need to include a UI for quickstart opt-out/opt-in in about:preferences. I've mocked up an example on about:preferences#tor that is technically opt-out, so it can also be displayed word-for-word on the Quickstart Consent screen on first launch too (set to 'false' by default):
We have space in the entire page to have a helper box to include this trick for some releases so advanced users get noticed about it. We should also update docs.
Parts 2 and 3 are fixed in !147 (merged). We have decided to put off implementing the context menu options to launch without quickstart as it will involve platform-specific code, so we will work on this after the remaining bugs are fixed.
To summarize, we implemented two new features as part of this ticket:
The quickstart consent checkbox on both about:torconnect and about:preferences#tor
Pressing the Esc key cancels bootstrapping when underway
However, we've decided not to proceed with the third feature for now as it'll require some more involved per-platform code:
implementing a context menu to override quickstart consent
We haven't had any feedback about this functionality since 10.5 launched, so I'm happy to close this ticket for now. I'll open a new one should there be demand for it in future.