MetaMask / Design

All things design related
7 stars 4 forks source link

Address Book for mobile #126

Open bdresser opened 5 years ago

bdresser commented 5 years ago

allow users to save addresses for simpler & safer sending

can be modeled closely after the extension's designs - are there any key platform differences that require modifications for mobile?

dev issue on mobile board here: https://github.com/MetaMask/metamask-mobile/issues/128

bdresser commented 5 years ago

probably want some usability testing! @omnat

omnat commented 5 years ago

Sprint 21:

cjeria commented 5 years ago

Had a good call with the mobile devs today - notes below. I also did some prior send flow pattern research, looking at how other apps implement contact list in send flows you can see here.

Contact list In the send flow updates:

Did not discuss the contact list for settings, left for the next phase.

omnat commented 5 years ago

One thing Rachel and I noticed today in the Send flow in extension.. perhaps good to re-consider for mobile too.

In the flow of 'Transfer between accounts', the chosen from account is also given as an option to select for to address. I believe there's no use-case when someone would want to send from Account 1 to Account 1, so we could help prevent an error here.

So, in the list of accounts, lets show all of user accounts except the from account. wdyt @cjeria ?

cjeria commented 5 years ago

In the flow of 'Transfer between accounts', the chosen from account is also given as an option to select for to address. I believe there's no use-case when someone would want to send from Account 1 to Account 1, so we could help prevent an error here.

Yes, we touched on this during design hand-off for the extension and I think it's a good constraint to add. I'll make a call out in the designs about it. We may also want to do that for the extension cc @bdresser WDYT?

omnat commented 5 years ago

In the flow of 'Transfer between accounts', the chosen from account is also given as an option to select for to address. I believe there's no use-case when someone would want to send from Account 1 to Account 1, so we could help prevent an error here.

Is this update of in dev backlog for extension? @bdresser We doing this in mobile?

For mobile, next steps (week of Sept 30):

A future thing to consider is a custom keyboard (issue created for this already in mobile dev backlog)

benjaminaaron commented 5 years ago

I love the new Contacts feature in the extension! It would be super useful to be able to sync it with mobile πŸ’»πŸ”„πŸ“±Is that planned by any chance?

As a DApp developer I would love to be able to have a way to use the contacts throughout Browser-DApps as well. Not just for sending transactions but as parameters for calling smart contract functions. Something like long/right-press on a text field and among copy/paste etc. there is a new option "insert address from contacts" πŸ“– Or having a way to access MetaMask contacts via the web3 or unlocked window.ethereum object? So I could check if an inserted nickname has an entry in contacts πŸ” Maybe that is possible already? (I posted the same on a extension issue)

bdresser commented 5 years ago

filed here @omnat @cjeria https://github.com/MetaMask/metamask-extension/issues/7237. i don't think this is super high priority, haven't heard any users having trouble with this, but should be simple to fix.

@benjaminaaron yes, we do plan on syncing contacts - eventually! hang tight. no plans yet to make contacts available via the ethereum provider, there's a lot of user privacy issues to think through there, but i can understand how that'd be convenient for dapps.

omnat commented 5 years ago

Next steps in Sprint 23:

cjeria commented 5 years ago

Notes from design review:

omnat commented 5 years ago
omnat commented 5 years ago

@cjeria to setup call with Esteban to transfer this

cjeria commented 4 years ago

We reviewed the latest implementation during the mobile design QA call.

Address book in send flow:

Approve screen

cjeria commented 4 years ago

Design feedback provided in this doc