A 21-million foot leap

The crispest example I've ever seen that "How it Looks" is just one small part of Design

October 12, 2018
Jonathan Libov

The dog that leapt 31 feet is the most amazing thing I saw this week.



The second-most amazing thing, courtesy of Marty Bent's newsletter, was this nugget:

Here's a little tidbit on the origins of Bitcoin and why Satoshi decided to use base58 instead of base64 encoding when he was originally writing the code that would turn into Bitcoin. The man/woman/group/alien/ai had the prescience to use base58 over other options when creating public addresses so that users would not have any confusion between the "0's", "O's", "I's" and "l's" that would appear with other encoding schemes. A UX nightmare that may have caused innumerable headaches was avoided with thorough design thinking. As Guillermo and Santi point out above, the attention to detail is what sets Satoshi apart from everyone else.

It's an oft-repeated, difficult-to-internalize maxim that Design is not how it looks but how it works, This is the most crystalline example of this I've come across, particularly because that maxim often implies that it's the Designer's job to think about UX along with UI.

This nugget also reminds me to heed caution whenever I hear "it'll only take a week" in the course of designing software. Sure, some project might only take a day or a week, but what's so often wretching about building software products is that it compounds silently. The part of the system implemented one-week project will probably stay there for years, and all kinds of decisions will be made as a consequence of that part that's nested in the winding history of your software.

The UX nightmare Marty describes is what makes software so wretching, and what makes it so incredible that Satoshi — Bitcoin's Desingineer, so to speak — made a 21-million foot leap in choosing base58. Had he chosen (or rather, not had the presence of mind to make an alternative choice) base64, it would have almost certainly never would have been replaced, and the solutions to the UX nightmare would have been farther up the stack, and hence more diverse, more fragile.

There are no silver bullets to help your organization achieve this level of consciousness, and it's irrational to expect Satoshi-level genius from any member of your engineering team, but it's at least a testament to two things:

  1. Staying nimble enough to catch highly consequential design choices before it's too late
  2. Involving engineering in the design of a product as early and often as possible