Illustration from Shutterstock
I’ve been using MetaMask both as a developer and as a user for about three years now. A lot has improved. However, there are still things that annoy me when it comes to user experience.
Off the bat, the first thing that I think can be improved is the opening sequence. The extension currently takes a second or two to open once I click on the icon. Understandably, the app is loading data in the background and I suppose only once it is loaded does the window open. From a user experience perspective, it would be much better if the window opens immediately and displays a loading animation to represent show that the app is working. Sometimes, it might feel like MetaMask has stopped working when it takes a bit more time for it to react when the icon is clicked. UI update on every user action is very important.
Let’s say that I want to add a new custom token to my MetaMask wallet. I open the app, click on the Add Token button and then move to the Custom Token tab. Then I realize that I forgot the copy the smart contract address of the token I want to add. I go the Etherscan and copy the address. Naturally, MetaMask closes. I re-open it, but I now have to again go through the entire process of getting to the Custom Token tab. It would be so much better if the extension remembered the last UI state and resumed from there when re-opened.
Currently a two-step process, I feel like this can be compacted into a one-step process. I understand that it is important for users to see what permissions their are granting an app, but that can easily be achieved by moving the permissions text to the first step and using font manipulation and some form of separation in order to contrast with with the section where addresses are selected. I’ve always been a fan of simpler processes and why click twice when I can only click once?
Adding an option, for example a checkbox, to add a token to all accounts currently present in my MetaMask vault would be a great addition. Obviously, it is annoying to have to go through the same process multiple times when I want to add the same token to all of my MetaMask accounts.
I add some tokens to my MetaMask vault. I then import another vault. I then import back the first vault. The tokens are gone and I have to re-add them all over again. If possible, it would be so much more convenient to have vault-based token additions saved somewhere so that when I jump between my vaults, I don’t have to re-add tokens every time.
When I add a token to my vault, I’d love to see its logo (if available) as opposed to a randomly-colored circle. The latter works fine for accounts, but where logos are available on a massive scale, I don’t see why those can’t be used.
When I am connected to an app and I click on the Connected text, a window opens. Two things here.
First, If there is only one action that you can perform on each account (disconnect), there’s no need for an options menu. Just display an appropriate icon with a “Disconnect” tooltip that shows on hover.
Second, in the permissions expand panel, I don’t really like that permissions are listed with a disabled check icon on their left side. This might mislead users to think that they have control over these permissions. A simple radio button list would be better here. I understand that this is probably being set up for future updates where different permissions controllable by the user will be added. Still, my point stands.
Two things here. First, gas fee control. I feel that people in general are now well-aware of gwei and how gas fees work in Ethereum, so adding an editable input where users can edit gwei to the opening transaction confirmation window (maybe above the fee value in ETH) would be convenient. Clicking the EDIT link and then going to Advanced is hardly something I want to do with every transaction I review. Since gas fees have become an issue thanks to the DeFi hype train, I’m certain that I am not the only one who would like more convenient access to gas fee control in the opening transaction confirmation window. Also, adding the estimated confirmation time to the transaction confirmation window’s default state would be great. Again, clicking on EDIT just to see that seems unnecessary for what I think is a rather popular action sequence.
Secondly, I don’t know if the EXIT label above the ETH to be sent is appropriate. In fact, I don’t think it is appropriate. To be honest I don’t know what it should be replaced with, but EXIT is not in place and just sounds weird in this case. It might confuse users.
Additional info about the app that is trying to connect/is connected to my MetaMask would not be a bad addition. A logo with a URL below it doesn’t say much to people unfamiliar with a particular app. A brief description would shed some light.
I might be nitpicking here, and it might be just me, but I’d much rather have the View on Etherscan option at the top and here’s my logic. I don’t have the data, but I am basing this off of personal experience. The option I mostly use is View on Etherscan. Account Details I’ve never used and I doubt many people do. Same with Expand View.
MetaMask is an outstanding app that has my full support. It has come a long way over the past few years, but I feel there are still a lot of things that can be improved in terms of user experience. Hope this feedback helps in that regard.