This idea has been in me for a long time now and I mentioned it in many places, for example in ZeroLink’s specification, because it does not only provide fun user experience, but it also incentivizes more conscious Bitcoin wallet usage, which is a must for privacy. In the previous version of HiddenWallet I implemented a privacy oriented coin control, where I believe I provided a decent user experience, however that approach was just a compromise, what I really wanted to do is a fully visualized wallet.

Traditional Wallet UX

Think about how a Bitcoin wallet looks like today. Developers are using the most basic building blocks they have. Tabs, Menus, Lists and Tables. That’s all it is.

From another point of view, a Bitcoin wallet is an attempt to translate what’s happening on the blockchain towards the users. However, let’s think outside the box and ask the question: can we do it differently? And the answer is: definitely maybe.

Visualized Wallet UX

Imagine you open your wallet and you don’t meet with the usual tabs, lists and tables, but with a bunch of circles.

Hmm? Does it remind you of something? Yes, it’s like opening your physical wallet, those bubbles are coins, these coins have values:

However, unlike physical coins, these coins also have histories:

Those rectangles are Bitcoin transactions and those coins are transaction outputs. You can also show what is not inside in your wallet:

It’s much better if your wallet can do labeling so the data makes sense.

Confirmations? Unspent coins? There are so many ways to play with the colors, shapes, shadows, opacity, etc…

If you click somewhere to generate a receive address.

Build a transaction by dragging coins from my wallet and dropping them into a basket:

Such user experience makes Bitcoin wallets more fun, more importantly it helps its users’ to make educated decisions whenever making a transaction, therefore improving their privacy.

When I designed ZeroLink, this is what I meant by “Visualized Wallet User Experience.”

While I don’t promise I will roll this out, right now, as I am reworking HiddenWallet (with Lucas) to be a privacy preserving light client (it is full block downloading SPV wallet today) I am putting down the building stones, so I will be able to roll this out.

At last I leave you with an NBitcoin code snippet, what I am working on right now. Here I modeled a circle in my picture, a coin, which I named SmartCoin, because there is already a Coin object in NBitcoin:

Edit: I’ve found a video on a 3D block explorer. This is close to what I described in this article.