HashPack is a non-custodial HBAR wallet developed by a team of community members with professional backgrounds. Our team has been working on this project since March 2021. Our wallet launched in October 2021 as a browser-based app and a dedicated Chrome Extension. At the time of writing we have many great features; free account creation, multi-account support, mainnet/testnet support and address books. We also have seamless Ledger support and the ability to buy HBAR in-wallet using MoonPay, with much more to come.
When we started developing HashPack, we decided early that we wanted to focus on providing a great user experience (UX). We wanted a wallet that anyone, regardless of their knowledge of crypto, could pick up and use. We designed user experience maps informed by research and testing to make user choices as intuitive and straightforward as possible. We iterated on our designs, ran blind beta tests and listened actively to community feedback.
Throughout the development process, we came across numerous challenges related to user experience – challenges that are somewhat endemic to the crypto space. The world of crypto is rapidly changing, tech-intensive, and cutting edge. It attracts people who are naturally inclined to dig into the technology, learn how the system works, and understand the often complex semantics.
However, the overall user experience is often overlooked.
The reason is simple. There just isn’t enough investment in UX in the crypto space. Time is spent on technical research, cryptography, and software engineering. It’s a culture formed from a very bright and forward-looking demographic who are willing to cut their teeth on some of the rough edges of the crypto space and make mistakes. Early adopters of crypto are forgiving, so naturally, the technology takes precedence over the user experience.
However the space is maturing, and companies like Coinbase, MetaMask, and OpenSea have shown that they understand the value of a cohesive user experience. As the adoption of crypto becomes more mainstream the investment into clear, simple, and intuitive user experiences is becoming more and more critical.
When it comes to UX in the crypto space, however, there are clear challenges that need to be addressed. In this article, we explore three UX challenges that we have come across while developing for the Hedera network. We hope it will raise awareness of the importance of UX and provide developers valuable insight into crypto-specific UX design.
Challenge 1: Not your keys, not your coins
When we interact with sensitive information online, most of the time we are not in control. Our bank account information, our social media profile, our sign-in credentials, are all managed and maintained by companies.
One of the fundamental foundations of crypto culture is that control must be in the hands of the individual. Crypto-culture turns the mainstream paradigm on its head and gives users full control over their accounts, and this introduces some very real challenges.
By giving users full control over their accounts, they gain a great amount of power and independence, but on the flip side, they are also now responsible for their own mistakes. Unlike banks which can reverse transactions if you send money to the wrong person or get scammed if a user makes a critical mistake in crypto they are often completely exposed with no recourse.
The Hedera network provides a solid foundation for developers that gives them all the control they need. Hedera has no control over user mainnet accounts, they do not have the ability to censor information or reverse transactions. The platform is secure, decentralized, and fair.
When we build on Hedera we can take advantage of all these benefits and extend those benefits to our users. However, this also means if we or our users make mistakes, no one can help them.
Therefore, as developers, we should make conscious efforts to reduce user error as much as possible, without sacrificing this fundamental principle of individual control.
In HashPack, we use several strategies to help users make good decisions and avoid mistakes.
Simplify user decisions – We keep the user interface clean and present the minimum amount of information that a user needs to make an informed decision. For multi-step interactions, each screen should have one major action to keep the user-focused.
Confirm critical actions – When the user is about to make an irreversible action, such as sending HBAR to an account, we summarize all the information and prompt the user to review their information. When appropriate we also use dialogues such as modals and checkboxes that add additional layers of confirmation and safety. Using these methods sparingly can greatly reduce user error.
Build convenience features to reduce mistakes – HashPack provided an address book at launch to make sure that users could save addresses for future use. We also have the option to save a default memo, which is a critical piece of information when sending HBAR to exchanges. This helps the user avoid simple mistakes like typing in the wrong address, or forgetting to enter a memo.
Challenge 2: Inclusivity and accessibility in a complex ecosystem
As crypto developers, we are building in a diverse space with users from all over the world, interacting with the network from all types of devices. Crypto can often be a confusing and even hostile place for new users. Accessibility and inclusivity are paramount to mass adoption of the Hedera ecosystem. The more people we can empower and enable, the better it is for the whole community.
With the plethora of different platforms available to developers, there are plenty of options to build an app that works well on all devices - iOS, Android, Apple, Windows, Linux. Modern users expect responsive content, they expect things to look ‘right’ and work the same regardless of which device they use. And frankly, these are reasonable expectations.
The product must be usable by everyone who needs to use it and work well on all devices, browsers, and operating systems. No one should be less able to use the product than anyone else.
Accessibility is more than just making sure things ‘work’, though. Layout and visual design choices can make a huge impact on readability and user experience. When building an accessible user experience there’s a tendency to focus on color contrast, screen readers, and semantic HTML.
Equally as critical, though, is clear and well-considered content design. Research shows that users scan content, looking for important words, phrases and links to complete their actions. This can be done by highlighting critical information and using plain, simple language to remove ambiguity. Reducing the cognitive effort required to navigate through an application leads to a streamlined, seamless, and enjoyable experience.
HashPack uses several approaches to maximize accessibility for our users and drive adoption:
Cross-Platform Support – From the outset, we made sure that our app looked and felt exactly the same no matter which device you used it on. Our Chrome Extension is the same as our web app. The web app works great on mobile, but we also have plans for desktop, Android, and iOS apps/mobile browser extensions in the future. Building HashPack as an agnostic web app first was a conscious choice to be as inclusive as possible. By offering an agnostic solution it allowed for greater adoption.
Limit jargon – Technical jargon can limit accessibility just as much as device limitation and poor visual design. If you have to use technical jargon, then clearly explain what you mean. We found through research that users didn’t understand the term ‘mnemonic phrase’ and instead updated our terminology to ‘24-word seed phrase’ or just ‘seed phrase’. The seed phrase is agnostically used and understood across other ecosystems. Using concise, widely understood terms increases clarity for users.
Teach and inform – For new crypto users, saving their private keys in a secure place is a new concept. But one thing we learned is that on Hedera, even experienced users do not know that they need to save their account ID as well. Some users have even lost their Hedera account in the past because they assumed they only needed the private key, which is how blockchains like Ethereum work. The UX designer needs to be cognisant of platform-specific information and help users stay informed so they can make the right decisions.
Challenge 3: User Experience for Developers
While we have been focusing on the end-user experience in this article, we want to highlight one other user experience challenge that takes place on “the other side of the screen”. That is the user experience of developers who are building the applications, and the challenges in entering and using the space.
Anyone who has spent time building on crypto can relate to the difficult learning curve in entering the crypto space. Developers often face difficulties learning crypto paradigms, even if they have decades of development experience. After all, this is the cutting edge of web development, and diving into web 3.0 requires both depth and breadth of knowledge to build functional and secure applications.
Because they have to interact directly with the codebase and network, developers really are the purest users of the platform, and so considerations should be made for their user experience as well.
How do we do this? Well, some of this is on the platform themselves, and in this respect, we find that Hedera has done an excellent job building an SDK that is straightforward, performant, and (and this is the critical one) well documented. Not only that, Hedera routinely releases tutorials, guides, and other developer resources on topics that the community is most interested in. The Hedera Improvement Proposal process keeps developers up to date on upcoming features and acts as a forum for community feedback. Even on an individual basis, Hedera holds ‘office’ hours in their developer discord server, and their staff is friendly, professional, and available to help.
While crypto itself is a challenging space, from a development perspective Hedera is a great example of how to engage and educate developers.
But it’s not just on Hedera, as developer community members we can have just as much impact on the growth and adoption of the space.
This is something we deeply value, so much that it’s our mission statement at HashPack: We’re dedicated to developing products and services which reduce friction and spark adoption of the Hedera network by institutional developers.
We believe that by enabling the ecosystem, we can benefit everyone in the space as a whole.
At HashPack we do this in a number of ways:
Connect and collaborate - We actively reach out to other projects and look for ways to collaborate. When people look at HashPack, they see opportunities for interoperability between our app and theirs. But connecting is not just about the technology, it’s about building relationships, sharing insights and working together to take advantage of mutually beneficial opportunities that sometimes come out of left field.
Build ecosystem tools - Just as we develop features for users, HashPack strives to develop tools that will enable the space. The biggest example is our metamask-like signing solution that we are close to releasing. This will allow wallet users to interact with websites and other applications on Hedera while keeping their private keys safe. We are releasing an open-sourced library to make it as easy as possible for dApps to integrate the signing functionality and communicate with HashPack.
From our perspective, the HashPack wallet itself is a tool that we see developers using, and certainly with our upcoming release of HashConnect, we hope to see many developers coming to us to find ways to connect their users to their dApps.
Help out the community - Hedera’s developer discord is full of new users looking for ways to start building on Hedera. Some of these people are seasoned web 3.0 developers, some of them have never coded in their life. Our community as a whole is very welcoming, and when users ask questions it’s great to see the more veteran developers in the space answering questions.
Give it a try, it can be found here (https://github.com/rocketmay/hashgraph-bootstrap) . Any questions can be directed to the #js-sdk channel in the official Hedera developer discord (hedera.com/discord), where there are plenty of community members willing to help work things out.
User experience is a topic that is easy to overlook, particularly in a space like this where a lot of what we’re building are foundational pieces. Liquidity pools, NFT marketplaces, and token bridges are all at the brink of emerging on Hedera and developers are in a race to be first to market and take advantage of all the advantages that Hedera has to offer.
However, hopefully, this article has provided valuable insight into how the UX design choices we make as developers have a real impact on the product. How seemingly simple decisions such as how much information to put on each page or where that information is are actually critical for user acquisition and retention. How users are not just our customers and clients, but our developers and our community members as well.
For the team here at HashPack, we approach our user experience as seriously as we approach new feature development and community involvement. Although we receive plenty of comments on our technical features such as ledger support and address books, the most common type of feedback we get is about how great the app looks and feels to use.
A good user experience may not be as sexy or impressive as releasing shiny new tech or features. Users may not ask for it, and especially in crypto they can be particularly forgiving of clunky UX, but they definitely feel and appreciate great UX design, and that’s what keeps them coming back.
This article was jointly written by May Chan, HashPack CEO and Jacob D’Rozario, HashPack CDO (Chief Design Officer) . We’d like to thank Gehrig Kunz, Lina Tran, and the rest of Hedera’s team for their support and feedback. We hope to collaborate more in the future.