Noah is a mobile Ark wallet using Second's client Bark. We're seeking a complete UI/UX revamp that prioritizes simplicity and ease-of-use over feature density. This end goal is both a technical challenge and a design challenge. The Ark protocol with its VTXO concept has the ability to be more user-friendly than traditional Lightning wallets that use channels via LSPs.
The core design principle is to keep things simple on the surface, but reward curiosity. The wallet should feel approachable and unintimidating to newcomers, while offering curious users natural pathways to discover more. This is similar to the approach used in Blixt Wallet, where power features existed but weren't thrown in users' faces from the start.
However, we're moving away from the "power user wallet" paradigm that Blixt ultimately became. While Blixt was feature-rich and capable, it led to a maintenance burden for the team.
The inspiration here is wallets like Muun, which managed to abstract away the complexity of Bitcoin and Lightning by presenting a unified balance and keeping the interface minimal. Users didn't need to understand channels to use Muun as the underlying architecture didn't use channels. Similarly, Noah, courtesy of Ark, does not use channels. However due to VTXO expiry, we need to make the user somewhat aware of how it works.
Unlike purely minimalist apps, we want to reward curiosity. If a user taps on a transaction to see more details, they should find useful information. If someone wants to understand what's happening under the hood, there should be a path to that knowledge.
Here are specific design decisions that should guide the design:
Lightning Address as the star feature: This is the primary way users receive payments. The Lightning Address should be displayed prominently throughout the app. When users tap "Receive", they should see their Lightning Address with a QR code that embeds the underlying LNURL-pay code. This goes hand in hand with our "offline" payment support. Users can receive payments even when the app is closed via "silent push notifications" to wake up the app.
Camera-first send flow: When a user taps "Send", they should immediately see the camera for scanning QR codes. This is the fastest path for in-person payments. Manual entry (typing a Lightning Address or pasting an invoice) should be easily accessible but secondary.
Pedagogic onboarding: We need a simple onboarding flow that gets the user up-and-running. The user should be able to register their Lightning Address, save their seed phrase and have the option to onboard to Ark.
Unified balance display: Ark makes it possible to have a single balance due to the ability to send transactions on-chain with your Ark funds. Although Bark itself has an internal onchain wallet, this is not being supported by the app. This is in stark contrast to Blixt which gave access to the internal wallet from the GUI. When offboarding from Ark in Noah, the user needs to provide an external bitcoin address.
When looking at what works at a technical level in the Bitcoin wallet space, Aqua Wallet and Muun Wallet stand out for getting the user experience right. Due to not being pure Lightning clients using channels, they were able to achieve good user experience with swapping. In Aqua through Liquid->LN swaps, and Muun through mainchain->LN swaps. Ark is reminiscent of these ideas, but instead does swaps offchain as Ark out-of-round payments.
Looking at the broader space of what UI design we found compelling, Phantom, Family, Fuse, and Muun comes to mind.
Phantom has a great welcoming design. They also seem to have some kind of handle, displayed in the bar at the top, which could align well with our Lightning Address ideas. It has a decent onboarding, with the handle registration part of the flow.
Family has similarly great visual design, and aligns well with what we want to do with Noah. It has a great (albeit a bit too long) onboarding flow. It also seems to feature "accounts", but presumably for other reasons than a pay handle (I suppose the name of the app gives a hint).
Muun Wallet is a great example of keeping things simple. The main screen is without any clutter, only showing the balance and send/receive buttons.
Beyond designing the specific screens for the initial release, we appreciate help with a comprehensive design system and component library. We're thinking a clear visual identity, with fonts, colors/accents, paddings, font sizes, etc. Also design for common components like buttons, input fields, cards, modals, tabs etc.
This way later on if we decide to add e.g. a contact list, we have some guidelines and components to work with. This was a huge issue in the past with Blixt, where I (Hampus) as a non-designer made most designs arbitrary.
For now the focus is simply paying, receiving, and conventional wallet necessities like onboarding, backup, settings, etc. However in the future we will look to add features like: Lightning Address & Nostr Contact List, LNURL-pay protocol spiritual successor, Point-of-Sale functionality, Credit card integration etc.