Feedback on developer experience using Onion Services
Creating a ticket from feedback we received on the use of Onion Services in an application that connect users through it. This is something to consider for when we start working on OS in Arti.
This is part of the first time user experience for us, where users enter an onion address and then attempt to connect to it, so it ends up being a big deal. It also makes demos difficult if there's a chance that this step could take a minute or more.
Things that could help in order of importance:
- Being really fast (< 10 seconds? < 3 seconds?)
- Being bounded (99.9% of the time connecting in < 1 minute) since this would let us show meaningful progress based on the worst case.
- Some sense of progress that we could relay to the user, if there is a way to provide this.
- Knowing, on the host side, when an onion address is "ready" to receive incoming connections.
- Some built in mechanism for timeout/retry so that we don't have to guess what the best mechanism would be ourselves. (We've noticed that sometimes it's better to try a fresh connection than to simply wait.)
The only other thing we care about is very high reliability for onion services overall.