This is something I shared on twitter that I would like to see feedback here too. Here’s the current design for buying a name:
Some issues on the current design:
-
We have an alert saying that you should increase registration period. If that choice is wrong, why is it the default? Never force users to read unnecessary alerts.
-
Registration pricing is confusing. It’s shown in eth, the summation is done in a single line and only then the total is shown in dollars. I don’t know about you but I have a hard time adding stuff in my head with 3 decimal cases.
-
All the information about the 3 steps required to buy a name is confusing. It’s not necessary to show that to the user now. It makes the UI crowded.
-
The current price/gas ratio is ridiculous. Users will often be paying $5 for a domain and $40 in gas. The default suggested term is still 1 year and we alert the user about it but the reality is that if you’re willing to pay $X then at least half or more of that should go towards the product itself.
-
Many users don’t like the idea of having to renew something and are attracted to the model of “Pay once, forget it and own it forever”. While we can’t (and shouldn’t) have a “forever” plan, for most users a long time range of 5 or 10 years is effectively forever.
Instead here’s a first approach at it:
- Defaults are powerful design tools and we should use them. Showing them set expectations: do this if you are starting. do that if you want to be on the long term. Custom still allows you to buy a name for 1 or 100 years, but it’s not the default anymore
- Network fees are shown separate in both dollar and ether. We should have a color alert when the gas is extremely high saying something to the effect of “Gas are volatile, you may come back later and buy it for lower”
- All the “3 steps to buy” information should be at a later stage, presented slowly.
This is a first draft on how they could be presented:
- Ideally we should work on the backend to eliminate those steps. Can we add an option to ask the user to have the second transaction as a simple signature that the frontend can post by themselves? If the user can trust our frontend not to frontrun them (which they already do, since we could be buying names as users search for them), can we eliminate that second step completely by allowing anyone to make the reveal?
- The process is actually a two step process, not 3: it’s just that there’s a mandatory waiting period between 1 and 2. Saying it’s a 3 step process makes it seem more complicated than it already is.