Opened 16 months ago

Last modified 6 months ago

#31109 new enhancement

Better gamify the UX for snowflake extension

Reported by: cohosh Owned by:
Priority: Medium Milestone:
Component: Circumvention/Snowflake Version:
Severity: Normal Keywords: snowflake-webextension, ux-team
Cc: arlolra, cohosh, phw, dcf Actual Points:
Parent ID: Points: 2
Reviewer: Sponsor: Sponsor28

Description (last modified by cohosh)

How do we make sure that users don't uninstall the extension if it seems like it isn't being used?

Sometimes usage is low due to bugs but other times it could be due to very few clients using the system. Is there a way to reassure people that the extension is still working or will be useful in the future?

Related comments:

Child Tickets

TicketTypeStatusOwnerSummary
#32938enhancementneeds_revisioncohoshHave a way to test throughput of snowflake proxy

Change History (16)

comment:1 Changed 16 months ago by cohosh

Description: modified (diff)

comment:2 Changed 16 months ago by cohosh

From teor:

  • on relay search, we highlight consensus weight and bandwidth. And most other tools and ISPs make it easy to measure bandwidth. So relay operators try to maximise those numbers. No matter how many times we tell them that latency and reliability are also good for users.
  • we also show flags on Relay Search, which encourages operators to collect them all. That's good for our Exit capacity, but confuses people a bit about FallbackDir, because we rotate FallbackDirs every few releases

From arma:

  • giving me some solid indication that it's working would be great. right now i have only one metric -- whether the number changes from 0. so if there is something else, like whether i am successfully telling the broker that i exist, that could be useful.
  • whatever we show the users is our chance to steer them toward prioritizing what we want them to prioritize. that is, if we give them a number, they will naturally want that number to go up as high as possible
  • for example, showing them how many other people are running snowflakes right now. that's a number that could go up, and represents...something relevant here.
Last edited 16 months ago by cohosh (previous) (diff)

comment:3 Changed 16 months ago by arma

Keywords: ux-team added

The interface is where we gamify running the extension. That is, where we involve the user in knowing that they're being helpful, and knowing what being helpful actually means.

To start, giving me some solid indication that it's working would be great. Right now I have only one metric -- whether the number changes from 0. So if there is something else we can check, and display, like whether I am successfully telling the broker that I exist, that could be useful. Or a "self-test" button that I press if I'm worried, and it checks some stuff and tells me I'm good to go.

More broadly, whatever we show the users is our chance to steer them toward prioritizing what we want them to prioritize. That is, if we give them a number, they will naturally want that number to go up as high as possible. So let's try to give them some things that can show that they're being valuable. And the corollary is that if we show them a number that they can't influence and makes them depressed and feel unuseful, we're doing it wrong.

Taking a step back: I suggest making a list of the behaviors that we want in our extension users ("install the extension and leave it alone", "tell their friends to install it", etc), and then making a list of what understanding and intuitions we want to reinforce ("the more snowflakes running, the better", "it's ok if your snowflake doesn't have a user right now", "the more total censored people using snowflakes, the better", etc), and then figure out what data we have that we can show the user to reinforce these understandings and get them to do the actions we want most. (And if we don't have data for something, that's ok too -- a picture or whatever with little spinning things could conceivably be just as good.)

tagging as ux because this is totally a ux ticket

comment:4 Changed 16 months ago by arlolra

Keywords: snowflake-webextension added; snowflake-extension removed

comment:5 Changed 16 months ago by cypherpunks

Another consideration: When the extension tells us that WebRTC is off there needs to be (1) a link to some resource that explains to the user how to enable WebRTC, (2) a way to let the user force a recheck of the status of WebRTC by the extension, since after enabling WebRTC the extension needs to be reloaded in order to make it proceed with its job (or make the check automatic, e.g. every some interval of time, whenever the user clicks on the Snowflake addon icon...).

Edit: One of the user reviews of the extension in Mozilla's addons page points this out:

I did notice an odd behavior: before installing I had WebRTC disabled ("media.peerconnection.enabled = false"). After installing the extension, I then set "media.peerconnection.enabled = true" but I also had to disable and then re-enable the extension from about:addons for Snowflake to detect that WebRTC was now enabled in my browser.

https://addons.mozilla.org/en-US/firefox/addon/torproject-snowflake/reviews/1390659/

Last edited 16 months ago by cypherpunks (previous) (diff)

comment:6 Changed 16 months ago by gaba

Keywords: anti-censorship-roadmap-october added
Points: 2

comment:7 Changed 15 months ago by antonela

I think that could be helpful to discuss the scope for this ticket. Gamify is a very ambitious word, and maybe is something we could achieve in the long future.

As my understanding, the short term iterations we could do are related to the information we currently have. So, for example, a regular user has been using snowflake and always got a "0 clients connected". If there is no real-time feedback on it, maybe we should keep the explainer line ("Your snowflake has helped four users circumvent censorship in the last 24 hours.") and hide the clients' qty line.

Seems like the experience described by arma at comment:3 happens on the first-time user's flow. If that is the case, then we can map that user flow and design a better onboarding experience. It could involve the idea about to have a checklist like, share with friends, x days using snowflake, qty of data transferred, and so on. Creating a blank state doorhanger can be the first step for it.

comment:8 in reply to:  7 ; Changed 15 months ago by phw

Replying to antonela:

So, for example, a regular user has been using snowflake and always got a "0 clients connected". If there is no real-time feedback on it, maybe we should keep the explainer line ("Your snowflake has helped four users circumvent censorship in the last 24 hours.") and hide the clients' qty line.


Agreed. If the numbers are 0, we should not show them. Instead of "Your snowflake has helped 0 users circumvent censorship in the last 24 hours." we may want to say something like "Your snowflake is ready to help users circumvent censorship!"

comment:9 in reply to:  8 Changed 15 months ago by cypherpunks

Replying to phw:

Agreed. If the numbers are 0, we should not show them. Instead of "Your snowflake has helped 0 users circumvent censorship in the last 24 hours." we may want to say something like "Your snowflake is ready to help users circumvent censorship!"

+1

comment:10 in reply to:  8 Changed 15 months ago by cohosh

Replying to phw:

Replying to antonela:

So, for example, a regular user has been using snowflake and always got a "0 clients connected". If there is no real-time feedback on it, maybe we should keep the explainer line ("Your snowflake has helped four users circumvent censorship in the last 24 hours.") and hide the clients' qty line.


Agreed. If the numbers are 0, we should not show them. Instead of "Your snowflake has helped 0 users circumvent censorship in the last 24 hours." we may want to say something like "Your snowflake is ready to help users circumvent censorship!"

I really like both of these ideas to remove all zeros from the user feedback :)

comment:11 Changed 13 months ago by arlolra

From https://addons.mozilla.org/en-US/firefox/addon/torproject-snowflake/reviews/1432746/

how to test this work or not?

which is a similar question to what bridge operators ask,

17:20:03 <phw> we certainly don't need to but "does my bridge work?" is a very common question among new operators and we should have a useful response to it

From today's discussion http://meetbot.debian.net/tor-meeting/2019/tor-meeting.2019-10-17-16.59.log.html

comment:12 Changed 9 months ago by gaba

Keywords: anti-censorship-roadmap-2020Q1 added; anti-censorship-roadmap-october removed

comment:13 Changed 7 months ago by cypherpunks

Q1 is over. Is this on the backburner now? I usually leave Firefox open even if I'm not using it in the hope that someone could use Snowflake, but I would really like to know if that's actually the case. The comment linked in the description sums it up nicely.

comment:14 in reply to:  13 Changed 7 months ago by cohosh

Replying to cypherpunks:

Q1 is over. Is this on the backburner now? I usually leave Firefox open even if I'm not using it in the hope that someone could use Snowflake, but I would really like to know if that's actually the case. The comment linked in the description sums it up nicely.

Hey cypherpunks.

We haven't commented on this ticket in a while because we implemented a bunch of things early on and have been waiting to see what happens.

We still have pretty low use of snowflake, but that is changing soon (see #19001 for a tracking ticket of changes to move snowflake from alpha).

We also have #32938 that is in progress and related to this ticket.

So, I wouldn't say it's on the back burner yet. Your feedback is also helpful for us to know we have more work to do.

comment:15 Changed 7 months ago by cypherpunks

Ah. I see. Thanks for the info! I hope it is implemented soon.

Also, can I mention how awesome it is that you guys have made a shared account available for people to use here? I've never seen this anywhere else and now I want all projects to do this.

comment:16 Changed 6 months ago by gaba

Keywords: anti-censorship-roadmap-2020Q1 removed

No more Q1 in 2020.

Note: See TracTickets for help on using tickets.