Page MenuHomePhabricator

Improve Search Experience
Open, MediumPublic

Description

Why we need this?

When a user lands on a search screen our primary goal needs to provide them better search experience which comprised of they find what they are searching for as long as there is a written article on searched items. In order to achieve above, it is important that users type in the same language in which search is configured. At the moment, the Language option in the application menu controls both the interface and search language. This could result in a situation where the user is typing in a language different than what the search is configured to and no results are returned without any indications why. As we are aware that on KaiOS, it is not possible for us to identify what language users have set for typing which makes it hard for us to know which language search needs to configure. In given constraints, we could follow the below steps to provide a better search experience.

Steps

  1. Make the interface language always the same as the phone. Set it to "English" when the phone language is not supported in our app.
  2. Set the default search language to English. We have gathered evidence from qualitative and quantitative research that suggests users use English for textual searches on KaiOS devices, Also keep the “Search Wikipedia” text inside the search bar in English.
  3. If users attempt to search in a language other than English then prompt them with a message informing that they are trying to search using non-english language and give them a list from which they can choose which language they just typed the query in. Execute the search query in the language user selects and set that language to default search language, also change the "Search Wikipedia" text inside the search bar.
  4. Language option in the app is going to use to change the interface language only.
  5. At last, we could also modify the “No results found” screen to provide some more details to users.

Note
There is a possibility that users could type a search query in regional language using the roman script. Above flow will not be able to provide desired search outcomes for any such queries.

Event Timeline

Some comments:

  1. Agree on removing the language option from the menu
  2. If the interface language is a language we do not yet support, can we default to English?
  3. I agree that we give an indication of what language, but with the KaiOS form factor, I recommend we do this outside the search bar and users can switch language from there
  1. If the interface language is a language we do not yet support, can we default to English?

yes, English can be the default language.

Great. Let's go ahead and implement.

  1. Remove language from settings menu
  2. Make the interface language same as phone and default to English when the phone language is not supported in our app
  3. Switching language should happen outside the Search bar
AMuigai triaged this task as Medium priority.Feb 17 2020, 10:34 AM
AMuigai edited projects, added Inuka-Team (Kanban); removed Inuka-Team.
AMuigai moved this task from Backlog to Needs Design on the Inuka-Team (Kanban) board.

Here is the updated design of the search screen. We have made a language change option visible to a user all the time, also "Search Wikipedia" text inside the search bar will give them by default what language is search is configured in.

the cursor will always within the input text box, currently there is no way to focus out of the box as there isn't any other contents for the user to navigate out.

@hueitan Let me share the other alternatives of the design.

What about replacing the "Settings" key with a language switch?

@saper Thanks for your inputs, I have adjusted the design to keep the language as a softkey option. I think keeping settings here won't be a bad idea especially for users who can miss can easily miss the onboarding steps.

@hueitan @eamedina here is the updated screen, I have moved the language as a softkey.

I'm trying to review this PR but I'm getting confused about what it should do. The task description here should be the source of truth (not the conversation) but it was not updated recently and doesn't match what the code in the PR is doing. Specifically:

  • Is the UI language supposed to change or not? My proposal was that it doesn't. The language option in the menu only affects in which language it searches.
  • What is the purpose of the "search" center key. It has a label but it doesn't do anything. Actual searching is happening live as we type.

@SBisson I thought of keeping "SEARCH" softkey as a placeholder text for users to assume that pressing it fetches the results. as per my assumption, In most of the cases, they won't even need to look at it as searching will be happening live, however, this could be useful in situations when the internet connection is not fast enough to fetch live results and a user won't know what do to do after typing the query.

yeah, I'm still confused what it should really do when press on the Language softkey, app (ui) language or the article language user searching for?

Honestly I share some of the same confusion, and I'm taking this task as a learning experience to always clarify what is the task about exactly before actually starting to implement code.

Is the UI language supposed to change or not?

I'm wondering the same thing. As the branch stands right now, the left soft key language option does change the UI option.

What is the purpose of the "search" center key. It has a label but it doesn't do anything.

Correct, currently it only acts as a label.

SGautam_WMF renamed this task from Show search language on the search screen to Improve Search Experience.Mar 17 2020, 3:58 AM
SGautam_WMF claimed this task.
SGautam_WMF updated the task description. (Show Details)
SGautam_WMF added a subscriber: eamedina.

Quick question for the latest update

  1. If users attempt to search in a language other than English then prompt them with a message informing that they are trying to search using non-english language and give them a list from which they can choose which language they just typed the query in. Execute the search query in the language user selects and set that language to default search language, also change the "Search Wikipedia" text inside the search bar.

After the step, how do user change the search language back to English?