Designing and testing experiences for blockchain - UXaudit.io

Designing and testing experiences for blockchain - UXaudit.io

The user experience for blockchain



- Nidhi Rai, UXaudit.io
10th May 2018

In the coming decade, the world will witness the greatest paradigm shift due to blockchain. We now have the potential to rewire services and processes across the globe.

We have only started to explore how we can implement blockchain technology. Currently, it's generating tremendous interest as it is becoming more mainstream and accepted. Terms like crypto, bitcoin, and blockchain are being included in general conversation and vocabulary, creating increased curiosity amongst people. Blockchain has led to an explosion in the tech industry resulting in development of many blockchain applications.
blockchain design
People are still striving to learn about the advantages of blockchain and what it signifies for them. Mostly people’s introduction to blockchain tech is through cryptocurrency trading. But it doesn’t take an expert to understand that design has been ignored on exchanges. The usability is appalling and transferring crypto to and fro among wallets is a nail-biting experience.

Let’s understand what is blockchain?


In a general sense, a blockchain is a type of database. But what makes blockchains different is that rather than being run by a single organization (like Google or Amazon) they are managed by a distributed network of participants. There is no true or real version of the database. Instead, every member of the network can manage and update their own copy. This redundancy removes the chance of a single point of failure.

Why Design is important even for blockchain?


As decentralized apps and other blockchain tech start to gain fame, these startups must understand that they are facing the tech companies that already exist. Even if your product comes with fancy blockchain tech driving it, the non-blockchain industry can still crush you with a better customer experience.

People, in general, don’t care about blockchain technology, they care about having answers to their everyday problems. If you don’t invest the time and effort into finding those problems and solve them better than the non-blockchain organizations can, then the blockchain technology loses.

The apps that welcome people to the world of blockchain need to be functional but they also need to be user-friendly. Right now these apps have flows that make you press 10 separate keys just to see your Bitcoin value. That won't work with the users! But solely design isn’t going to solve all of these problems. A collaboration between design, engineering, and business is required for a good product.

That being said, here’s some tips to keep in mind when designing for blockchain.
  1. Know Your User

    If blockchain is to gain mass adoption, organizations building products need to communicate with users early and frequently. The public needs an application that meets a high standard of quality, design along with usability relative to what they’re used to now. If you can’t meet that, mass adoption is a distant dream.
    Define your target audience for your product and talk with them via interviews, surveys, and user testing. This will help you reveal issues you might not have seen until after launch. Test your assumptions, it helps you validate your product idea, letting you build the right product based on exact consumer behaviour.

  2. Trust

    Blockchain is a new technology and public has very less knowledge about it, applications need to be more watchful about how they go about developing that faith when launching products using blockchain. Our products should be perceived by users as authentic, reliable, and stable. Achieve this through cautious data exposure, anticipating mistakes, feedback, and active guidance.

  3. Irreversible actions

    While building a UX for blockchain-based products, give an additional attention to user operations that are irreversible. In blockchain, you can’t undo your action. As most of us are new in this blockchain technology, aware your users: end-users actions are irreversible.

  4. Loader

    An average blockchain action takes much longer than what the user is used to. The transaction on a decentralized blockchain takes a much longer time than it does on a centralized network. The user requires feedback on the status of their transaction during this time. Loading times of a few milliseconds changing to a few seconds or even minutes isn't a step forward.

Testing Blockchain


Testing Blockchain isn't really different from any other application that you would test. The same logic and critical thinking you use for testing non-blockchain applications still apply. Testing techniques like boundary value analysis, functional testing, performance testing, security testing applies to Blockchain. Let’s take the example of Bitcoin apps and understand what are their usability flaws:

1. No Undo Button: Suppose you send a $1000 to the wrong wallet, there is no coming back, the money is gone. That’s a very high price of error for the users

2. Ugly Address: See this screenshot of Bitcoin-Qt, the original Bitcoin desktop wallet, any chance you can remember the address?
error in blockchain
3. Poor Response Time: One of the nuisances of the blockchain as a decentralized platform is the sheer extent of lag before a transaction gets settled. One confirmation in the Bitcoin system takes ten minutes on average. According to Jakob Nielsen article, 10 secs is the limit of keeping your user’s attention, beyond that they start performing other tasks like switching apps.
transaction cycle of blockchain

Source

    That being said below are few testing techniques which you can apply to Blockchain:



  1. Smart contract testing

    The core of the blockchain validation method is the ‘smart contract. It refers to the set of software constructs that automatically execute transactions when pre-defined requirements and business logic are met. Testing smart contracts involve simulation of all possible expected and unexpected variables for every contract and the triggers that execute transactions. Smart contract testing demands an expert understanding of all possible situations, business and transaction variables, that are specific to blockchain implementation.

    smart contracts with blockchain
    Source

  2. Security testing

    Security testing is essential to blockchain application as it is used in highly secure financial, government offices. Check if the application is exposed to attacks? Is the authorization well established and robust? Does the system have the built-in ability to eliminate malicious attacks? Test for confidentiality, integrity, authentication, access, authorization are critical elements of security testing in blockchain applications.

  3. Performance testing

    One of the most significant measures of blockchain applications is speed. The performance varies with the size of transactions. Identifying performance bottlenecks like database configuration helps to decide if the application is fit for production.

  4. Critical Thinking

    The capability to critically examine and evaluate a problem is a timeless skill for testers. Think about scenarios like: Will transactions still pass if x, y, and z are not done? What happens if the network has a bunch of transactions remaining to validate? What feedback is given to the user in these circumstances? Is this feedback revealing any security risks?

  5. Test Design Techniques

    Understanding the basics of test design techniques, like boundary value analysis and equivalence partitioning, will make sure you are regularly thinking about and examining the inputs and outputs of the application.
    Things to examine could be: How will the application behave when you input values are within, on the border, and outside of the boundary? Will the transaction complete and if not, what type of error will be displayed? Again, the error messages displayed to the user should be intuitive and clear. One could use UXaudit.io as a tool that could be used for AB test of different error messages, just upload different designs and get user feedback on which design is more effective.

Conclusion


Designers are playing an essential role in how blockchain technology wins or loses in the near future. Designing for any product should concentrate on the user and their goals. Not the underlying technology. Don’t lose focus on how your product is making your user thrive. And don’t let the technology become the barrier, rather it should be the means.

With this I hope you would have got an overview of usability testing and all the peculiarities involved. I hope you enjoyed reading this article. Thanks for your time and feel free to add your comments below and let me know your thoughts about this article.



Nidhi Rai, UXaudit.io


I am a QA by profession with 5 years of experience on various automation technologies. I am highly passionate about experience design as an emerging field and an enthusiast to spread the importance of usability and usability testing. When I am not working I am mostly reading, writing, or traveling. I am from India but currently staying in the United States.


Follow me on twitter

FACEBOOK COMMENTS WILL BE SHOWN ONLY WHEN YOUR SITE IS ONLINE

ux audit facebook comments

Get latest articles in your inbox

Subscribe to our newsletter & we promise we won't spam