On Bitcoin's UX

www.swanbitcoin.com

There is an ongoing discus­sion in the Bitcoin space revolving around the topic of user experi­ence, or UX for short. Bitcoin still feels weird, clunky, and compli­cated at times. The main reason for this is that Bitcoin and its parts (the network, the protocol, the cryptog­raphy, the scripting language) are indeed weird, clunky, and compli­cated. Just like the internet was, and, arguably, still is.

Before LNP/BP and TCP/IP there was IPX/SPX.

The reason why the internet doesn’t feel as clumsy anymore is twofold: (1) people got used to a lot of the novel concepts the internet brought with it, and (2) count­less layers of abstrac­tion make inter­acting with the base protocol easier. Related technolo­gies such as plug-and-play helped to make the user experi­ence even better. Gone are the days of manually setting the IRQ number of your network card!

What is an IRQ?

Just like the internet, Bitcoin is an evolving ecosystem. Keep in mind that a¬†lot of things have already changed for the better. For example, the first wallet that supported QR codes was released in 2012. XPUBs (BIP32) were proposed in the same year. Seed phrases (BIP39) were proposed in 2013.¬†BIP44¬†(HD Wallets, aka ‚Äúaccounts‚ÄĚ) came in 2014. SegWit (BIP141) was proposed in 2015 and‚ÄČ‚ÄĒ‚ÄČafter a¬†prolonged civil war‚ÄČ‚ÄĒ‚ÄČactivated in 2017. Today, most people take QR codes and seed phrases for granted, not realizing that these weren‚Äôt always part of Bitcoin. I‚Äôm sure that some take the Light¬≠ning Network (made possible thanks to SegWit) for granted as well.

My point is, all of these under-the-hood, technical improve¬≠ments are insanely impor¬≠tant for UX. Without them inter¬≠acting with the Bitcoin network would still be hell. Seed phrases? Easy wallet recovery? Light¬≠ning Network? Forget it! Yet, all these improve¬≠ments are insanely technical and require technical discus¬≠sion. More improve¬≠ments are coming down the pipeline (Schnorr, Taproot, and¬†more), so expect discus¬≠sions in the Bitcoin space to remain technical for quite some time to come. Think ‚ÄúLinux‚ÄĚ‚ÄČ‚ÄĒ‚ÄČnot ‚ÄúiPhone‚ÄĚ.

git was different in 1998

Speaking of iPhones: The tension seems to be between tinkerers and users coddled by iPhones & Co., expecting every­thing to work perfectly and be super-duper easy to under­stand RIGHT NOW.

Well, it isn‚Äôt. Just like one had to know what an IP address is and how packet switching works in the early days of the internet, you kinda need to know what an XPUB is today. DHCP basically got rid of the IP addresses problem, just like Google did away with the ‚Äútyping in exact URLs‚ÄĚ problem. All of that will be true for Bitcoin as well. It just won‚Äôt happen overnight.

The base protocol will probably slowly ossify over time, just like the Windows TCP/IP setup dialog ossified over time. Once the base layer is suffi­ciently optimized most innova­tion will happen on higher layers.

Cool. Now that we've got the UI sorted let's upgrade to IPv6.

I believe some people closer to the engineering side are simply tired of the ‚Äúit‚Äôs so compli¬≠cated, it should be easier‚ÄĚ line. Yes, we agree, all of it should be easier, and we are all doing our best trying to make it so.

Some are building products that are easy to use (Strike, Casa, Coinkite, Samourai, etc.), others are working on protocol improve­ments so that every­thing will be easier and better in the future (thank you core devs!), others are working on the wider ecosystem (Raspi­b­litz, BTCPay Server, Umbrel, etc.), and others on educa­tion and outreach so that more people can get on board and help to make Bitcoin better.

Over time, people will get used to the concepts that we can’t abstract away. I’m convinced that things will get easier, just like connecting to a network is easier than it was in 1995.

Make good things.

Bitcoin is a¬†new paradigm, just like the internet was. Just like there was no way around email addresses (‚ÄúWhat‚Äôs this strange @ sign?‚ÄĚ) and URLs (‚ÄúWhat‚Äôs http/https/ftp/ssh?‚ÄĚ) there is currently no way around bitcoin addresses, private keys, and, you guessed it, XPUBs.

Some concepts are essen­tial, removing them because you want a better UX might turn out to be fatal. Remove packet switching (net neutrality) from the internet, and you destroy what made the internet great in the first place. Remove self-custody (or account-creation via mathe­matics, or neutrality, or a multi­tude of other things) from Bitcoin, and you destroy what makes Bitcoin great in the first place. It goes without saying that self-custody will always be worse in UX terms when compared to letting someone else take care of things. Similarly, setting up your own domain and hosting your own website will always be more hassle than creating a Facebook page. It’s a matter of trade­offs, always.

Focusing purely on maximizing UX might lead to subop­timal results in the long run. Just compare Facebook, TikTok, and the walled garden of iOS to permis­sion­less open proto­cols and the FLOSS ecosystem. Person­ally, I will always choose freedom over conve­nience. 

The future is bright. We just have a lot of building to do.

Gigi

Want to help? Get involved! Join the conver­sa­tion on Twitter and  Telegram. In love with design? Join the Bitcoin Design Slack workspace organized by our friends at Square. Good with languages? Help to trans­late bitcoin core and other open-source projects to your local language. If you’re especially ambitious you can try to create a BIP39 word list for your local language. Not afraid of code? Partic­i­pate in the Bitcoin Core PR Review Club and review open pull requests. Onwards!


I hope you have enjoyed this article. If you did, feel free to share it, translate it, drop some applause on medium, or even some sats via the beast that is Bitcoin. You can also support me on Patreon. If you have any suggestions, feel free to drop me a line. Thanks for all the encouragement and your generous support, and thank you for reading.