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

Move from a Buy/Sell Offer focus to an Exchange paradigm #1207

Closed
ripcurlx opened this issue Jan 17, 2018 · 19 comments
Closed

Move from a Buy/Sell Offer focus to an Exchange paradigm #1207

ripcurlx opened this issue Jan 17, 2018 · 19 comments
Assignees

Comments

@ripcurlx
Copy link
Contributor

As it is quite challenging for new users to understand how they can buy bitcoin or sell them on Bisq, we should think about how to make it more easy to grasp. One way could be to talk about it as an exchange of Fiat money and bitcoin. This idea is based on the comments in our click prototypes (Bob wants to sell BTC, Alice wants to buy BTC), discussions offline and in Slack. Thanks to @changalberto, @Nolaan, @ManfredKarrer, @mrosseel and anyone else on participating in the discussion so far!

This issue should be a starting point to discuss any ideas and share mockups on how this could work on Bisq.

Talking about an exchange we could consolidate the main menu items Buy BTC and Sell BTC into an Exchange section, where you could decide between which currencies you want to exchange. After selecting the specific currencies and the amount of the exchange the user could be presented with the offers that matches best if there is no clear perfect match. If the user is not happy with the presented offers he could create a new offer. So in the end it is not so different as we do it at the moment, but could make it more easy for new users. I'll try to create a quick mockup in the next few days to make this idea more concrete.

Any of your feedback on the said above or on the coming click-prototype is more than welcome! Or even better if want to come up with a click prototype yourself to lead the discussion on this topic.

@ripcurlx ripcurlx changed the title Improvement: Move from a Buy/Sell Offer focus to an Exchange paradigm Move from a Buy/Sell Offer focus to an Exchange paradigm Jan 18, 2018
@tr37ion
Copy link

tr37ion commented Jan 19, 2018

To me all those dialogs and different popup messages are making me nervous, as I had the impression I have to learn a very difficult task. While in the end, I just needed to tell which amount of currency I buy for which price. Everything else should be less prominent running in the background.

I would prefer a one pager where all steps are shown using a stepper http://www.material-ui.com/#/components/stepper to the top. The steps only show what is actually important while details and information is hidden.

Another issue which makes me nervous is that the interface is so different from other exchanges. I think moving the UI/UX to a real exchange interface helps new and pro traders in the long run.

Bisq project should focus on developing an API instead of providing a new interface. Then developers can use the API and build new interfaces around it.

@ripcurlx
Copy link
Contributor Author

@api: actually there is already one, but no one is using it so far 😉

@stepper: this is what I had in mind for doing the onboarding of new users. Doing the trade in some page interface is something we should aim for, but will take some time for concept and development. So we‘ll make small iterations on the current version while making bigger changes for first time users over time.

@mrosseel
Copy link
Contributor

@tr37ion an API is being made at https://github.com/mrosseel/bisq-api and contrary to what @ripcurlx wrote, someone is working on an interface at https://github.com/citkane/bisq-front

@tr37ion
Copy link

tr37ion commented Jan 19, 2018

@ripcurlx Sure, the transition can take time. Though, it is good to have goal in mind.
Btw. did you replay to me with @stepper? - I ask because I don't see stepper around here.

@ripcurlx
Copy link
Contributor Author

@mrosseel That's great news regarding the API :-)
@tr37ion Yes, I meant regarding the stepper component. I guess I should stop using the @ referencing within in GitHub ;-)

@tr37ion
Copy link

tr37ion commented Jan 22, 2018

@ripcurlx Yes, better use the @ if you reference a person and use a colon if you want to quick ref. to a topic like "stepper: ..."

@ripcurlx
Copy link
Contributor Author

Before creating a rough mockup I wanted to go through the steps on paper first and just drafted down the steps for new users and the required trading steps afterwards. This isn't complete and might miss some important steps, but it should give you an idea, where I want to go for. Let the discussions begin 😄. I'll continue to update this draft until Monday EOB and hopefully will have a first mockup for this user flow as well.

Setup Guide

  1. Select your Language
  2. Select currencies to exchange
  3. Setup wallet
  4. Add payment method

Trading steps

  1. Select currencies to exchange

    Exchange ➡️ Receive
    (BTC) ⬅️ (EUR)
    Your are seelling You are receiving
  2. Select payment method
    If there is just one, automatically select it and jump to next step

  3. Enter amount to exchange

    Exchange ➡️ Receive
    (BTC) ⬅️ (EUR)
    Your are seelling You are receiving
    0.5 [BTC] 5,000 [EUR]

    If there are existing offers for these two currencies the user gets presented with a list of offers that are sorted by distance to her desired amount.

    Exchange (BTC) Receive (EUR) BTC/EUR price Market price distance Trader
    0.5 4,950 9,900 1% :person_with_pouting_face:
    0.5 4,500 9,000 10% 🙈
    0.1 1,000 10,000 0% :suspect:

    If user doesn't want to take an existing offer, she continues to create a new offer. For taking an offer see 5.

  4. Create offer

    Exchange ➡️ Receive
    (BTC) ⬅️ (EUR)
    Your are seelling You are receiving
    0.5 [BTC] 5,000 [EUR] (advanced options element)

    By clicking on advanced options user can adapt offer settings for:

    • Fixed price/Percentage price
    • Fixed/Range amount

    If the user doesn't change anything the additional fees and deposit is shown.

    - Exchange ➡️ Receive
    - (BTC) ⬅️ (EUR)
    - Your are seelling You are receiving
    - 0.5 [BTC] 5,000 [EUR] (advanced options element)
    ➕ Security deposit 0.0025 [BTC] (0.50% of exchange amount)
    ➕ Trading fee 0.0010 [BTC] (0.20% of exchange amount)
    ➕ Mining fee 0.000720 [BTC] (0.14% of exchange amount)
    ------------ ----------- ----------- ----------- -------------
    Funds needed 0.50422 [BTC] (deposit 0.50%, fees 0.34%)

    [Create offer for exchange] ℹ️ The spread for this transaction is 0%

  5. Take offer

    Exchange ➡️ Receive
    (BTC) ⬅️ (EUR)
    Your are seelling You are receiving
    0.5 [BTC] 4,950 [EUR] (advanced options element)
    ➕ Security deposit 0.0025 [BTC] (0.50% of exchange amount)
    ➕ Trading fee 0.0010 [BTC] (0.20% of exchange amount)
    ➕ Mining fee 0.000720 [BTC] (0.14% of exchange amount)
    ------------ ------------ ------------ ------------
    Funds needed 0.50422 [BTC] (deposit 0.50%, fees 0.34%)

    [Start exchange] ⚠️ The spread for this transaction is 1%

@tr37ion
Copy link

tr37ion commented Jan 26, 2018

Just a very brief idea what I had in mind so far

image

If the list is empty, the Search button could change to Create Offer button or the lower Create Offer button gets enabled as nicely coloured yellow/orange button eg.

One could add some filter options below the list. Like All Peers | My Peers | Trusted Peers or by activity like Today | This Week | This Month | All or just something more useful :)

@ripcurlx
Copy link
Contributor Author

@tr37ion I think doing it like you suggested could be a way to slowly add this idea into the existing client. We could add a new menu item ("Exchange") that resides between the market item and the buy/sell btc buttons. Every seasoned Bisq user could continue to use the old paradigm if they like and everyone else could use the exchange section as an easier view on the underlying buy/sell offers. Maybe we could re-phrase your idea to:

I want to exchange 0.12300000 [Currency Dropdown] with [Currency Dropdown] [Search]

After clicking Search we could add following content right below the search terms based on the outcome:

  • no offers found
    There is no offer available at the moment please [Create new offer]
    This would link to the correct buy/sell BTC tab and everything else could continue as it is atm. So it would just help the user make the right decision.
  • offers found
    Take one of the following offers or [Create new offer]

In the table with the search results below we could already add improvements suggested in #1203

@cbeams
Copy link
Contributor

cbeams commented Jan 29, 2018

I haven't had time to catch up completely here, but given the title and from what I've quickly scanned of the content, I'd like to mention that I think the current buy/sell language and paradigm are pretty important, and I'd hesitate to lose the distinction in favor of a less-differentiated "exchange" paradigm. I have a couple main reasons for this:

  1. I use the buy / sell and indeed buyer / seller distinction constantly as an arbitrator. These are not interchangeable roles. Buyer and seller have different actions to perform in the Bisq protocol, and they have different risk profiles. I address buyers and sellers by these role names in arbitration conversations, and I expect them to understand what I'm saying when I do. There are many places in Bisq's documentation, too, where buyers and sellers are spoken about in those terms. It's an important, functional distinction that every party needs to understand.

  2. As I mentioned in this tweet, I want to help people understand the ways Bisq is different than today's typical exchange platforms. Bisq is fundamentally about buying and selling bitcoin for national / fiat currencies. It's not a place that active traders will find satisfactory by comparison to "normal" exchanges. It's important to set expectations for people that Bisq (today, at least) is about getting in and getting out of bitcoin effectively, i.e. safely and privately. Once you've gotten bitcoin under those conditions, then you very may well want to use some other exchange to trade crypto-crypto with all the bells and whistles exchanges have. I think Bisq is in its own category right now, and it's a category of one. Bisq is the "zero to one" decentralized exchange, because it's the only one designed for censorship resistant crypto-fiat trading. If Bitcoin is to be credible in its unstoppability claims, Bitcoin users need a safe and reliable way to move between bitcoin and fiat under adversarial conditions. Bisq is the only exchange network designed for this purpose.

I'm not saying there is no place for the word "exchange" at all. That is certainly what's happening in every trade. I just wouldn't want to lose the users' awareness and understanding of their role as buyer or seller, and I wouldn't want to miss the opportunity for Bisq to effectively occupy its own category by aligning too much with the language of today's exchanges.

It's appropriate and actually important that things "feel different" to users when they encounter Bisq, because everything about Bisq is actually different to what they know if they're coming from any other sort of exchange, be it in crypto or forex or stocks or wherever. Bisq should feel as foreign to first-time users doing exchange transactions as Bitcoin feels to first-time users doing payment transactions. Bitcoin is completely different than normal payment systems and bank accounts, and in the exact same way, Bisq is completely different than normal exchange platforms. And in both cases, they are different in ways that make them better. Bitcoin has never apologized for its differences and rough edges. It has simply invited every able developer in the world to come smooth them out. We should smooth out Bisq's rough edges too, not by hiding what makes Bisq different, but by shining the right light on it. We should make the process of building an accurate mental model in users' minds about the way Bisq works more efficient. Right now, the only way that an accurate mental model gets built is by users completing one or probably even several trades. Bisq rewards these brave souls, because Bisq actually works as promised, but there are countless many people who never get so far as a first trade, because without a working understanding of Bisq, they are (understandably) too afraid or otherwise daunted by what would happen next. If we can get new users to understand more intuitively what's going to happen in a trade, about how long its going to take, that everything will be OK if something goes wrong, etc, I think it'll unlock a new level of adoption and participation. I know that what I'm talking about now is a addressing broader concerns than this specific issue, but I appreciate the chance to get the thoughts out in the context of real design conversations like we see in this issue.

@ripcurlx
Copy link
Contributor Author

ripcurlx commented Jan 29, 2018

@cbeams Thanks for joining the conversation - that's exactly what this issues should be all about 😁.
Of course we can't and probably also won't get rid of creating buying and selling offers, having takers and makers as it would cause too many issues on a technical side. But what we definitely have to tackle is how we present this flow to the user atm. Buying and selling bitcoin does work for Fiat money quite okay, as everyone sees bitcoin as the good of exchange. Using it with other cryptocurrencies already gets quite confusing and having a different base currency makes it even harder to comprehend.
We do want to communicate that people are not exchanging Fiat against bitcoin on an ordinary exchange, but that they are exchanging currencies with other parties/entities. Still it is an exchange and that is something that everyone understands as it is always seen from the perspective of the party that uses the client.
The idea of talking more about an exchange of currencies is all about having a high-level interface for users to guide them what they need to do to fulfill their required wish on Bisq.

I want to exchange 0.12300000 [Currency Dropdown] with [Currency Dropdown] [Search]

This is something that everyone understands without the need to think from which perspective she has to see the trade.
So we could give the users an interface, where it is easy to layout their desired use-case and guide them, how they can fulfill it (Take offer or create offer) on Bisq. Maybe if you have time to read through the last three comments before your comment in more detail, we could make a quick call afterwards to talk this through.

@cbeams
Copy link
Contributor

cbeams commented Jan 29, 2018 via email

@aejontargaryen
Copy link
Contributor

aejontargaryen commented Dec 11, 2018

@ripcurlx what about separating Altcoins to the 'Exchange' menu?
Keeping the Bitcoin/Fiat in tact or as-is, preserving and referencing the Bisq ethos @cbeams mentioned. Plus from what i gathered, thats where confusion starts to creep in with the buyer seller wording.

I understand that Bisq's cornerstone is not Altcoins. But that doesn't mean the protocol should be abandoned, as its almost like a free gift to the platform spawning from the Bisq trade protocol. Sure if it were discontinued today I have no doubt Bisq would continue without issue.

--Though if it were cultivated and nurtured properly like any other aspect of Bisq, it could be highly valuable to the Bisq vision and platform, rather than just a non-negative.

@aejontargaryen
Copy link
Contributor

There's a reason altcoins have been hanging on the fences of Bisq to be listed.
Though most coin developers & community see it as a safegaurd only, being listed on Bisq...as in.."just in case shit goes crazy with these centralized exchanges...at least we'll still be on Bisq."
The highest praise in one hand,
but the lowest in the other.

At the very least - thats a pretty good hand to start from.

@stale
Copy link

stale bot commented Mar 12, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the was:dropped label Mar 12, 2019
@stale
Copy link

stale bot commented Mar 19, 2019

This issue has been automatically closed because of inactivity. Feel free to reopen it if you think it is still relevant.

@stale stale bot closed this as completed Mar 19, 2019
@ripcurlx
Copy link
Contributor Author

I'm re-opening it, as I want to tackle this partly with the first time user onboarding.

@ripcurlx ripcurlx reopened this Mar 19, 2019
@stale stale bot removed the was:dropped label Mar 19, 2019
@stale
Copy link

stale bot commented Jun 17, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the was:dropped label Jun 17, 2019
@stale
Copy link

stale bot commented Jun 24, 2019

This issue has been automatically closed because of inactivity. Feel free to reopen it if you think it is still relevant.

@stale stale bot closed this as completed Jun 24, 2019
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

5 participants