Import wallet UI can be simplified further

With the upcoming wallet management changes (and supporting HD wallets), we support 4 kinds of imports (if we include watching an address):

  • Seed phrase
  • Keystore JSON along with the encryption password
  • Private key
  • An Ethereum wallet address to watch

While implementing them, I realised that all the inputs are in different formats, so we can actually offer just 1 screen with a big text box and let them type/paste any of the 4 types of data above and automatically detect the right type (and if it's JSON, reveal an additional textbox for the password or pop up a prompt for it).

Ends up with a much simpler UI but not sure if users will find it intuitive, especially if they are used to a specific type of UI with other wallets.

I feel this might sacrifice discoverability. That is, if the user couldn't or failed to do it, he has less knowledge (discovers less) what he needs. Admittedly we don't excel at discoverability to begin with. ๐‘’.๐‘”. there is no sample or description what a seed phrase look like, so the user might still attempt a seed phrase at "KeyStore" page. But at least he gets the label. If it doesn't work, he can ask (himself, google or friends-and-family) the right questions, such as:

  • "Hey, this wallet asks for a seed phrase where is my seed phrase??!"
  • "It says it supports keystore so I guess my question is what does that look like?"

If we do it in one interface a user has only one unenlightened question:

  • "AlphaWallet doesn't like what I give to it so help please."

(Also, note that KeyStore comes with a password, while PrivateKey a QR code, so the format isn't 100% the same).

I understand that for users at the vantage point of already know how things work, this discoverability might be inconvenient. But even those Power Users might need discoverability. Say, that there comes a new format of keys (maybe as a result of some innovation at recoverability, ๐‘’.๐‘”. "green address" has a recovery pack which look like nothing else), even a power user needs a way to discover that our wallet doesn't support it at the outset

How would you name/label this input field so users would get faster what we want them to enter?

In my opinion this might confusing. Especially later on when they would like to export. When researching online, articles use keywords such as โ€žseedโ€ โ€žmnemonicsโ€etc. Itโ€™s good to get aligned with them.

Most of drop offs in forms are caused by wrong labeling and unecessary validation (ex. special characters with passwords). So if we canโ€™t label this input easily, this is an argument against one input field.

We have an assumption here that they would understand all four types before and then just get this when reading the label.

(I'm not suggesting we change anything now:)

I was thinking about something like the screenshot below.

Admittedly we don't excel at discoverability to begin with. ๐‘’.๐‘”. there is no sample or description what a seed phrase look like, so the user might still attempt a seed phrase at "KeyStore" page. But at least he gets the label. If it doesn't work, he can ask (himself, google or friends-and-family) the right questions, such as:

We can alleviate this discovery issue and improve on it by linking to appropriate links/text to describe the terminology at the bottom of the screen.

(Also, note that KeyStore comes with a password, while PrivateKey a QR code, so the format isn't 100% the same).

I agree. All four of them are different. So they don't actually need to be 4 screens to key them in. We can make the argument that 4 screens, 4 tabs means more choices for users and potentially confusion. There could be a novice user who knows they have a back up, but can't tell if it's seed phrase or a private key. If there's just one box, they have a back up, they just type or paste it in, that's it. (and if it's a Keystore JSON, we reveal an additional textbox for the password)

On the other hand, they might be confused because they might be expecting 4 options. We have all seen something like that with checkout forms for example.

Without causing confusion for the user, a user interface, especially on small devices should be as magical and as low-effort for the user as possible. Delighting the user with a "oh it works" is great. A nasty surprise isn't, of course.

We have an assumption here that they would understand all four types before and then just get this when reading the label.

The terms are still mentioned in the screen. We aren't dropping all the description and just giving it the title "Import Wallet". Maybe we can tweak the text to make it clearer?

44%20PM