oppia / design-team

Workflow repo for the Oppia design team.
0 stars 1 forks source link

[Transferred from web repo] [Feature Request]: Add a language selector screen for new users. #122

Open seanlip opened 10 months ago

seanlip commented 10 months ago

Is your feature request related to a problem? Please describe.

To make Oppia more user-friendly for international learners, we would like to add a language selector screen that allows the user to select a language, and then takes them to a version of the website in their language.

Describe the solution (or solutions) you'd like

The proposed approach is detailed in these mocks (first column on left): https://www.figma.com/file/YWe7SqfUVjxlJLKTUn0UZa/Project-2?type=design&node-id=6050-159194&mode=design&t=v3mhfxAkI0l9V53z-0

Original PRD: https://docs.google.com/document/d/1r91ypya5HasdGsuLcuzt_utKik6xpIVe9koYGynl6kg/edit (this is user story 1).

Technical notes:

Note that the resulting flows should work on both desktop and mobile.

Describe alternatives you've considered and rejected

No response

Additional context

This is filed based on the design issue here: https://github.com/oppia/design-team/issues/69

seanlip commented 10 months ago

Also /cc @juliafalarini, the designer for this project, who can answer questions if needed.

nikitaevg commented 8 months ago

Just a couple thoughts here

  1. Did we consider choosing a language based on the browser language? Or on a country? I looked into the requests to change the language. More than half of them were made from a browser with a non-English language (distribution). Or by country - I think we could guess the language for the 4 out of the first 5 countries.
  2. Based on this only 8% of users, who completed at least one lesson, change the language. If we add the language chooser, we worsen the experience for 92% of users. Based on my very limited UX knowledge every click user has to do reduces the funnel.

I think maybe we should add a suggestion? If a user is from a country where English is not primary language, or the browser's language is not English, let's add a suggestion near the language change button, like "change language to Portuguese?". This way we help non-English users while not worsening the experience for English users.

A note - I'm no analyst, no UX designer, so I might be wrong:) I just had some experience working in this field.

@seanlip wdyt?

seanlip commented 8 months ago

@nikitaevg Great points, thanks! I have no concerns with autoselection (especially if it reduces clicks) or choosing sensible defaults. I think the problem we had when looking into this before was figuring out geolocation -- not sure there's a straightforward way to do that. Alternatively is there a way to read the browser language?

I'm not sure about the analysis/conclusion for (2) -- it's possible that a lot of users who would change the language end up not completing a lesson because they don't even reach the lesson page (they may see the site in English, and think that the whole thing is not for them). So I think the first priority is to get them to the right language, but any way of doing this that reduces friction would be great.

Also, we only show the language selection screen once ever for each user, so I don't think it's going to be a problematic thing for the user flow TBH.

Thoughts?

nikitaevg commented 8 months ago

@seanlip

I think the problem we had when looking into this before was figuring out geolocation

I think there are ways. I used a simple database of ip ranges to identify the country. Not ideal, but we don't need 100% precision. SO also suggests using the timezone. I think those will be good enough solutions.

Alternatively is there a way to read the browser language?

This looks like a very simple task (SO).

it's possible that a lot of users who would change the language end up not completing a lesson because they don't even reach the lesson page

Yeah, that is possible. We could do the following: look at the users with a non-English browser and look at their funnel. Compare this funnel with English-browser users. If users with a non-English browser indeed leave the page more often then they might benefit from choosing the language more explicitly. If the funnels are similar, we probably don't have such a problem. WDYT?

Also, we only show the language selection screen once ever for each user, so I don't think it's going to be a problematic thing for the user flow TBH.

I think I have two concerns: unneeded hurdle for a bigger part of our users; and the complexity of this task. Even though the hurdle is small, still adding it will worsen their experience. About the complexity - it's a whole new screen to develop and maintain. A hint to change the language looks smaller, cheaper.

We can combine automatic detection and the language selection screen - show the screen only for the users who we think are not English speakers. But the complexity concern remains.

nikitaevg commented 8 months ago

Compare this funnel with English-browser users.

Actually, that wasn't difficult. Funnels are not really different. Interestingly enough, users with non-English browsers complete lessons more often. That wasn't a thorough analysis though, maybe one is required. I just compared funnels between users with English and non-English browsers.

seanlip commented 8 months ago

This is really great feedback, thanks @nikitaevg. Let me take this back to the design team since you raise a number of good points. I think maybe focusing on a different issue in the meantime might be the way to go, until we get this resolved from the product side.

Thanks!

seanlip commented 8 months ago

Moving this issue to the design team for comments/feedback on @nikitaevg's notes here: https://github.com/oppia/design-team/issues/122, and whether we should make updates to the design in light of these findings.

seanlip commented 8 months ago

Quick update -- I spoke to @juliafalarini (the original designer for this project) about this.

The idea of having a suggestion tooltip wasn't considered during the design phase. We might want to investigate and user-test it.

The idea of the initial language-chooser screen was to keep things simple for learners who aren't reading in English, because the main page of the site has a lot of distracting information and could be overwhelming for non-English-speaking users, and it helps to have a simple page to focus the user's attention on the choice of language. But @juliafalarini agrees that, ideally, we would preselect the correct language.

@nikitaevg based on the above context, I wonder if you have any further thoughts? Otherwise let's see what the design team thinks as well. (And @juliafalarini please feel free to leave a comment if I misrepresented anything you said, thanks!)

nikitaevg commented 8 months ago

Hey @seanlip

What is our plan - do we want to automatically set the website language to the detected one and then add a tooltip "did we guess your language correctly?"? Or do we want to load the website in English and based on the country/language suggest "is your language X?"? Here's what Khan Academy is doing for Spanish browser btw, see the top of the screen.

I checked the data. Check this table. Country on the left represents the users' country, values represent the count of users. You want to look at the first and the third columns. The first column shows "how many users from the country \<country> started at least one lesson and never changed the language". The third column shows "how many users from the country \<country> started at least one lesson and did change the language". I see that

  1. The number of users changing the language is not high. Therefore we don't want to automatically change the website language, because we don't want to worsen experience for the majority of users. We probably want to show a suggestion to switch to the automatically detected language.
  2. Most users changing the language are from Brazil, Egypt, Belgium and Turkey.

I think it's a good candidate to test A/B experiments. I expect with a tooltip we'll see an increase in the lesson_started metric.

dhruvmistry96 commented 7 months ago

Hi everyone, New UX Design volunteer here. I read through all the comments. Love the idea presented by @nikitaevg about going the Khan academy route. This would make sure that you don't hinder the primary experience and provide the user a quick way to change their prefered language. I would love to work on the high fidelity prototypes. If you guys want to do an A/B test I can work on creating a small top banner that asks user to change their language.

seanlip commented 6 months ago

@dhruvmistry96 No objection. Go for it!

Not sure about the top banner, but @nikitaevg might have more thoughts/feedback on that. I'm up for anything here that makes sense, I think it would be interesting to do an experiment.

nikitaevg commented 6 months ago

@dhruvmistry96

The banner approach sounds good to me, yes. I'd be interested in an experiment: nothing vs banner vs automatic switch to the user's language.

kmuir1991 commented 6 months ago

Hi @dhruvmistry96 and @laranowak !

I've added Lara as the designated UXW for this project. Please add her to any relevant email threads if you can :)

Thanks!