I’d like to continue the discussion from #17395 over at the bitcoin repo started by @michaelfolkson.
The two questions posed by Michael a long with summarized replies from the original thread are below. As someone who is interested in contributing to the design of the GUI I’ve also included some of my own opinions throughout.
- Who are we designing the GUI for? Long term Core contributors (highly technical) that use the GUI on a regular basis? I don’t know how many of these there are. Technically curious who use the GUI when they can’t work out how to do something from the command line? Complete Bitcoin beginners? All of these groups? If it is the latter then we should all be under no illusions that compromises are necessary which will mean it is impossible for the design to be optimal for an individual group.
- Design preferences are subject to the “sample size of 1” trap where those reviewing GUI changes think they are providing feedback on behalf of a group that they don’t belong to. A highly technical user just does not know what is optimal for a beginner. The only way you see what is optimal for a beginner is putting alternative GUIs in the hands of a statistically significant group of beginners.
- The GUI is intended for ‘power users,’ not beginners, intermediate or devs. Power users being those who are technically competent to run their own node, have basic CLI skills, but are still more comfortable with a simpler UI.
I think devs also fall within the user base albeit not as frequent as the power users (say if the dev wants to do a simple task in a few clicks). Over time and with good design we can include all users (see below).
- In the future the GUI should also include beginners and intermediate users, although not at the expense of removing important features or negatively impacting security, privacy, control etc.
I don’t see this as an issue as good design should be able to cater to both experienced and inexperienced users. As an example see this exchange which offers different interfaces for differing user skills - taken from crypto UX handbook. Good usability is synonymous with good security - Casa articulates this much better in their wealth security protocol.
- The GUI does not need to be flashy / modern looking.
I agree with this but this is in many ways unrelated to good design. A flashy look can increase usability is not synonymous with Aesthetics. As long as its fulfills its job thats all the matters. At this stage that job being having any level of user being able to run a node and have a wallet attached to that node (whether wallet features are used in the GUI or
- Designers need to work within the constraints of Qt.
Good point to make but I don’t think the constraints are as big as made out to be in the original thread. As Christoph Ono, who worked on the designs for the Monero GUI which also uses Qt, pointed out a small team managed to revamp the UI/UX of the GUI over a few years without too many issues, see here. @GBKS
- Having a modular GUI / multiple implementations to cater to different user bases.
As I mentioned above I think good design can cater to all audiences within the same app, having a modular GUI is not an efficient way to go about things in my opinion.
- What is the main purpose of the GUI? “Note that the GUI is needed for more than just the wallet… right now, it is the only realistic way for a normal end user to run their own node at all.” @luke-jr
Luke also mentions “…Bitcoin’s security depends on a super-majority of the economy using their own full node.” This isn’t possible without including beginner and intermediate users which can only be done through well articulated design.
Although this will likely be a controversial take, is the discontinuation of the GUI once enough options exist outside of core for users to run a fully validating node an option? Projects such as Umbrel and myNode are good examples of non-GUI fully validating nodes. If these become more popular among users for running a node than the GUI, is the resources put into it worthwhile when they could be applied to making bitcoins foundations even stronger?
With initiatives such as Bitcoin Design and square crypto design grants on offer, many more designers are likely to start contributing to open source bitcoin projects like the GUI. It’s important that discussions like this happen so that designers and devs are on the same page.
I’d encourage devs to join the bitcoin design slack and for designers to frequent this repo and join in on discussions when they can.