BitcoinDesign / Bitcoin-Core-App

Tracking the design process for the Bitcoin Core App.
https://bitcoincore.app
MIT License
56 stars 11 forks source link

UX Research: User testing #105

Open mouxdesign opened 7 months ago

mouxdesign commented 7 months ago

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

Group 5 (2)

mouxdesign commented 7 months ago

User Interviews conducted August 2023

The following data is from User interviews that were conducted at a conference in 2023

Research goals

Process

Step 1: Plan the sprint

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.

Step 2: Create interview script

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.

Step 3: Connect with people

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.

Step 4: Evaluate the conversations

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.

Bitcoin Core current user profile

Duration they have been using a bitcoin wallet

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

Wallets used next to Bitcoin Core

Observations:

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:

Insights

The current user of Bitcoin core tends to be a bitcoiner who is:

The push: What pushed them to start using Bitcoin Core?

Pushes

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:

The top 3 reasons were:

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.”

Fears during push stage

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:****

What do you like the most about the wallet you use?

  1. Visualization
  1. Addresses:
  1. Transaction details:
  1. Transaction construction:

    • Visualisation of transaction construction
  2. Ease of use

  1. Assurance
  1. Fees Being able to adjust fees as well as the ability to consolidate fees is something that is important to users.

  2. 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.

  3. Testing A few people who were using Bitcoin QT were using it for testing purposes.

Insights

Consumption

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

Node runner

I use core to run a node

Data enthusiast

I use core to access blockchain data

Transactor

I use core to make transactions

Enjoy about core

When asked when was they enjoyed about using core, the top two aspects where:

Secondary reasons were:

Find frustrating

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.

Visual Version

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

mouxdesign commented 6 months ago

UX Research update

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

The process:

Step 1

Created a prototype which we called V1

Step 2

Tested the prototype on new and existing users (4 people)

Step 3

Iterated on prototype based on feedback

Step 4

Tested the prototype on new and existing users (2 people)

Step 5

Iterated on prototype

mouxdesign commented 3 months ago

Milestone 1.5: Activity

Test Objective

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.

Prototype link

Prototype testing results:

Observations PERSON 01

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 Screenshot 2024-08-07 103248

Transaction History:

Observations PERSON 02

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.

Raw data

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"