Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Design a variety of tx approval screen options #329

Closed
danfinlay opened this issue Jun 26, 2016 · 4 comments
Closed

Design a variety of tx approval screen options #329

danfinlay opened this issue Jun 26, 2016 · 4 comments

Comments

@danfinlay
Copy link
Contributor

danfinlay commented Jun 26, 2016

The tx approval screen is a really open ended design challenge, so I'm going to try to formally pose the problem here so new designers can hop in and take their shots.

The Current Behavior

When a Dapp requests that a user signs a transaction to the blockchain, we use a Chrome notification to indicate that transaction to the user.

We recently made a technical breakthrough that allows us to inject arbitrary styled HTML into a portion of the chrome notification usually reserved for an image. Here is our current notification, note it renders the bare minimum text.

Notification version

screen shot 2016-06-26 at 10 49 55 am

If you dismiss this (by pressing the top x), the next time you open MetaMask, you will also be prompted with the transaction. Here's our current view, note it's actually rendered with the same template, just different dimensions:

Extension version

pasted_image_at_2016_06_24_01_19_pm_480

The basic information we want to display

  • The sender account
  • The receiver account
  • The value in ether sent
  • The maximum transaction cost (gas costs)
  • Warnings of potentially malicious contracts
  • Any other efficient visual indications that can be conceived of.

The Challenge

What's our best efficient and aesthetic way to represent a pending transaction? This could be a vote in a democracy, or sending a token (and for standard contract types, we very well might identify those transaction types and visually represent those types of interactions!)

Chrome Notification Constraints

We're using Chrome Rich Notifications, and so we're restricted to the flexibility they provide.

chrome-constraints

  • Fig A: One icon in the top-left, can be styled however we like, but it helps to show who is sending the notification. (80x80px)
  • Fig B: This mandatory block can only have up to four lines of unstyled text. (280x80px)
  • Fig C: An optional block that can be styled as we please with non-interactive HTML. (360x240px)
  • Fig D: Up to two buttons at the bottom that can have text on them.

Current ideas

Addresses are normally 32-character hex strings, but those are both ugly and users are unlikely to read them, so we've been experimenting with visual representations of long numbers, including how we might click them to copy the full address. Feel free to mock up your own!

00-identicon
01-identicon

Once we have efficiently narrow visual account representations, we can start using more horizontal space, like maybe an arrow pointing between accounts to the right.

Another strange & ambitions concept is to show a graph of the contracts that get touched by that transaction, pictured in the below image, below the blue line:

df9d1313-2f80-41f5-92c5-f45116e7cbe1-1-2048x1536-oriented

We could also try to use the concept of "attestations", maybe showing the identity of someone who vouches for this contract's security. It's easier to read that someone approves of something than to understand why you should trust it yourself, which is honestly probably beyond the scope of a tx notification.

Anyways, I hope this inspires some fresh ideas, the Ethereum ecosystem needs them all!

@danfinlay
Copy link
Contributor Author

danfinlay commented Jun 28, 2016

A sideways take on user confirmations

If the chrome notification was simply too stifling and limiting, we can also optionally open a new tab, and within that tab, render whatever we damn well please to represent a transaction confirmation.

Sorry for not throwing out that kind of basic, open-ended option in the first place. Sometimes the hardest ideas are the simplest ones.

This approach has the tradeoff that any app can open a new tab, so it doesn't have the inherent trustworthiness of a chrome notification.

@danfinlay
Copy link
Contributor Author

This one by @sandrasong meets all the requirements & constraints nicely:

tx2

@danfinlay
Copy link
Contributor Author

Here's a fresh design from @yunyunchen1012!

screen shot 2016-06-29 at 2 16 13 pm

@danfinlay
Copy link
Contributor Author

Here's the latest from @VladTod, I like the use of icons :)

06b-metamask_notiication

SeungjunWe pushed a commit to DcentWallet/metamask-extension that referenced this issue Jul 13, 2020
…-network

Connect to unknown private network fix
@danjm danjm mentioned this issue Mar 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant