bisq-network / proposals

@bisq-network improvement proposals
https://bisq.wiki/Proposals
43 stars 16 forks source link

How long does it take users to go from running bisq to first trade? #320

Closed wallclockbuilder closed 3 years ago

wallclockbuilder commented 3 years ago

This is a Bisq Network proposal. Please familiarize yourself with the submission and review process.

Share bisq zeroToSixty data with the growth team. zeroToSixty is how long it takes a bisq user to go from creating their wallet to doing their first successful trade. This will give the growth team a number which they can try to drive down through simplified design and onboarding.

That sounds like it would burden the p2p network... is this is viable? Bisq already has all the data needed. 2 data points: firstWalletDate & firstTradeDate. Calculating zeroToSixty from this is as simple as firstTradeDate minus firstWalletDate. Then one number(zeroToSixty) can be shared with the growth team for improvement.

Does it burden the p2p network? Java integers have a size of 2bytes and can represent any number all the way up to approx. 2billion. Even if bisq blasts the network with this number once a minute for 24hrs, the cost is 2bytes 60mins 24hrs = 2880bytes(2.8kb). That gives us some perspective. Blasting this data excessively all day only costs the network 2.8kb. But thats 1,000 times more than what is required. Bisq only needs to send this number out ONCE in the lifetime of a client(who has completed their first trade). The cost is 2 bytes. Negligible to the network. Huge insight boosts for the growth team.

wallclockbuilder commented 3 years ago

Does the growth team track how long it takes the average user to go from download to first successful trade? How about the vice-versa, how long users spend in the app before giving up?

Nope

wallclockbuilder commented 3 years ago

i'm not sure it's possible to do this systematically...website analytics can give some idea of performance but the software is a complete black hole, intentionally, to maximize privacy. best thing to do may be to gather anecdata...i.e. sit down with people one by one and determine where in the road to making first trade there is most friction.

There is no personally identifiable information involved so what exactly is the privacy concern here? We just want to know how long clients take to go from 0-60.

wallclockbuilder commented 3 years ago

i think at a minimum you would need some kind of unique id on the client that feeds data to some kind of a central server to aggregate the data...i'm not sure this "phone-home" kind of behavior is a direction the project would want to take. it deviates from the concept of a proper privacy-first peer-to-peer network.

That thinking is wrong. Bisq already shares deanonymised data with its peers over the Tor p2p network. Each peer keeps the data. This leads to a sort of distributed analytics database. No central server or phone home involved. This same data can be exported to JSON on any of the peers for display on the bisq website(centralised service). Reference: https://github.com/bisq-network/bisq/issues/546. The trades view already displays all transactions that have gone on in the bisq network. Measuring time from 0-60 would be just as trivial. Note when client first runs bisq, then when they do their first trade broadcast that dataset(time0, time60). Nobody needs any identifying information. All everybody knows is someone took x minutes to get to their first transaction.

wallclockbuilder commented 3 years ago

What about old users that start a new instance to improve privacy? They would bias the collected data.

Not really, The growth team would not be looking at the lower numbers(that would be considered success) but more closely at the higher 0-60 numbers(those are the peers that had problems getting to their first successful offer).

ripcurlx commented 3 years ago

i think at a minimum you would need some kind of unique id on the client that feeds data to some kind of a central server to aggregate the data...i'm not sure this "phone-home" kind of behavior is a direction the project would want to take. it deviates from the concept of a proper privacy-first peer-to-peer network.

We have discussed such things in the past already, as I wanted to do something similar. The problem is as soon as you start collecting data, even if you use anonymized data, you get into the danger zone. Atm we only get feedback from users who did their first successful trade through a feedback form they can open in a browser.

RififiCastorjunior commented 3 years ago

A review form can be put in for new comers ?

ripcurlx commented 3 years ago

A review form can be put in for new comers ?

Yes, I was thinking about this already in the past. Something like: If the client is running and no offer is taken or created for x amount of minutes prompt the user if she could provide feedback why she is not proceeding and directing the user to a web form to do so.

sqrrm commented 3 years ago

One way to collect the data would be a voluntary share after the first trade is done, asking the user if they want to send the anonymized date about time from start to first trade. This would also allow old users with a new client to not share, making it easier to filter those out.

wallclockbuilder commented 3 years ago

"Collecting" data is starting to sound cringey to me. I think this is more like surfacing data. Its same as the trade history on the bisq dashboard. Anonymous usage data that everybody in the p2p network sees. What could possibly go wrong?

zeroToSixtyValue: 17days

What could anyone(other than the growth team) do with that number? Definitely nothing malicious. Bisq has everything to gain. Nothing to lose.

wallclockbuilder commented 3 years ago

This allows bisq to stay accountable and measurably sure that new users are not being excluded.

wallclockbuilder commented 3 years ago

Most of us are devs with confirmation bias. We think everyone owns a computer that can handle bisq(an application that locks up 3GB of RAM on start).This data will create room for dispassionate and better yet data driven decisions(about design, marketing and dev). Proposal decisions get less political. Win win for all.

sqrrm commented 3 years ago

We're discussing collecting data, nothing wrong in that. No way to do analysis if you don't have data and it has to be collected or you wouldn't have it.

Broadcasting the zeroToSixty value to the network could work as well, but it would be more within the Bisq philosophy to make the broadcasting optional for the user. Not because the data is deanonymizing or have an impact on anyone's privacy, but because the collection of data like this has a bad reputation and it should be the user's choice.

It's known that the resource requirements are high to run the bisq client, it's just not easy to fix. I'm hopeful the api together with some headless client could help somewhat, but still not sure about the security issues and risk of centralization.

wallclockbuilder commented 3 years ago

@sqrrm Did the dev team ask users's permission to share trade data with the network? Every user can see a historical record of all 95,000 trades right on the dashboard. I can't find any information about the decision process in the journals or reports.

wallclockbuilder commented 3 years ago

My trades history is also among the 95,000 trades that shows up on every user's dashboard. I was never asked and I never gave explicit permission for that to be broadcast to the network.

m52go commented 3 years ago

You're right that there's probably nothing technically wrong with broadcasting anonymized usage data, but there would be an uproar for doing it nonetheless. Bisq users are purists and I don't think implementing any kind of tracking would go over well.

In any case it's pretty well-known that the current Bisq interface isn't great. As I mentioned in the discussion from a few days ago, there's already a prototype for a huge UI update which would solve a lot of issues...pedromvpg, the designer who made the prototype, onboards lots of people to Bisq and knows the typical Bisq-beginner-mindset better than most. So might it make more sense to allocate time and resources to implementing that prototype instead? All UI changes will require developer time and effort to implement. We need to determine how those precious resources are best spent.

wallclockbuilder commented 3 years ago

Where is the uproar about live user trade data being currently being broadcast to the network and even beyond? Screen Shot 2021-03-09 at 8 14 14 PM https://bisq.network/markets/

wallclockbuilder commented 3 years ago

Also @m52go How do we know the UI improvement project moved the needle if we have no benchmark zeroToSixty number to compare against?

sqrrm commented 3 years ago

@wallclockbuilder Agreed that the trade history is a problematic piece of data. The fact that it is public for everyone to see means that it's not doing any hidden publishing though. That is important, users need to understand what data is shared and this data is clearly visible in the UI. I don't want to discourage the 0260 analysis, I just want to point out that we have to be careful how we gather the data.

m52go commented 3 years ago

As I also said in the other thread, I think systematic usability testing could go a long way. You would gain a lot more insight, just from a smaller sample size. I think it would be more effective overall than a lot of numbers with little context.

Speaking of sample sizes, how about you increase your sample size and ask the community whether they would accept tracking within Bisq, and if so, to what extent?

Conza88 commented 3 years ago

Yes, I was thinking about this already in the past. Something like: If the client is running and no offer is taken or created for x amount of minutes prompt the user if she could provide feedback why she is not proceeding and directing the user to a web form to do so.

Anyway to do this at uninstall process? lol. Because then you know they're truly gone.

Would be interested in what time this would trigger... if it was providing handy FAQ's, a prompt of sorts / directions to some of their concerns / pushing to Keybase community for help & assistance etc.. could certainly drop the rate.

And then at bottom an onboarding feedback form they can fill out.

Would not want to trigger way too early. Can be insulting lol. But most definitely something that captures pre-trade data about why its not been actioned... with lots of thought of all cases.

Fee's too high? Not clear enough? Unsure of what to do? etc.

I see no problem with the anon data. I don't think they'd be any uproar either if the trade off was a way better Bisq being used by more people, given better UX.

ripcurlx commented 3 years ago

Anyway to do this at uninstall process? lol. Because then you know they're truly gone.

There is no uninstall trigger on most OSes. At least I'm not aware of it. You just drop it in the trash and it is gone or people just forget that they have the app installed and just don't open it anymore.

Would be interested in what time this would trigger... if it was providing handy FAQ's, a prompt of sorts / directions to some of their concerns / pushing to Keybase community for help & assistance etc.. could certainly drop the rate.

And then at bottom an onboarding feedback form they can fill out.

Yes, I think this can be a positive experience for the user. We don't need to sell them special deals, just try to help them to buy/sell BTC.

I see no problem with the anon data. I don't think they'd be any uproar either if the trade off was a way better Bisq being used by more people, given better UX.

Yes, but we have to be super cautious if we start and how we do this data aggregation. As if we start with one thing, the next data item is collected soon and in the end it is providing enough data to profile users by this meta data. I just want to point out that it is not a no-brainer to start collecting data even if it is not tied to your KYC-profile.

pazza83 commented 3 years ago

Hi @wallclockbuilder thanks for the proposal. I am doing some housekeeping on the proposals. Please can you take steps to move this forward or alternatively close the proposal.

wallclockbuilder commented 3 years ago

@pazza83 i think a moderator is supposed to summarize the sentiments in the comments section into yay or nay. I suppose that person is @MwithM

pazza83 commented 3 years ago

Hi @wallclockbuilder it is myself now who is the proposal maintainer.

The next step is to evaluate the proposal which I will do in a couple of weeks if there is no more discussion.

pazza83 commented 3 years ago

Closing as stalled, looks like the idea of collecting user data is acceptable if it can stay anonymous.

@wallclockbuilder you might want to consider re-submitting the proposal at a future date with more information, context and objectives.

Conza88 commented 3 years ago

Still think important info to have