Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UX Research: User testing #105

Open
mouxdesign opened this issue Apr 24, 2024 · 3 comments
Open

UX Research: User testing #105

mouxdesign opened this issue Apr 24, 2024 · 3 comments
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@mouxdesign
Copy link
Contributor

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.

  • Create wallet
  • Send and receive

Implementation and development

This will involve testing the designs after they have been developed.

  • Create wallet
  • Send and receive

End to end

Testing the entire user flow from beginning to end

Group 5 (2)

@mouxdesign
Copy link
Contributor Author

mouxdesign commented Apr 26, 2024

User Interviews conducted August 2023

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

Research goals

  • Understand the personas using Bitcoin Core
  • Understand the jobs to be done by each of these personas. This is as if users hire Bitcoin core to perform a job or a set of jobs.
  • Understand the parts of the UI that are being used more heavily than others.
  • Understand their struggles and hopes of people when using the GUI.
  • Understand what frustrates or makes people happy when using the GUI

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

  • 10 Years or longer: Larger bucket (more than half)
  • The majority of the people we spoke to have been using a wallet for 10 years or longer.

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:

  • Most people were using at least one or more wallets next to Bitcoin core.
  • Every person which we interviewed had more than one wallet.
  • Sparrow was by far the most popular wallet choice of current Bitcoin Core users.

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:

  • Sparrow
  • Electrum
  • Blue Wallet
  • Breeze
  • Zeus
  • Phoenix
  • BTC Pay Server
  • WOS
  • Peach
  • Mycelluim
  • Green Wallet
  • Bitkit

Insights

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

  • Fairly experienced in the bitcoin space, they have been using a wallet for many years now.
  • 4 years: This was the shortest time that an interviewee has been using a bitcoin wallet
  • 10 Years: This is the longest time that a interviewee has been using a bitcoin wallet
  • These more experienced users are using at the minimum two wallets or more, each one for a different use case.
  • Sparrow was by far the wallet that was used the most.

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:

  • They were not informed of the time it would take to sync and this resulted in them feeling confused.
  • They were not informed as to why the app remained stuck on 0% syncing.

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

  • Their fears came mostly from the feeling that they did not understand the software.
  • “I had this feeling of maybe it comes from not completely understanding..lets say you have to fly a plane and land it but you’ve never done it before.”

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

  1. Visualization
  • Users like it when the interface design makes them feel in control, what makes them feel in control is the visualisation of information. Sparrow wallet was the favourite here in terms of how they visualise information. Some of the points that were mentioned about how Sparrow does this well were:
  1. Addresses:
  • Shows all the addresses
  1. Transaction details:
  • Expand transactions and see UTXO’s
  • Add transaction notes
  1. Transaction construction:
  • Visualisation of transaction construction
  1. Ease of use
  • The interface was easy for them to understand
  • It was easy to transfer between wallets
  • The onboarding process was easy
  • The mobile user experience was good
  1. Assurance
  • 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.

  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

  • The visualization of constructing transactions, transaction details as well as seeing all of the addresses makes users feel in control.
  • Users want to fee that they can recover their wallet easily, Sparrow wallet has a visualization aspect that shows the level of the users privacy, this visualisation is something user liked.
  • Visualisation and ease of use were the two largest buckets in terms of what users like the most about the current wallets that they use.

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:

  • Reliability and trustworthy
  • Visibility of peers

Secondary reasons were:

  • Easy installation
  • Open source and helping decentralisation
  • Different features

Find frustrating

When asked what they found frustrating about using core. There were 3 areas that were the primary frustration points:

  • Connecting and syncing
  • Interface
  • Set-up and configuration process

Next to those larger areas people found on a smaller scale the following to be frustration points:

  • Console issues
  • Cannot batch transactions
  • No multiisig option
  • No option to manage PTSB’s
  • No BIP39 support
  • Customer support
  • Node/wallet separation
  • Development process
  • Output descriptors
  • Ordinal use

Conclusion and reccomendations

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:

  • Visualization:
  1. Addresses: Show users all the bitcoin addresses that they have
  2. Transactions: Expand the transaction information and allow users to add in transaction notes
  3. Visualization: Show users a visual construction of the transaction which they are making

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
Copy link
Contributor Author

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

  • 3 people who have never used Bitcoin Core
  • 3 people who are current users of Bitcoin Core

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

@GBKS GBKS added discover documentation Improvements or additions to documentation and removed discover labels Aug 5, 2024
@mouxdesign
Copy link
Contributor Author

mouxdesign commented Aug 7, 2024

Milestone 1.5: Activity

Test Objective

  • Tests done with 5 people
  • Both people were new to using Bitcoin Core App

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.

  • Blue triangle: Incoming funds in progress
  • Green triangle: Incoming funds received
  • Orange triangle: Outgoing funds

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:

  • Person also wanted to be able to see the USD equivalent when reviewing the transaction history. This would provide context for the value of past transactions.
  • Request History Confusion: After completing the "Receive Flow," the person talked about confusion about the "Request History" option. He questioned its purpose, as he felt that all transaction details could be effectively viewed and filtered within the "Activity" section. The presence of a separate "Request History" dropdown seemed redundant and unclear to him.

Observations PERSON 02

  • Receive Flow was simple as described above
  • Overall task flow was also intuitive and natural
  • Search Bar Placement
  • Person mentioned that it would be more convenient if the search bar was already visible on the activity screen, instead of having to click to reveal it. However, he also said that this is common in many apps, where you usually click the search icon to reveal the search bar, so he doesn't really mind it.
  • Request History Interaction
    Person was curious about what happens when clicked on a transaction shown in the "Request History" dropdown menu.

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"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

2 participants