Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UX Suggestions #435

Closed
zndtoshi opened this issue Nov 6, 2019 · 7 comments
Closed

UX Suggestions #435

zndtoshi opened this issue Nov 6, 2019 · 7 comments

Comments

@zndtoshi
Copy link

zndtoshi commented Nov 6, 2019

Hi. I played a bit with Joinmarket and wanted to provide some suggestions you could consider:

-Change name from Joinmarket to Joinmarket Wallet.
-Create a website that explains how to install it. Github is scary for normal users (even though it is easy in reality).

-Try to communicate with the Bitcoin node without having to right click and resync (like Electrum)
-show number of confs and balance for each address in JM Wallet tab.

-move Settings tab on top next to Wallet and About tabs. Users don't need to see this.

-rename "Single Join" to "Send" and move it to JM wallet tab for who wants to send coins from internal wallet without coinjoining further. Consider adding also a button "Receive" to show first Mixdepth0 address and also QR code (more user friendly)

-rename "Multiple Join" to "Coinjoin", shortly explain this is to do a coinjoin and at the end of which coinjoined coins are sent to an external wallet or coldstorage. After each hop add a green ticker in the schedule list.

-Pressing the "Generate tumble schedule" should prompt direclty to requesting the external destination addresses. Further settings should only be done by ticking or dropping menu with "Advanced settings" under the 3 addresses.

-Add "Coinjoin yield generator" to QT, shortly explain this is providing liquidity to people wanting to do coinjoins and yields a bit of profit. Having this will vaslty increase wallet usage and also profitability for all liquidity providers including existing ones. This would help the following change:
-Inside Mixdepth remove External, the xpubs, and Internal, they're just confusing the users and consider adding an green colored icon for the coinjoined addresses and red for the linkable ones.

@AdamISZ
Copy link
Member

AdamISZ commented Nov 6, 2019

Thanks for review, point by point to follow (but want to mention there is an old issue #43 with several suggestions, specifically about layout in Qt, that has been dormant, if anybody's interested in looking into that aspect).

-Change name from Joinmarket to Joinmarket Wallet.

Maybe. No strong opinion. It is, arguably, more than a wallet.

-Create a website that explains how to install it. Github is scary for normal users (even though it is easy in reality).

Makes sense. PRs welcome.

-Try to communicate with the Bitcoin node without having to right click and resync (like Electrum)
-show number of confs and balance for each address in JM Wallet tab.

This is very important, and for more than one reason. Luckily it's already been done! (recently) - in #359 and is now merged in master, so some are already using it and it will be in next release. Note that that PR also improved a couple of other things about the Qt interface.

-move Settings tab on top next to Wallet and About tabs. Users don't need to see this.

Not entirely sure here. And not entirely sure what you mean UI wise, are you saying keep it in the menu and not a tab? I think that makes sense, yes. Unfortunately though, note that users today cannot ignore settings entirely, as they have to configure Bitcoin Core (rpc settings).

-rename "Single Join" to "Send" and move it to JM wallet tab for who wants to send coins from internal wallet without coinjoining further. Consider adding also a button "Receive" to show first Mixdepth0 address and also QR code (more user friendly)

This makes sense, largely, but it sounds to me like part of a broader overhaul to bring the interface in line with how most wallet GUIs work. It would probably involve ditching the current WalletTab design and changing it significantly. What I did here back in the day was just to make a fairly basic replication of the existing command line function for wallets (which is also not super user-friendly, but also has the quality of giving a very detailed view of the wallet) ... so it's still more on the relatively-expert user side of things.
I know I'm waffling a bit, but I'm trying to say that to redesign the Qt to the extent that it's genuinely user-friendly is a big deal, and needs a lot of thought given the sophistication of what Joinmarket is offering.

-rename "Multiple Join" to "Coinjoin", shortly explain this is to do a coinjoin and at the end of which coinjoined coins are sent to an external wallet or coldstorage. After each hop add a green ticker in the schedule list.

Disagree there, for all that a single coinjoin is not very useful, it is still a coinjoin, so we can't re-interpret the meaning of that word.

After each hop add a green ticker in the schedule list.

There is already another issue for this, see #33 .. (so obviously I agree).

-Pressing the "Generate tumble schedule" should prompt direclty to requesting the external destination addresses. Further settings should only be done by ticking or dropping menu with "Advanced settings" under the 3 addresses.

Smart idea, thanks. For the other settings though, it's not quite as much as I was saying in the video "oh you can ignore all that". At minimum, you should decide what timing you want and we should make it as clear as possible what the number you choose means. Secondly, I'd want a person to make a conscious choice about average number of counterparties, since it affects their cost and also their privacy effect. Anyway your general point is clear, and correct, but it'll need work.

-Add "Coinjoin yield generator" to QT, shortly explain this is providing liquidity to people wanting to do coinjoins and yields a bit of profit. Having this will vaslty increase wallet usage and also profitability for all liquidity providers including existing ones

I used to consider this a very low priority, because we never really had a shortage of people willing to do CLI yg, and also people who do this should be experts (since they run a custom hot wallet for long periods), but I have changed my mind about this recently, for two reasons: (1) encouraging people to mix roles (Taker, Maker) is good for overall health/privacy effect of JM and (2) I realised it'll be pretty easy to add it to the Qt, modulo adding some new GUI dialogs, and modulo a bunch of testing work of course.

-Inside Mixdepth remove External, the xpubs, and Internal, they're just confusing the users and consider adding an green colored icon for the coinjoined addresses and red for the linkable ones.

This directly relates to an earlier point about the nature of the wallet UI, so refer to that. Re: linkable vs not, that's a can of worms.

@zndtoshi
Copy link
Author

zndtoshi commented Nov 6, 2019

Thank you for taking the time to answer to my ideas. I am not a power user, but I do like to get my hands dirty and learn. I agree that getting more users on both sides of maker/taker would just increase the crowd we want to blend in and giving the option to the average users to take the maker side would increase the popularity of the software.

@fr3aker
Copy link

fr3aker commented Nov 6, 2019

-rename "Multiple Join" to "Coinjoin", shortly explain this is to do a coinjoin and at the end of which coinjoined coins are sent to an external wallet or coldstorage. After each hop add a green ticker in the schedule list.

Disagree there, for all that a single coinjoin is not very useful, it is still a coinjoin, so we can't re-interpret the meaning of that word.

But renaming it to "Tumble Coins" might be helpful. On IRC it is still apparent than many new users don't understand that a single cj provides no meaningful anonymisation in its own.

@kristapsk
Copy link
Member

-move Settings tab on top next to Wallet and About tabs. Users don't need to see this.

Not entirely sure here. And not entirely sure what you mean UI wise, are you saying keep it in the menu and not a tab? I think that makes sense, yes. Unfortunately though, note that users today cannot ignore settings entirely, as they have to configure Bitcoin Core (rpc settings).

There is currently one thing about GUI settings tab - you cannot use it make initial RPC configuration, because JoinmarketQt will abort at the start-up with ConnectionRefusedError. I have idea for some time to maybe move configuring part to separate GUI application, which could then be called from JoinmarketQt menu, but also could be run separately for initial config (and possibly, some wizard for that could be implemented too).

-rename "Single Join" to "Send"
-rename "Multiple Join" to "Coinjoin",

I have similar diea for some time, to instead of having "Coinjoins" tab with "Single" / "Multiple" sub-tabs, instead have "Send" and "Tumble" tabs. (+ "PayJoin" with "Send" and "Receive" below in the future). Current "Single Join" is not quite correct name, because you can do both simple sends and coinjoins from there.

-Inside Mixdepth remove External, the xpubs, and Internal, they're just confusing the users and consider adding an green colored icon for the coinjoined addresses and red for the linkable ones.

This directly relates to an earlier point about the nature of the wallet UI, so refer to that. Re: linkable vs not, that's a can of worms.

I think we should not change that wallet tab much, nature of CoinJoin privacy is that people should learn of UTXO's, etc anyways.

@github12101
Copy link

-Add "Coinjoin yield generator" to QT, shortly explain this is providing liquidity to people wanting to do coinjoins and yields a bit of profit. Having this will vaslty increase wallet usage and also profitability for all liquidity providers including existing ones.

+1 THIS

@kristapsk
Copy link
Member

There is an open pull request for yield generator in GUI - #487, more reviews and testing would not hurt.

@AdamISZ
Copy link
Member

AdamISZ commented Jul 24, 2020

I'm closing this as inactive (not a criticism - it was a very useful discussion I think).

Some of these suggestions are already implemented, some remain to be done, some perhaps there isn't agreement over (with respect to renaming certain things - I am not too inclined to spend time on it, but have no objection if others are, and maybe open an issue (but preferably - a PR!) separately for "change names of items in Qt GUI" or similar). A PR would focus minds better rather than just having a general airing of opinions and thoughts.

@AdamISZ AdamISZ closed this as completed Jul 24, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants