Open mouxdesign opened 7 months ago
User Interviews conducted August 2023
The following data is from User interviews that were conducted at a conference in 2023
We set out to ideate on the research objectives that we wanted to achieve by the end of the sprint. This as a collaborative effort in the Bitcoin Design Community.
We then decided that the best method to get this information would be by directly interviewing both current and potential users of bitcoin core. This would then help to shape the direction of bitcoin core app.
We then set out to speak to people. A few of us visited a conference and found this the perfect opportunity to speak with current and potential users.
We then put all of the conversations into an affinity diagram and sorted through them. The goal of sorting was to identify bigger buckets or patterns in the data.
8 Years or less: Smaller bucket (less than half) The smaller group of people we spoke with have been using a wallet for 8 years or less
The most popular wallets that are being used next to bitcoin core are listed in the order of use. Listed from most to least used:
The current user of Bitcoin core tends to be a bitcoiner who is:
A push fits under the Jobs to be done framework and assumes that a user “hires” the software to complete a specific job. During the process of “hiring” the software they expect it to perform a specific role.
During this stage there is a particular reason or “push” that results in them installing the software onto their device.
For Bitcoin core the main reasons that pushed people to install and start using it were the following:
Self custody, Node running, developer testing
1. Self custody There was a bcash fork happening and they wanted to have a self-custodial solution. “There was a bcash fork going on, I wanted to have my keys own before it happened.”
2. Node running Bitcoin Core was installed to run a node “I wanted a node primarily, and wallet functions was only secondary.”
3. Consensus making They want to help contribute to consensus on the blockchain. “For me running it its about contributing to the community..”
4. Curiosity They were genuinely curious and just wanted to try out the software. “At first just to explore. Just to understand bitcoin better.”
5. Transacting They wanted to buy something.
6. Inscriptions They wanted to inscribe ordinals.
7. Developer testing They are a developer working on Bitcoin Core and downloaded it for testing purposes.
“I was trying to recreate a crash that someone reported.”
During this stage of “hiring” the product the person might have fears.
One of the main fears of people when installing bitcoin core came through the syncing process.
1. Syncing time I want to be informed:****
“It was 0% of synchronizing, he wasn't informed about the whats happening or why it didn't started to sync.”
“Didn’t really understand it at first. I was confused the first time I was running it. Mostly the sync process.”
I want to be educated:****
Transaction construction:
Ease of use
Authentication features are quite important to users, they especially like it when the authentication features are on default.
Also when the recovery process is important that they feel they can recover their wallet quickly and easily.
Users also want assurance that their privacy is being protected on Sparrow this is being done by using a color code.
Fees Being able to adjust fees as well as the ability to consolidate fees is something that is important to users.
Self custodial The wallet being self custodial was also a philosophical reason as to why users mentioned that they could not support a custodial wallet.
Testing A few people who were using Bitcoin QT were using it for testing purposes.
When asked when was the last time that they opened bitcoin core as well as the context in which is used. There were 3 main use cases they are mentioned below. Secondary to these 3 main use cases were other smaller use cases.
We received the following insights:
- Node runner: The largest group was running a node - Data enthusiast: The second largest group were using it to access blockchain data - Transactor: The third largest group were using it to transact
I use core to run a node
I use core to access blockchain data
I use core to make transactions
When asked when was they enjoyed about using core, the top two aspects where:
Secondary reasons were:
When asked what they found frustrating about using core. There were 3 areas that were the primary frustration points:
Next to those larger areas people found on a smaller scale the following to be frustration points:
The interviews provided some insight into the push that drove people to use Bitcoin Core in the first place, the biggest pushes being pure curiosity as well as node running. It also revealed that the current user base consists mostly of experienced bitcoiners most of which have used a wallet for over four years and have multiple wallets for different use cases, with Sparrow being the most popular.
Common concerns during while using the software included the time taken to sync and a lack of understanding of the software.
Some recommendations based on the research would be:
The visualization of transactions as well as a wallet generally being easy to use is what makes users feel in control when using a bitcon wallet.
The top 2 reasons that bitcoin core was being used was for node running as well as to access blockchain data. Further research to understand the needs of node runners as well as what blockchain data is being used would further support this project in understanding its users.
We would like to thank everyone involved in the research sprint. Many helped to conduct interviews and the process was very much a community effort.
We did rapid prototyping on the onboarding and create single-sig wallet flow. The goal of the prototyping was to bring user feedback directly back to the design before it goes into development.
The prototype was tested on 6 people
Created a prototype which we called V1
Tested the prototype on new and existing users (4 people)
Iterated on prototype based on feedback
Tested the prototype on new and existing users (2 people)
Iterated on prototype
The goal of the user test was to evaluate the "Receive flow" in the Bitcoin Core app. Participants were asked to generate and share a Bitcoin address for payment of 2 pizzas. After completing this task, the app simulated several months of wallet activity, and people were then required to locate the transaction ID for the pizza transaction.
Receive Flow Simplicity The receive flow was pretty straightforward and clear. Person easily navigated through the process of generating and sharing a Bitcoin address. Finding Transaction ID: Person quickly located the transaction ID for the initial transaction during the second part of the test, showing that the search functionality was intuitive.
Task Flow The overall flow for completing the tasks was natural and simple. Currency Conversion: When entering the amount of sats to send, he said they'd like to see the equivalent amount in USD or their local currency. He said it would help understand the value of the transaction better.
I think this icon/option might be related or something here, couldn't use it so not sure
Transaction History:
And the "Request History" made sense to this person, he said it makes sense to have it accessible both on the activity page and here underneath the receive section because it's better ease of access.
Activity "I don't know what is node button, some kind of like, is it color sats symbol? some progress thing" "Looks very neat, and clean and I like that, not too many distractions" "Very straightforward, very user-friendly, because of the search bar, it's easy to click the transaction or label" File icon: "I don't know what it would be, kinda feels like copy" Commented he could use inner blockchain explorer not to rely on mempool space "I've been used to clicking on these links (to mempool) waiting for transactions to confirm, especially with price hikes" "If I would use it again and could do everything without going to external services, this would make it more appealing"
Transaction details "I wouldn't see how many size per vb I would have payed - I'm used to read sats per vb" "Lots of wallets have a link to mempool, so they can look at the transaction directly in the blockchain"
Receive
User requested use keyboard arrows up and down to increase/decreasebitcoin "I would like to choose a defined earlier address from dropdown menu so I can choose previous address" "It was straightforward"
Payment request
Address type missing from payment request User requested address label to be private User thought he is inscribing label on the blockchain He wanted to add a message and inscribe on a blockchain, he thought he can do it in core "QR code seems quite small, may be difficult to read" "This screen is very nice, seems to be pretty minimalistic" "Address split in different parts is useful, good for malware protection"
UX Research documenting the process
UX research will be done on both the designs as well as the implemented designs. This issue serves to document the insights from the research.
The roadmap:
Link to Figma file showing roadmap
The testing process will be broken down into doing research with new and existing users. Split up into
Design
This will involve testing prototypes of the designs.
Implementation and development
This will involve testing the designs after they have been developed.
End to end
Testing the entire user flow from beginning to end