As a designer, I often seek the latest mobile applications with clever and inspiring UX/UI designs. By openly sharing the work we do as designers, I believe we can improve together and raise the bar for better user experiences. This article is part one of a two-part series, in which I will highlight some of the best practices currently found in cryptocurrency wallets. In part two, I will extend the current best practices with some additional improvements.
Optimized onboarding
Making a good first impression is crucial to new users. Anything that might hinder them from using your app straight away might become an excuse to replace your wallet app with another one. For this reason, some wallets optimize for speed and efficiency by minimizing launch time, skipping introductions, and postponing recommended security measures. This approach is especially appealing to impatient users or users that are somewhat familiar with managing cryptocurrencies and understand the risks of taking shortcuts. However, users new to cryptocurrencies may benefit from a little bit of extra guidance and support. By knowing what type of user is using your app, you can customize content to their needs and get the right things done as quickly as possible. The quickest way to find out is to offer an explicit option to skip any initial support, such as writing down a seed phrase, and the dangers of doing so. This one-click “skip” action may be a good trade-off between “getting started quickly” and “getting started safely.”
Supporting defaults
As the wallet application grows in features, so do the options that come along. Some developers insist on hard-coding specific parameters within the code (e.g., transaction fees), whereas more open developers allow users to see and modify these settings themselves. Although some users appreciate having control over specific settings, nearly all users appreciate having default settings. There are several advantages to implementing defaults instead of the “nothing selected” approach and asking for permission or preference. One reason is that it speeds up interactions and saves time. Another is that it reduces the cognitive load of making a decision. Especially with difficult decisions such as choosing a bitcoin wallet address format (P2PKH versus P2SH versus Bech32), not everyone can make such a decision. Developers can create defaults based on a variety of criteria such as; industry standard, most widely used preference, most secure and private settings, device settings, context, and more. Finding out which default settings to use might not always be challenging to find out. Some defaults, such as network traffic and fees, can be found by querying APIs for network data. Others can even be retrieved offline from device settings. Often the user of a device has already informed the operating system about user preferences such as language, region, and local currency.
Branding
With or without intentional design, your audience will create an opinion of your wallet by seeing and using it. First impressions between your user and your product will make them either love it or hate it. If you don’t already have a brand for your products or services, the simplest thing to do is to think about three words that best describe the impression you want others to have of you. If you picked words like playful, fun, and young, your brand might distinguish itself by adding short videos, vibrant colors, and lots of engaging interactions and animations. Whereas if you pick words like fast, professional, and smart, then your brand design might turn to neutral colors, more technical terminology, and a formal tone of voice. Creating a strong brand is not just helpful and recognizable for your audience, but it can also help justify decisions and give focus to your team(s).
Design for speed
Today’s attention economy states that our time and attention are scarce assets in the digital age. Whereas a few decades ago, there was a shortage of relevant information; the Internet changed this to having an abundance of information. Instead of overloading users with too much information, apps should focus on getting things done quickly and informing only the most relevant personal information to the user. Designers and developers have in their arsenal a range of tools they can use to make people both effective and efficient. Developers should focus on optimizing loading times by techniques such as front-loading, memory cashing, multi-threading, modular development, and micro-services. Whereas designers can optimize the perception of time, such as setting expectations, including progress indicators, and including individual preferences such as; faster block confirmations by miners as a trade-off for cheaper transactions. Another optimization is to decrease friction by increasing usability for humans. In other words, adapt the content of information to the knowledge they already have, include suggestions and options for faster task completion, and remember previous choices for future reuse.
Support
Discoverability + adoption is one aspect, but thinking about retention is just as important. If people struggle with either bugs or usability issues, then their patience is limited, and another alternative quickly replaces your app. The easier it is for people to get in touch, the better. As a developer, you may prefer a well-documented issue on GitHub. But most of your average users are likely to prefer sending feedback from within the app itself. Even better would be knowing when someone from support is looking into their issue and giving an update on every stage of the process. When your team or community is large enough, consider providing support via Telegram, Twitter, or email. And do not forget to manage customer expectations and help people in their timezone, their language, and their context of use.
Attentive reminders
In preference of speed, people sometimes skip some specific actions or tutorials. Attentive reminders are a way to help users complete specific steps or view relevant information at a later moment in time. By chopping up time-consuming actions at once into smaller units over time, things become less overwhelming and easier to digest. When designing reminders, consider prompting them at important moments and pages within the application.
Advanced features
Where automation and support are useful implementations for average users, experienced and knowledgable users often seek a bit more control, functionality, and flexibility. Some wallets support this by overwriting default options used to protect people in potentially harmful situations. Others are confident to release the latest features, often in a Beta stage. As a wallet, support for these advanced features can help stand out from the competition and attract new users (sometimes at the cost of others). Right now, some of the advanced features include support for Testnet, MultiSig, offline mode, using own nodes, batch transactions, coin-mixing, hardware wallet integration, Tor, and other privacy-enhancing features. Whatever the approach, consider adding clear descriptions, consequences, helpful examples, and warnings when offering these advanced features. Keep in mind that whatever is unique right now may become the norm tomorrow. Therefore staying still on future development is the equivalent of slowly becoming obsolete.
Conclusion
Modern cryptocurrency wallets made a big step in supporting their users in managing their cryptocurrencies. It is clear that more apps either have dedicated professional designers working on them or have talented developers with practical experience in designing for humans. The current pace of wallet design and development is quite good, and perhaps even exceptional for some of the open-source projects. Currently, hundreds of cryptocurrency wallets exist today, each trying to draw new users to their products. But only a few apps seem to stand out from the crowd right now. Luckily there is still plenty of room left to improve. Not a single wallet is currently dominating in all aspects.
If you are interested in what else wallets can do to improve their user experience, be sure to read part 2 of this article, where I will reveal some other design aspects rarely seen in today’s wallet solutions. And if you would like me to review, or work on your open-source wallet, send me a message on Twitter.
Disclaimer: The wallet applications covered in this article are only used as examples of different design practices. I am impartial towards any single wallet listed or not listed in this article. All opinions are my own.