Page MenuHomePhabricator

Show a toast message to let user know if the page is not available in other languages
Closed, ResolvedPublic2 Estimated Story Points

Description

Usability fix:
Currently, there is no communication for the user that clearly states why the Language button is faded out.

Let's show a simple toast message tapping on the faded button which describes why the button is faded.

disabled.png (572×331 px, 178 KB)

Acceptance Criteria

  • When the page isn't available in other languages and the user clicks the languages button, then they should see a toast explaining so
  • There exists an acceptance test exercising this behaviour

Suggested testbed, portrait and landscape, LTR & RTL:

  • Android 2.3 Browser phone form factor
  • Android 4.x/5.x/6.x Chrome phone form factor
  • Android 4.x/5.x/6.x Chrome tablet form factor
  • iOS 9.3 iPhone
  • iOS 9.3 iPad
  • Opera mobile (not mini) Android 4+ phone form factor
  • UC browser (not mini) Android 4+ phone form factor
  • Windows 7.5 Phone IE
  • Desktop Firefox
  • Desktop Chrome
  • Desktop Safari
  • Internet Explorer 11

Note that iOS 8.4 is out of scope while device / testing service available, but iOS 9.3 is pretty close to iOS 8.4 for layout.

Event Timeline

Jhernandez triaged this task as Medium priority.May 25 2016, 4:37 PM
Jhernandez added a project: Design.

@Nirzar, what behavior do you want for non-JavaScript users?

dr0ptp4kt set the point value for this task to 2.Jun 27 2016, 4:34 PM

@dr0ptp4kt what is our usual fallback for toast messages?

@Nirzar, not sure.

I think the character of this particular affordance is unique and I'm not aware of a toast like this in the existing experience. It seems like the two options are:

(1) Do nothing (the current behavior just doesn't do anything when the user taps on it)

or

(2) Send the user to Special:MobileLanguages for the page where the user sees a message saying the page isn't available in other languages. See, for example, https://en.m.wikipedia.org/wiki/Special:MobileLanguages/COMTEL_Project.

If (2), should the language be mirrored from the mock in the case there are no other langs?

@Nirzar, also, what's the fade out / hide behavior for the toast?

To follow up on this, we'll use the existing toast behavior, which looks like this.

we don't need to invent new toast. it should just use existing toast and existing logic for non-js toast? if we have one? if not, im okay with no toast all together.

@dr0ptp4kt one quick question for the future decisions, can we pull up the % of readers on non-js browsers? if they are high, specially in areas where language switching is important then we need a solution like you proposed.

dr0ptp4kt raised the priority of this task from Medium to High.Jul 1 2016, 5:50 PM

Let's go with no toast for non-ReaourceLoader for now.

For the follow on, Non-JS is a significant percentage in some markets, but we'll need to dig up some data. For a separate task, though, and not to block this JS task.

Change 297580 had a related patch set uploaded (by Bmansurov):
Show a toast message when the page is not avaialbe in other languages

https://gerrit.wikimedia.org/r/297580

Change 297580 merged by jenkins-bot:
Show a toast message when the page is not available in other languages

https://gerrit.wikimedia.org/r/297580

bmansurov removed bmansurov as the assignee of this task.
bmansurov added a subscriber: bmansurov.

To test visit http://en.m.wikipedia.beta.wmflabs.org/wiki/Nolang?mobileaction=beta and click on the language button. Compare it with http://en.m.wikipedia.beta.wmflabs.org/wiki/Lang?mobileaction=beta when languages are available.

looks great... but we need to fix our toast system not to trigger multiple instances when one toast is showing. right now if you keep clicking on it it triggers multiple toasts. but that's a minor followup task for toast messages and not language stuff. just a note.