On Bitcoin's UXwww.swanbitcoin.com
There is an ongoing discussion in the Bitcoin space revolving around the topic of user experience, or UX for short. Bitcoin still feels weird, clunky, and complicated at times. The main reason for this is that Bitcoin and its parts (the network, the protocol, the cryptography, the scripting language) are indeed weird, clunky, and complicated. Just like the internet was, and, arguably, still is.
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) countless layers of abstraction make interacting with the base protocol easier. Related technologies such as plug-and-play helped to make the user experience even better. Gone are the days of manually setting the IRQ number of your network card!
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 Lightning Network (made possible thanks to SegWit) for granted as well.
My point is, all of these under-the-hood, technical improvements are insanely important for UX. Without them interacting with the Bitcoin network would still be hell. Seed phrases? Easy wallet recovery? Lightning Network? Forget it! Yet, all these improvements are insanely technical and require technical discussion. More improvements are coming down the pipeline (Schnorr, Taproot, and more), so expect discussions in the Bitcoin space to remain technical for quite some time to come. Think “Linux” — not “iPhone”.
Speaking of iPhones: The tension seems to be between tinkerers and users coddled by iPhones & Co., expecting everything to work perfectly and be super-duper easy to understand 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 sufficiently optimized most innovation will happen on higher layers.
I believe some people closer to the engineering side are simply tired of the “it’s so complicated, 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 improvements so that everything will be easier and better in the future (thank you core devs!), others are working on the wider ecosystem (Raspiblitz, BTCPay Server, Umbrel, etc.), and others on education 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.
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 essential, 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 mathematics, or neutrality, or a multitude 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 tradeoffs, always.
Focusing purely on maximizing UX might lead to suboptimal results in the long run. Just compare Facebook, TikTok, and the walled garden of iOS to permissionless open protocols and the FLOSS ecosystem. Personally, I will always choose freedom over convenience.
The future is bright. We just have a lot of building to do.
Want to help? Get involved! Join the conversation 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 translate 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? Participate in the Bitcoin Core PR Review Club and review open pull requests. Onwards!