A stronger vault abstraction instead of "coin" language
We've been discussing the UI and UX a lot lately with all the demo tests, and getting valuable feedback for Kevin and Jake from a "blunt" software perspective. By this i mean that since they did not assist to the incremental development, they could raise fundamental questions on the layout and clickpath.
I touched about it during the last meeting but it seems to me that increasing the abstraction of a "vault" at the expense of onchain transactions details would address a lot of these concerns. For example take the confirmation of the deposit transaction:
- The transaction is technically confirmed after a block
revaultdwill tell it'sfundedafternblocks (6right now but configurable soon :tm:)revaultdwill tell it'sunconfirmedotherwise It may be confusing to the user (and it was to our pro testers) to have a confirmed transaction denoted as unconfirmed. I think that's an instance where a stronger "vault" abstraction would help:- Not deeply confirmed: "vault is not matured yet"
- Deeply confirmed: "vault is mature"
I think there is a number of other places where removing the Bitcoin language for a simpler one (effectively coining a vault language if i may :p) would help, even though here i just reused the coinbase one.
Opening this issue to gather feedback and point to other places where it would benefit. What do you think @edouardparis @danielabrozzoni @kloaec ?
Fixes #85 Fixes #69
Another one could be for the managers. Currently the GUI is just replicating the raw logic / terminology of revaultd. It should instead be an abstraction layer for the user.
For instance, you should not "sign", "share and update" (why update???), "broadcast". We could use for example:
- Initiate a Spend
- Participate in a Spend
- Finalize a Spend
#101 #103 are related to this issue.
I think first step could be to remove "acknowledge vaults" to "create a vault", and replace "acknowledged funds" to "secured funds"