Register application as a default one for a standard URI scheme

I'm adding support for handling telnet:// links to my application, what is the best way in regards to the user experience for doing so?

The application runs on Windows, macOS, and Linux, and doesn't have "wizard" installers on any of them. On Windows, double-clicking the application uses the standard Squirrel installer (think Atom, Github Desktop, etc) - which just shows a gif while installing and then launches the application. As hassle-free as you can be, and it's a similar experience on macOS and Linux.

This leaves a dilemma, what to do with the URI registration?

  • if it's to only be done via preferences, then of course the question is do we enable it by default or no
  • if it's not enabled by default, users for the large part have no reason to enable it, so most won't have it on and thus the telnet:// handling will be pointless
  • if it is enabled by default, and that happens to override another application that's already registered, then we'll be a bad citizen
  • if we ask the user on the first launch what to do: well, the first launch is an overwhelming experience as it is, getting asked about telnet:// handling will just add to that

Happy to hear thoughts and feedback on this, thanks!