Page MenuHomePhabricator

Figure out the block messages for mobile
Closed, ResolvedPublic2 Estimated Story PointsAug 25 2020

Description

Goal

This work relates to T189717: Better handle block reasons on mobile (specifically templates and HTML comments).

We want to display more helpful block messages to users who find themselves blocked and give them a call to action. There are a few different scenarios for when a user might find themselves blocked. This task is to figure out the messages to display under all possible scenarios.

From T189717#6366779:

In today's engineering meeting we discussed:

  1. We should keep the drawer
    1. It should show a text version of the reason if its available.
    2. If a text reason is not available we'll show a link to see the full reason. We didn't decide whether the link will take the user to a new page or an expanded version of the drawer
  2. The reason field doesn't always have a reason, for example the template for anonblock.
  3. As @Esanders points out in his comment it is important to tell the user what actions they can take.

The actions that can be taken will depend on the block. Specifically the following properties of the block

  1. Is it an IP only block or a hard IP block (even logged in users would be blocked)
  2. Does the block not allow new users to create an account?
  3. Is it a partial or a full block?
  4. Is the user currently logged out?

We'll have to come up with messaging and actions for all permutations of the above properties.

Details

Due Date
Aug 25 2020, 4:00 AM

Event Timeline

Niharika triaged this task as Medium priority.Aug 12 2020, 4:28 AM
Niharika created this task.
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptAug 12 2020, 4:28 AM
ARamirez_WMF set the point value for this task to 2.Aug 12 2020, 4:51 PM

We discussed this in the estimation meeting and the outcome was that @Tchanders would write up a table outlining all the possible factors which can influence the block message and @Prtksxna would then sign off on the messages to be shown.
We should document these messages on the wiki as well, once complete.

ARamirez_WMF set Due Date to Aug 25 2020, 4:00 AM.Aug 12 2020, 8:51 PM
ARamirez_WMF changed the subtype of this task from "Task" to "Deadline".
Tchanders added a comment.EditedAug 14 2020, 3:50 PM

From the task description, there seem to be 4 dimensions that could affect the message:

  • Type of target: IP block (anon only) / IP block (hardblock) / Account block
  • Type of block: Sitewide / Partial
  • User's logged-in status: Already logged in / Can avoid block by logging in / Can't avoid block by logging in
  • Account creation status: Can create account / Can't create account

Note1: "Can avoid block by logging in" is controlled by (1) whether the block is anon only or a hardblock, and (2) whether $wgBlockDisablesLogin is true or false. This doesn't affect the messages, but will need to be checked in the code.
Note2: The desktop message also varies depending on whether the block is an autoblock, but I don't think explaining autoblocks is necessary for the mobile block message, where we have limited space.

In theory this gives us 36 combinations, but some combinations are impossible (e.g. it can't be an account block if the user is logged out), and some combinations shouldn't affect the message (e.g. if they are logged in, then there's no point in advising them to create an account, so the message won't change depending on whether they are allowed to create an account).

Here are the combinations (impossible combinations are marked with a dash, and irrelevant combinations are left out):


Already logged in (account creation status irrelevant)

IP block (anon only)IP block (hardblock)Account block
Sitewide-Your connection has been blocked from editing this page.Your user account has been blocked from editing this page.
Partial-Your connection has been blocked from editing this page. Try editing another page.Your user account has been blocked from editing this page. Try editing another page.

Not logged in, can't avoid block by logging in (account creation status irrelevant)

IP block (anon only)IP block (hardblock)Account block
Sitewide-Your connection has been blocked from editing this page.-
Partial-Your connection has been blocked from editing this page. Try editing another page.-

Not logged in, can avoid block by logging in

Can create account

IP block (anon only)IP block (hardblock)Account block
SitewideYour connection has been blocked from editing this page. Try logging in or creating an account.--
PartialYour connection has been blocked from editing this page. Try logging in or creating an account, or try editing another page.--

Can't create account

IP block (anon only)IP block (hardblock)Account block
SitewideYour connection has been blocked from editing this page. Try logging in if you have an account.--
PartialYour connection has been blocked from editing this page. Try logging in if you have an account, or try editing another page.--

@Prtksxna I've had a go at filling in the messages for the 10 situations. I think the call to action is the same for some situations, so there are only 8 distinct messages. Please feel free to reword them!

May I suggest network instead of connection ? When I think of connection I think of a physical connection (i.e. Ethernet vs. Wifi) when those could be the same network.

Thank you so much for doing this @Tchanders 🙏🏽This is really helping me understand all the permutations.


Your user account has been blocked from editing this page.

Should we say you instead of your user account here?

Not logged in, can't avoid block by logging in (account creation status irrelevant)

I am not sure I understand this case. If its an anon only IP block then logging in should help, right?

Your user account has been blocked from editing this page.

Should we say you instead of your user account here?

Thanks makes sense to me.

Not logged in, can't avoid block by logging in (account creation status irrelevant)

I am not sure I understand this case. If its an anon only IP block then logging in should help, right?

That's right - I got confused by $wgBlockDisablesLogin. That only applies to user account blocks. Updated T260216#6385885 accordingly...

@Prtksxna What do you think of connection vs network?

@Prtksxna What do you think of connection vs network?

I am not sure about this one 🤔

I agree with @dbarratt about how connection could feel like the physical connection. But changing from say a mobile network that was blocked to a home wifi would fix the issue, right?

Network could mean two things (to me):

  1. On a mobile - mobile network provider (which is what we mean)
  2. On a computer - the home or office network, not the ISP (is that what we mean?)

When an office uses multiple ISPs, does the IP block affect a computer based on the fact that they're on that office's network, or the ISP in use? I know I am getting a bit in the weeds here.

Is it the ISP that affects whether the IP is blocked? Saying 'Your network provider is blocked…' wouldn't be correct either, right?

When an office uses multiple ISPs, does the IP block affect a computer based on the fact that they're on that office's network, or the ISP in use? I know I am getting a bit in the weeds here.

Based on the fact that they're on that office's network. It is not common for an office (afaik) to have more than one ISP, but an office (especially a large one) may have more then one IP address assigned to it. Typically (at least the offices I've worked in), your machine on that network will use the same public IP (based on the router you are connected to, if the office has more than one router).

Is it the ISP that affects whether the IP is blocked? Saying 'Your network provider is blocked…' wouldn't be correct either, right?

That would not be correct. a Network provider would have thousands, if not hundreds of thousands, or even millions of IP addresses.

To be fair, "network" isn't accurate either. A mobile network will rotate your IP address somewhat frequently (especially if you are in motion). Although an IP address on a home or work network will be fairly stable. A VPN will give you another IP and may or may not be stable (depending on the size of the VPN).

Typically, the mechanism by which you connect to that network is irrelevant in regards to how your IP addresses are assigned. Though some networks, like a mobile network, only have one mechanism of connection.

@Prtksxna Given all that, I think "network" is the best term. It's less technical than "IP Address" and it implies that there is something the user can do to fix the problem (change the network they are connected to). I don't think most people know that the IP Address is specific to the network they are connected to.

@Prtksxna Another thought.... perhaps something more verbose would help? Like:

The network you are connected to has been blocked from editing

or something like that?

@dbarratt @Prtksxna I'm wondering if IP address might be best after all...

For users who don't understand IP address, they will still know what to do because of the call to action. They may also be able to look up IP address or ask someone who does know. For users who do understand IP address, we are telling them something useful about the block.

If we use network or connection, then anyone who doesn't understand these terms will be in the same position as if we had used IP address (assuming they also don't understand IP address). However, anyone who does understand these terms will have an incorrect impression of what the block is doing.

Yeah, I agree @Tchanders. Let's go with IP address.

We just saw in the comments above how using anything else would require way more explanation too.

Niharika closed this task as Resolved.Oct 2 2020, 7:43 PM