Page MenuHomePhabricator

Consider updating the interface message for "select all" in Global Preferences
Closed, DeclinedPublic

Description

Currently, when you're on Special:GlobalPreferences, the option at the top says: "[ ] Select options below to be global". That sounds like it enables you to select them, not that it selects all of the options (which is what it actually does).

Event Timeline

kaldari created this task.May 18 2018, 4:14 AM
Restricted Application added a project: Community-Tech. · View Herald TranscriptMay 18 2018, 4:14 AM
Restricted Application added a subscriber: Aklapper. · View Herald Transcript

If proposed solution will be used, it should be probably changed to a button. Checkbox should have only one message, probably saying something like "All preferences below are global" (so a statement).

IMHO this is high priority, if GlobalPreferences are to be deployed soonly.

TBolliger renamed this task from Need to change select all message to Need to update the interface message for "select all" in Global Preferences.Jun 4 2018, 10:13 PM
TBolliger updated the task description. (Show Details)
TBolliger updated the task description. (Show Details)Jun 5 2018, 11:35 PM

As discussed in estimation, not urgent. Maybe also best addressed in T188424: Improve the UI of Global Preferences (aka "fix two vertical rows of checkboxes")

TBolliger renamed this task from Need to update the interface message for "select all" in Global Preferences to Consider updating the interface message for "select all" in Global Preferences.Jun 5 2018, 11:42 PM
TBolliger removed a project: Community-Tech.
Vvjjkkii renamed this task from Consider updating the interface message for "select all" in Global Preferences to 7scaaaaaaa.Jul 1 2018, 1:09 AM
Vvjjkkii triaged this task as High priority.
Vvjjkkii updated the task description. (Show Details)
Vvjjkkii removed a subscriber: Aklapper.
CommunityTechBot renamed this task from 7scaaaaaaa to Consider updating the interface message for "select all" in Global Preferences.Jul 2 2018, 4:04 PM
CommunityTechBot raised the priority of this task from High to Needs Triage.
CommunityTechBot updated the task description. (Show Details)
CommunityTechBot added a subscriber: Aklapper.

Here's are proposals for language:

  • Make all options below global
  • Select all and make all global
jmatazzoni updated the task description. (Show Details)

@Niharika, I've proposed language for the current functionality, above. But I have to wonder how popular a select all and make all global function is? :

It's probably too late, so I should just shut up. But the function I'd think people would want here would be something much more like: "Make all selections below global." In other words, a function to make whatever your preferences ARE all global, on the assumption that that is probably what many folks might like. Was that considered? Impractical?

Moving this out of estimation column because I can take care of it. We need to finalize the message first.

Moving this out of estimation column because I can take care of it. We need to finalize the message first.

If there is no interest in changing the functionality (at this late date, understandable), then I'd suggest we go with Select all and make all global, which I think best captures what actually happens if I understand it properly.

@Niharika, I've proposed language for the current functionality, above. But I have to wonder how popular a select all and make all global function is? :
It's probably too late, so I should just shut up. But the function I'd think people would want here would be something much more like: "Make all selections below global." In other words, a function to make whatever your preferences ARE all global, on the assumption that that is probably what many folks might like. Was that considered? Impractical?

That's basically what's happening when they select all and to make them global. The values for the preferences are the ones they have on their local wiki. Those values are simply being switched to be the global values when the user checks that checkbox and hits Submit.

One thing to remember is that when they check that checkbox - it doesn't automatically make everything they selected global. They still need to click the Submit button for that to happen. So to say "Select all and make all global" is kinda misleading.

jmatazzoni added a comment.EditedJul 18 2018, 11:56 PM

It turns out I misunderstood what this option does, so naturally my suggested language above is wrong. In actuality this option does just what I think users want it to do, which is to simply make all their existing preferences (on this page) global. With that new understanding, here are four suggestions:

  1. Make all current settings global
  2. Make all current settings on this page global
  3. Make all settings on this page global
  4. Make all (local) settings on this page global

I think #1 might give users the impression that this is a master setting for all pages. #4 adds an unnecessary level of complexity that is liable to make users think too hard. I had originally thought that #2 was best. But then I considered the use case of someone who has ALREADY checked the box; what, at that point, would "current" mean?

All in all, I think #3 is simplest and best. Anyone object to #3? What do you think @Niharika?

The other consideration here is that the message (or some message) needs to also be shown for non-Javascript users when there's no checkbox. The current wording was arrived at in order to serve both JS and non-JS usages.

Oh yes, now I remember the no-JS weirdness we encountered here.

So, @jmatazzoni, if you're using GlobalPreferences without JS, you don't get that checkbox on top. At that point, it's just a label for the checkboxes below.

jmatazzoni added a comment.EditedJul 19 2018, 11:38 PM

if you're using GlobalPreferences without JS, you don't get that checkbox on top. At that point, it's just a label for the checkboxes below.

The desire for a message that works for both js and no-js states explains the peculiar phrasing. But I think in splitting the difference we are serving neither well. E.g., what does "select options below" really mean? There are lots of options below, but only some are for global.

Is there a different solution we could find for non-js? E.g., could we make this text disappear entirely? There has to be another way...

We can definitely have different messages for JS and non-JS, and we can lay them out however we want.

When hovering over a global checkbox, the associated preference field is highlighted; perhaps we could do something similar when you hover over the select-all checkbox?

Revelant discussion from T186842: Convert Special:GlobalPreferences to OOUI:

@jmatazzoni To be very clear, we're talking about this occurrence of the sentence:


I like your brevity and think it's also easier to translate, as non-native English speaker, I'd propose additionally to add “settings”

Make all selections below global settings

I like that formulation. Thanks.

@jmatazzoni It's more complex than thought of at first. That specific message also needs to work in non-JavaScript enabled mode:


That hinders “all” to be added to the message IMO.
I therefore suggest using “Make options below global preferences“.

There is no way to write one label that will work for JavaScript and non-JavaScript versions, since the functionality is completely different. The answer here is that we need two different messages: one for JavaScript (with a check box) and one without JavaScript (where there is no check box).

Javascript version

Let's not talk about "options" or "choices" or "selctions"--since all of those bring in a certain ambiguity as to whether we're saying we're going to turn everything on or not. Let's call this what it is: we're making "local preferences" into "global preferences" (for this page only). Here is the language I'd use.

  • Make all local preferences below global

Non-JavaScript

For the non-JavaScript version, there is no checkbox. So this becomes just informational text. I don't believe there is space to label this column effectively, so I don't think trying to find the perfect word or phrase for the column will work. Instead, I'd turn this into a piece of instructional text. Here are some options with more or less detail:

  • To make local preferences global, check the boxes in the left column and Save.
  • To make local preferences global, so that the preferences apply on all wikis, check the boxes in the left column and Save.
  • To make local preferences global, check the boxes in the left column next to the choices you want to apply on all wikis, and Save.

(Obviously, RTL issues apply here, but we have a system for that and writing around this—e.g., by calling it the "outside" column or something—will be confusing.)

The non-JS should always be shown. The JS-only check all button is not a substitute for this instruction.

That's a good point Ed. With the right layout, the JS functionality and the non-JS instructions can play nicely together on the JS page.
In anticipation of that, i removed the boldfacing from the instruction text (which I'd thought might make it more discoverable/scanable). A designer should make a mockup of how those elements will work together, though, IMHO,

matmarex removed a subscriber: matmarex.Sep 27 2018, 1:49 PM
Niharika closed this task as Declined.Jan 15 2019, 5:15 AM

This ticket has been sitting for a while without a decision about what the message needs to be. The feature is already being used by 15,630 users (as of writing this note). I think making subtle text changes at this point is moot and might even be disruptive as it will take a while for new translations for the label to come in.