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

Remove Coinjoin profiles from the eyes of default user #8880

Open
yahiheb opened this issue Aug 5, 2022 · 31 comments
Open

Remove Coinjoin profiles from the eyes of default user #8880

yahiheb opened this issue Aug 5, 2022 · 31 comments

Comments

@yahiheb
Copy link
Collaborator

yahiheb commented Aug 5, 2022

One of the most mentioned issues in the Wasabi 2.0 review campaign on bitcointalk was the coinjoin profiles.

Many users were confused about these profiles and didn't understand what they are nor how they differ from each other.
Also they didn't understand the different customizable parameters.
Many users don't even know what coinjoin is or how it works.

To be able to decide which profile to use at start is really a terrible UX specially for newbies.

Therefore IMO we should have a default profile and remove this UX hurdle.
Obviously advanced users can still chose any profile or tweak the different parameters in the coinjoin settings.

@MaxHillebrand
Copy link
Contributor

Yes, this is a big confusion.

At the very least we have to try to design and word this screen better.

But I even tend to agree to remove this question from the default UX. Maybe however we can get away with it if asked at a later point in time?

@nopara73
Copy link
Contributor

nopara73 commented Aug 6, 2022

ACK. We can then talk more about the fees on that page more. So we'd send the CJ profiles to a new page as an advanced section:

image

@soosr
Copy link
Contributor

soosr commented Aug 8, 2022

The main problem is the coinjoin is enabled by default. For two reasons.

  1. User must know that it is enabled.
    That would be a huge surprise and a bad UX if the user didn't know it, and later on they would receive some BTC, and the next day their balance would go down without them noticing it.

  2. User must select a CJ profile before doing any CJ.
    That being said even if the user is aware of CJ is enabled it can drain their balance down if the CJ profile is not chosen properly.

I very much agree on the CJ profiles should be separated apart from the wallet creation UX.

  • CJ has nothing to do with the wallet creation.
  • There are users who do not use CJ, so why they should choose a profile?
  • Wallet creation feels so long.

Right now there is a fallback mechanism for the users who are coming from 1.0. They do not have CJ profile set so once they enable auto CJ or press the play button the CJ selection profile appears to choose one. This is actually a very good UX because we know exactly what is the user's intention, they want to do some CJ so popping a CJ-related dialog is ok, they will be interested they will spend time to understand what are those and they will be able to select the proper profile they want.

So the CJ player is kinda visible... there is no chance of not noticing it, If someone wants to conjoin I am sure they will press the play button. (btw I am not even sure at all if anyone waits for the timer, I think either they press play instantly or press play and pause to stop it). A solution could be to disable auto CJ by default, remove the CJ profile selection dialog from the wallet creation UX, and pop it (with an extra page where there is a valuable explanation) once they really want to do CJs, play pressed or auto CJ enabled.

@yahiheb
Copy link
Collaborator Author

yahiheb commented Aug 8, 2022

  1. User must know that it is enabled.
    That would be a huge surprise and a bad UX if the user didn't know it, and later on they would receive some BTC, and the next day their balance would go down without them noticing it.

Once those profile tiles are removed from that dialog we should replace them by some text saying auto CJ is enabled and also we mention the fees and when they are not payed on that page.

  1. User must select a CJ profile before doing any CJ.
    That being said even if the user is aware of CJ is enabled it can drain their balance down if the CJ profile is not chosen properly.

This is exactly the UX hurdle that we want to get rid of by removing the Coinjoin profile selection completely. It should be somewhere in some advanced coinjoin option for advanced users.
By default users should not even be aware that it exists.

Right now there is a fallback mechanism for the users who are coming from 1.0. They do not have CJ profile set so once they enable auto CJ or press the play button the CJ selection profile appears to choose one.

Even in this case we should simply inform them that auto coinjoin will be enabled and the default coinjoin profile gets selected without them doing that.

This is actually a very good UX because we know exactly what is the user's intention, they want to do some CJ so popping a CJ-related dialog is ok, they will be interested they will spend time to understand what are those and they will be able to select the proper profile they want.

Users do not understand what those profiles are and what is the difference between them. They do not understand the different parameters and how they are calculated.

A solution could be to disable auto CJ by default

No we want to make bitcoin fungible, and the more users coinjoin the better. It is enabled by default for that reason.

@MaxHillebrand
Copy link
Contributor

MaxHillebrand commented Aug 8, 2022

There should be a default anonscore of 10 (maybe randomized +/- 3), and median fee window of daily.

The onboarding dialog should indicate that this can be customized, the coinjoin settings should have the customization.

Don't show the customization screen at all by default.

@nopara73
Copy link
Contributor

At the page where we put the profile selections into the "customize.../advanced..." section we should also mention that the current profile is optimized for UX, and click "customize.../advanced..." if you want to change if like for privacy or costs.

@MaxHillebrand
Copy link
Contributor

Bump, would be nice to have this in the next release.

@soosr
Copy link
Contributor

soosr commented Sep 26, 2022

@jmacato Do you want to take this?

@nopara73
Copy link
Contributor

Whoever takes this, book a meeting with me. I smell another timesink, so I'll try to make sure we start this out well.

@turbolay
Copy link
Collaborator

Friendly bump :)

@nopara73
Copy link
Contributor

This must go to the UX project. Let's push it through RR

@justingoldberg
Copy link

Some of us like the privacy profiles. At least leave it as an option for advanced users.

@nopara73
Copy link
Contributor

nopara73 commented Apr 9, 2023

No worry, removing it is out of question.

@editwentyone
Copy link

on it with #10505, removing it from the wallet creation flow but still adjustable per wallet from wallet settings

@yahiheb yahiheb added the UX label Apr 29, 2023
@yahiheb
Copy link
Collaborator Author

yahiheb commented May 2, 2023

The only mandatory thing for users to use Wasabi is to agree to the terms and conditions.
But informing them about the coinjoin fees is also mandatory to be aware of the coinjoin costs because by default auto-coinjoin is enabled.

So how about adding a checkbox and mention the fees in the same dialog as the terms and conditions which has a lot of empty space, instead of adding a separate dialog for the fee which most likely will be also empty.

Capture

@nopara73
Copy link
Contributor

nopara73 commented May 2, 2023

Fees only in T&C feels wrong to me.

@yahiheb
Copy link
Collaborator Author

yahiheb commented May 2, 2023

The fees are already mentioned in the legal documents but what I mean is to explicitly add the details of the fees in the dialog I have attached above with a text box instead of having them in a new separate dialog.

The CoinJoin fee, charged by the Service Provider is 0.3% per new UTXO, except if:
     -The UTXO comes directly from a previous Wasabi Wallet 1.x CoinJoin transaction.
     -The UTXO comes from a One Hop transaction.

Fees only in T&C feels wrong to me.

This is for showing the fees the first time a user runs Wasabi, but we should have them of course somewhere in the coinjoin settings/profiles so users can check them again if they want to.

@MaxHillebrand
Copy link
Contributor

Do we have to consider that other coordinators have other fee structure, so hard coding something into Wasabi won't be correct for all users...

@nopara73
Copy link
Contributor

nopara73 commented May 3, 2023

Let's take care of our own stuff and not escalate the scope.

@editwentyone
Copy link

I'm on it, the user will get a transparent fee screen during onboarding, and this ticket should stay to the topic, otherwise it's hard to keep track.

preview: https://www.figma.com/proto/wCZTJxHrGOl4GwIitHgFTN/Wasabi-Onboarding?page-id=161%3A1343&type=design&node-id=250-3341&viewport=2539%2C-2533%2C0.79&scaling=min-zoom&starting-point-node-id=250%3A3341&show-proto-sidebar=1

@yahiheb
Copy link
Collaborator Author

yahiheb commented May 3, 2023

@nopara73
Copy link
Contributor

nopara73 commented May 4, 2023

I think this is great! I think minor improvements could be made on wording and whatnot, but let's discuss @yahiheb's suggestion before any of that.
Starting with the fee screen is not a good idea, so there must be something there. Other than this I have no strong opinions. We can leave it as is, merge the first two screens together or remove one of them. I guess whatever @editwentyone feels right, I'm ok with that. It's a LOT better already than what we have right now.

Also a quick very important note: @editwentyone please do not use the word "mix" in the UI. This may impact comprehension, but it's of utmost importance.

@turbolay
Copy link
Collaborator

turbolay commented May 4, 2023

Just some personal thoughts not representative of an expert opinion but rather what I would think of these screens if I was to use Wasabi as a user:

I would never read that much text, my retention span is like 20% of all that. Especially when I'm testing out and comparing softwares. When I see all that text my brain is instantly thinking "nope" and is looking for an exit, in that case I would press the "Continue" button in less than 2s on the first page with lot of text and less than 0.05s on the second page.

Also, maybe that's because my glasses are not exactly at my eye sight but the green highlight on the fee page is making it super uncomfortable for me to read the rest of the text, even if I focus on the screen (which again, under normal circumstances, I would absolutely never do).

I would prefer by far visual explanation, a bit in a similar fashion to the triangle "Privacy Speed Cost" you made for the other design.

@editwentyone
Copy link

editwentyone commented May 4, 2023

preview: https://www.figma.com/proto/wCZTJxHrGOl4GwIitHgFTN/Wasabi-Onboarding?page-id=161%3A1343&type=design&node-id=250-3341&viewport=2539%2C-2533%2C0.79&scaling=min-zoom&starting-point-node-id=250%3A3341&show-proto-sidebar=1

We should just remove the first two slides, they add no value and just waste users time.

I’m against it, onboarding is important and fee transparency should be read and understood before using the software. If TOS is also an important step to accept from a legally point, than this also needs to be added.

We all know no one is reading anything. Never the less, most consumes skim the headlines, if someone does it, its there. Different users with different personas. Don’t assume everyone thinks the same. No one can say we are hiding something. Also 2 screens with an overview are not a big hurdle to start using the software.

1 (passive) screen as a welcome - shows the app opened up correctly
2 (passive) all benefits using wasabi are explained quickly
3 (passive) fees - compact and visible to everyone
4 (active) first interactive screen - user takes over

So, please keep the information as compact as possible without removing it completely.

@editwentyone
Copy link

Also a quick very important note: @editwentyone please do not use the word "mix" in the UI. This may impact comprehension, but it's of utmost importance.

I used the wording mainly from the docs. https://docs.wasabiwallet.io/using-wasabi/CoinJoin.html#fees

@nopara73
Copy link
Contributor

nopara73 commented May 5, 2023

I used the wording mainly from the docs

Not sure what's your point? You don't want to change this? I'm afraid it's non-negotiable :/

@editwentyone
Copy link

No, I will change it, no worries. Just wanted also give a heads-up to maybe change it in the docs?

@yahiheb
Copy link
Collaborator Author

yahiheb commented May 5, 2023

We should just remove the first two slides, they add no value and just waste users time.

I’m against it, onboarding is important and fee transparency should be read and understood before using the software.

Of course we should mention the fee, but I was talking about the first two passive dialogs/screens, not about the fee dialog.

If TOS is also an important step to accept from a legally point, than this also needs to be added.

Hence my suggestion #8880 (comment) to display those in one dialog/screen with check boxes.

Also 2 screens with an overview are not a big hurdle to start using the software.

A user most likely would skip reading the important screen (fee) after going through those two unnecessary screens, as pointed out by Turbolay here #8880 (comment).

@editwentyone
Copy link

I would love to stop the user assumptions and start testing them. That is the only way we can actively figure out if our assumptions work. If not we will adapt. If they do we will continue.

@nopara73
Copy link
Contributor

nopara73 commented May 6, 2023

I'm fine having it in the docs (or removing it.) Mixing is the correct technical term, used everywhere in the academic literature, it's just something we cannot put into the shop window.

@yahiheb
Copy link
Collaborator Author

yahiheb commented Aug 19, 2024

Bump

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants