Simplicity regarding wallet security and backup

Weiwu can fill in details or prompt me if I can help to provide more details. But basically: I just want to remind us that we should bear in mind to keep the flow simple and not overcomplicate the UI, while still keeping the keys secure. Especially on small screens like mobile apps.

A few questions to ask might be:

  • How many users will understand this?
  • How many users will care about this?
  • How many users will be angry with us if we do it wrongly?
  • Does it surprise/delight the user (and not give a nasty surprise)?

We can run remote user tests on usertesting.com to check how people get it. One participant is around $39, we can set their location, income etc.

  1. Once we have a working prototype, we can request them to download it (even with Testflight)
  2. We make them to go through a flow of setting up new account
  3. We can verify our assumptions

Based on the outcome, we can iterate.

I just want to remind us that we should bear in mind to keep the flow simple and not overcomplicate the UI,

Absolutely

We can run remote user tests on usertesting.com to check how people get it. One participant is around $39, we can set their location, income etc.

Absolutely we should test. I was taught good lessons back in the bank where tests reveals what I couldn't have predicted.

Speaking of project management, the backup/restore feature can't wait as it is already 3 weeks into the end of the sprint. Let's finalize the implementation of what is already designed and have tests done in the meanwhile, and have Green team to implement the needed changes from the learning of the tests.

If you are speaking of the "set-up fingerprint authentication" screen (which happens when the user change from a key not requiring user-presence to an encryption key that requires user-presence), I have the following info:

  • it's needed by Android since it can't be set up without user-interaction. So we can do all sorts of simplification except leaving that one out
  • but the same can't be said of iOS. @Tomek, @hboon just told me in today's weekly meeting that iOS doesn't technically require a set-up phrase for swapping the key to an encryption key that requires user-presence, so do we add the set-up screen anyway despite iOS doesn't need it, making it more complicated?

I subscribe to a view much influenced by my early days in GIZ/AHK (German) that "simple" means "consistent" and "clear", not "fewer steps". "Swapping key to an encryption key requiring user-presence" marks a point of no return: before that, the user will not lose the key unless he does it in settings or he deletes the app; after this point, if the user disables screenlock in the OS, the key is lost and the user will have to use backup.

@hboon is of the opinion that the point of no return was blurry at the outset - if a user would cry a river when he lost his key as he disables screenlock in the OS, then a user would cry a river too when he deleted the app and re-installed it (and finding 0Ξ), as his experience was deleting an app has nothing to do with deleting money or identity. My view: even crypto users who knows they can't delete their app without backup their money can't reasonably anticipate disabling screen lock would cause loss of money, therefore to hide the change is not a simplification but a complication, from the view that "simplicity is consistence and clarity".

I also think consistence between iOS and Android is highly desirable.

So this is what I have so far. I would be more than happy to get a feedback from you @hboon This is Android based, I can provide you a custom design for iOS.

These steps are at the end of Back up process, right after you rewrite the seed. Few more screens will be posted tomorrow morning.

Lock_Intro

Lock_Fingerprint

Lock_Fingerprint_Success

Speaking of project management, the backup/restore feature can't wait as it is already 3 weeks into the end of the sprint. Let's finalize the implementation of what is already designed and have tests done

Yes, let's finish this up and ship it. Shippers ship.

I also think consistence between iOS and Android is highly desirable.

I agree (for this particular case).

  1. Regarding the screen titled "Lock your seed phrase to increase security", do we consider the wallet to have been backed up (and hence no longer showing back up alerts) only after the user has tapped and completed "LOCK SEED PHRASE" successfully?
  2. Should we have some copy to explain that removing the system PIN might cause their keys to be lost once the seed phrase is "locked"? [1]
  3. Since we are here, should we have some copy to mention that the keys are not backed up to iCloud. [2]

[1] Related to that: I'm pretty confident that removing the iOS PIN and then re-adding it back will allow access to the keys, but I'm not confident enough especially because it isn't explicitly documented, so it might change. So let's assume it might be lost, just like Android, but be careful not to say that it will be lost.

[2] Not sure if it's possible without presenting a wall of text to the user.

Yes

We will display this alert at the top of Wallets tab. Something similar to "Time to back up". The one situation I would like to avoid is the one from BRD Wallet. I deactivated pincode and I had to say goodbye to my wallet. We should let users access their wallets, open them and maybe another backup.

Example

From my experience people don't read. They scan (headline and CTA action text). So let's not expect users to read anything lower font.

Few more screens:

  • how to represent that the key is now more secure?

I came up with an indicator in the settings. Once you tap on it, you can see the explanation:

Settings_Not_Backed_up

Settings_Not_Locked

Settings_100_Procent

Once you tap on it (with or without emojis):

Levels_Emojis

Levels

Fully agree. But there are other reasons to include that (that it's not backed up to cloud servers) even if users skip the text.

But don't worry about it. We can tweak it later if we want to.

The 3-segment bar indicator to introduce back up status looks nice, but since it looks like it doesn't affect how backup works internally and looks like it can be added as a separate, smaller sprint or a single issue, can we defer that?

But discussing/talking about it is still wonderful :slight_smile:

(the same indicator might also be shown in the back up alerts to improve user familiarity or even guide the users towards securing the wallet seed/keys further)

1 Like