WordPress.org

Make WordPress Core

Opened 15 months ago

Last modified 11 hours ago

#38332 reopened enhancement

"Cheating" message insults; needs changing

Reported by: ElectricFeet Owned by:
Milestone: 4.9.3 Priority: normal
Severity: normal Version: 2.9
Component: General Keywords: has-patch
Focuses: administration Cc:

Description

"Cheating" is regarded as dishonest. Calling someone a cheat is hurtful if the accusation is not true.

I develop with WordPress on my local machine. When I'm working on a WordPress problem I leave all my server and browser sessions open for hours at a time (and overnight), so that I can pick up where I left off.

Once a day, I get the message "Cheating, are we?" (in en-GB; in en-US it's "Cheatin' uh?"), as WordPress automatically logs me out.

It never ceases to annoy me to be unjustly accused of something I am not doing.

I would also bet that only a tiny minority of users are wilfully being dishonest when they get this message. Most will have got there by mistake or -- as in my case -- by WordPress design.

It's a shame that a program that I like and respect treats its users this way. It's also a shame that it doesn't take the opportunity to explain what the message really means (by including, for example, something like "you've been automatically logged off") though I realise that the message may occur in many contexts.

How about at least changing it to something less insulting?

I would propose:

"I'm sorry USERNAME, I'm afraid I can't do that".

This would:

  • Remove the insult;
  • Brighten our days by paying homage to a great film (RIP Stanley Kubrick);
  • Maintain a witty sense about it -- which I'm sure was the original intention with "Cheatin'";
  • Imply humility, as it subtly acknowledges that the refusal may be unreasonable.

Attachments (2)

38332.1.patch (20.1 KB) - added by dmsnell 20 hours ago.
Replaces "cheatin" message with already-translated and less hostile wording
38332.diff (21.1 KB) - added by peterwilsoncc 11 hours ago.

Download all attachments as: .zip

Change History (24)

#1 follow-up: @Presskopp
15 months ago

  • Resolution set to duplicate
  • Status changed from new to closed

Duplicate of #14530.

#2 in reply to: ↑ 1 @ElectricFeet
15 months ago

  • Resolution duplicate deleted
  • Status changed from closed to reopened

Replying to Presskopp:

Duplicate of #14530.

I understand why this might be seen as duplicate, but it's not covered by that ticket.

As stated in that ticket "The immediate goal of [that] ticket was to give context to the Cheatin' message." And that was done and hence the ticket was closed. However, the fix didn't address the other issue in that ticket -- that of the insulting nature of the message -- which is what I am doing here.

The discussion in that ticket that touched on the insulting nature of the message distilled into:

  • It's not a message people see every day;
  • It's part of the culture of WordPress to be jokey/witty.

Unfortunately, it IS now a message people see very often (possibly made worse by the increasing use of the Customizer?) and the new text I proposed does keep the general humour while removing the insult.

Several people in that ticket said they felt the message was

"snarky ... shady ... rude ... confusing ... cheeky/unprofessional ... I received some angry emails ... from users who thought it was either an inappropriate translation or a core bug".

So while that ticket focussed on giving context to the message, this ticket is about finding a way to remove its insulting nature.

#3 @BandonRandon
15 months ago

  • Resolution set to duplicate
  • Status changed from reopened to closed
  • Version changed from 4.6.1 to 2.9

So while that ticket focussed on giving context to the message, this ticket is about finding a way to remove its insulting nature.

I understand that difference however at the same time, I think #14530 addresses both the context and the content. In the end it was decided to keep the "Cheating Uh" message but add context.

For more see these comments:
https://core.trac.wordpress.org/ticket/14530#comment:52
https://core.trac.wordpress.org/ticket/14530#comment:38

What is or isn't offensive is highly subjective and relies on culture, experiences, language, knowledge, etc. For example, your proposal, still relies on culture understanding (which I honestly couldn't name which film or fully understand the joke).

One of the great things is that this message can be changed to my knowledge, by hooking into to wp_die_handler() or editing the translations for that string specific to your site.

#4 @SergeyBiryukov
15 months ago

How about at least changing it to something less insulting?
I would propose:

"I'm sorry USERNAME, I'm afraid I can't do that".

FWIW, this sounds good to me. Most of the discussion in #14530 took place 2 or more years ago, maybe it's time to reconsider.

#5 @ElectricFeet
15 months ago

What is or isn't offensive is highly subjective and relies on culture, experiences, language, knowledge, etc.

That is exactly my point. Thank you :-) Many people do find this insulting even if some just find it funny. In the translation to my second language, it also has overtones of rudeness -- it's been perfectly translated (capturing the humour), but the adjective used for the translation has origins in criminality and has "fraudulent" as one of the definitions in my dictionary.

For more, see these comments in the same ticket:
https://core.trac.wordpress.org/ticket/14530#comment:8 "gives an unprofessional appearance of WordPress ... assumed the guy was doing something shady on his site ... make it more palatable to folks who don't understand our sense of humor."

https://core.trac.wordpress.org/ticket/14530#comment:9 "+1 on this. I don't see any particular reason not to replace the (snarky, IMO) current message"

https://core.trac.wordpress.org/ticket/14530#comment:20 "is indeed rude and confusing"

https://core.trac.wordpress.org/ticket/14530#comment:33 "[here's a replacement proposal] ... At the very least, it is not cheeky/unprofessional."

https://core.trac.wordpress.org/ticket/14530#comment:48 "I received some angry emails ... from users who thought it was either an inappropriate translation or a core bug"

For example, your proposal, still relies on culture understanding (which I honestly couldn't name which film or fully understand the joke).

That's OK. Many don't know what Hello Dolly means either. Those who know the film will find the message funny. Those who don't will find it innocuous. But no one will find it rude.

However, I'm not tied to this particular replacement suggestion. If someone can come up with a better solution, that's fine too.

For example:
https://core.trac.wordpress.org/ticket/14530#comment:41 If we want to sustain the flavor, let's insert a cheeky "something's messed up" image.

The bottom line is why keep something in core if it's offensive to many?

#6 @peterwilsoncc
15 months ago

I agree, it's time to look at this again.

It's language that has the potential to be insulting, the potential to induce stress and can make the user feel like they are at fault for things they don't control. In the wrong circumstance, it doesn't seem fun.

Softer language can reduce the likelihood of these potential problems.

#7 @SergeyBiryukov
15 months ago

  • Resolution duplicate deleted
  • Status changed from closed to reopened

#8 @karmatosed
15 months ago

I feel that "I'm sorry USERNAME, I'm afraid I can't do that" works in place of a general failure message. I'd be more keen on clearer messages but it is better than what we have. Thanks for the suggestion @ElectricFeet.

#9 follow-up: @pento
15 months ago

  • Keywords needs-patch added
  • Milestone changed from Awaiting Review to Future Release

I'm fine with changing the message, but I'd like some more suggestions on what the new message could be. A bit of personality is good to have here, noting that it does need to be translated into a lot of different languages. Pop culture reference (such as the suggested quote) are good, because they've probably already been translated many times.

Also, the original problem is that WordPress is not detecting when the session times out, which it absolutely should be able to do. When that happens, it should present a more useful message.

Ensuring that data isn't lost between the error being detected and the user logging back in would be pretty sweet, too.

#10 in reply to: ↑ 9 @ElectricFeet
15 months ago

Good to see this is getting traction :-)

I'm fine with changing the message, but I'd like some more suggestions on what the new message could be. A bit of personality is good to have here, noting that it does need to be translated into a lot of different languages. Pop culture reference (such as the suggested quote) are good, because they've probably already been translated many times.

It could also be "Oops! We messed up somehow.", or similar. Or even something like Github's 503: https://github.com/503

Also, the original problem is that WordPress is not detecting when the session times out, which it absolutely should be able to do. When that happens, it should present a more useful message.

Absolutely. Improving the messages was the main thrust of the other ticket ( https://core.trac.wordpress.org/ticket/14530 ), which spawned lots of other tickets to improve individual sub-messages. While I agree that there is probably still work to do on improving the sub-messages and making sure that data is saved, I'm keen that this ticket focuses only on the "Cheatin'uh?" part of the message. Otherwise it risks not getting done -- as in the previous ticket where it got lost because the two issues were mixed up together.

#11 @EricMeyer
15 months ago

As someone who’s criticized this exact error message in public talks, I’m all for changing it. The “I’m sorry Username, I’m afraid I can’t do that” strikes me as relatively workable as long as it’s accompanied with an indication of why it can’t be done. It does carry a bit of in-joke baggage, but I think it probably works even for those who don’t get the joke.

Although I can see myself reacting with “Well WHY can’t you do that?!?!?” before reading the error message that follows. The initial frustration is soothed a bit by the extra information, but I’m not sure it’s worth ramping up that initial frustration in order to soothe it a line later.

Another approach would be a straightforward and honest admission. A few ideas that come to mind:

  • Sorry—Something Completely Unexpected Went Wrong
  • A Completely Unexpected Error Occurred
  • Something Broke. It Looks It Might Be…

(That last one only works as long as there are useful diagnostic messages after the heading, of course, but I understand from previous comments that those messages do exist.)

At core, if you’ll pardon the expression, I think the best message is one that doesn’t mock or tease people, and doesn’t try over-hard to be cute. Errors like this are an inherently tense situation, and using humor to defuse a tense situation really only works if you know the tense person and their sense of humor very, very well (and even then it can backfire). I defer to MailChimp’s http://voiceandtone.com here, specifically the section on failure messages. That may not be the final word on how to deal with these sorts of situations, but it’s an excellent starting point.

All of which is to say, this is a tough problem to solve, and it may require a few iterations to get right, but I’m very glad to see that there’s interest in solving it.


[Links edited to use trac styled markdown. - peterwilsoncc]

Last edited 15 months ago by peterwilsoncc (previous) (diff)

This ticket was mentioned in Slack in #core-customize by clorith. View the logs.


15 months ago

#13 @karmatosed
5 weeks ago

  • Milestone changed from Future Release to 4.9.2

A huge plus one for getting something in and also not being overly cute in the way we tackle this. As per @EricMeyer's suggestions I think the following work as starting points:

  • Sorry—Something Completely Unexpected Went Wrong
  • Something Broke. It Looks It Might Be…

I would vote to get in the first and then work on how we can display messages that are right to bring in the second. My preference is to show exactly what went wrong, information is better than cute. Let's make this happen in 4.9.2 as it's a small but important change.

Last edited 5 weeks ago by karmatosed (previous) (diff)

This ticket was mentioned in Slack in #design by karmatosed. View the logs.


5 weeks ago

#15 @dd32
5 weeks ago

There's three main ways this phrase is used IIRC:

  • The link you've followed has expired (please go back and try again?)
  • You don't have access to that area (please as your WordPress Administrator if you believe you should have access to it?)
  • Something completely unexpected happened, and this is all the error handling we have for it

I'm definitely +1 for changing this, although I'd prefer to do the above 3 generic type responses first round, rather than have it changed multiple times.

#16 @BandonRandon
5 weeks ago

I'm definitely +1 for changing this, although I'd prefer to do the above 3 generic type responses first round, rather than have it changed multiple times.

That does seem to make the most sense. As for what the message actually are. I would like to brainstrom the following:

The link you've followed has expired:

  • The link you followed has expired, head back and try the action again.
  • Action has expired, head back and try again.
  • Oops, please go back and try again.

You don't have access to that area:

  • Your role does not allow access to this page. Check your role or with your WordPress Administrator.
  • Access denied: verify your role or check with WordPress Administrator .
  • Sorry, additional privileges needed to view this content.

The you not having access to the page is perhaps the trickiest because what if they are an Administrator but are be prevented by changes they made. (I've totally locked myself out of pages before while experimenting with roles).

Something completely unexpected happened, and this is all the error handling we have for it:

  • Whoa there, something unexpected happen. Sorry about that.
  • Oops, something went wrong. If we knew more we would let you know.
  • Uh oh! This is all the error handling we have, but something unexpected happened.

#17 follow-up: @peterwilsoncc
5 weeks ago

Reviewing the code base, along with the language considerations there is the following:

CSS class .cheatin
This and the associated HTML should probably be kept as is. If the HTML is changed, the class will need to remain in CSS to maintain back-compat for developers following Core's HTML structure.

object.cheatin in the customizer's JS
WP will need additional properties for new messages. For back-compat, the new default text can use the cheatin property.

I think WP is stuck with these nods to the past, a language change is not worth breaking compatibility for.

#18 @karmatosed
5 weeks ago

I asked Mark Armstrong to give some insight's as an editorial writer to this.

Sorry—looks like something went wrong.
Something’s not right. It looks it might be… [custom message]

Those both work really well I think.

#19 in reply to: ↑ 17 @ElectricFeet
5 weeks ago

Replying to peterwilsoncc:

Reviewing the code base, along with the language considerations there is the following:

CSS class .cheatin
This and the associated HTML should probably be kept as is. If the HTML is changed, the class will need to remain in CSS to maintain back-compat for developers following Core's HTML structure.

object.cheatin in the customizer's JS
WP will need additional properties for new messages. For back-compat, the new default text can use the cheatin property.

I think WP is stuck with these nods to the past, a language change is not worth breaking compatibility for.

I agree that the class/object names can stay the same for back-compat.

The problem is on the front-end for users/clients, which is where the language needs to be changed.

#20 @dd32
6 days ago

  • Milestone changed from 4.9.2 to 4.9.3

Bumping to 4.9.3 due to 4.9.2s release

@dmsnell
20 hours ago

Replaces "cheatin" message with already-translated and less hostile wording

#21 @dmsnell
20 hours ago

  • Keywords has-patch added; needs-patch removed

https://core.trac.wordpress.org/attachment/ticket/38332/38332.1.patch

At WordCamp Albuquerque 2018 Contributor Day we found an existing string that was translated that seemed to convey the function of the "cheatin" message but without the hostility. We opted to reuse an existing string so that this patch could merge and not cause a loss of translation or increase the burden on translators.

Of note, something that I would appreciate some review on, we modified the key on the JavaScript global variable _wpCustomizeControlsL10n. We believe that we covered all of our internal uses of this key but it's not clear to us whether plugins or themes may also depend on the existing cheatin property.

Thanks for the review, we hope this resolves the issue.

Last edited 20 hours ago by dmsnell (previous) (diff)

@peterwilsoncc
11 hours ago

#22 @peterwilsoncc
11 hours ago

Thanks for the patch @dmsnell. If anyone helped you with in on the contributor day, could you please add their name to the ticket so they're sure to get props?

In 38332.diff I've built on the original patch a bit:

  • In most cases the error is known & detailed: An error has occurred.
  • Where permission is denied, I've switched the heading to You don’t have access to this area.
  • The generic nonce failure message is replaced with: The link you followed has expired.
  • I've removed changes to class names from the original patch, plugin authors may be relying on them so I don't want to break backward compatibility
  • For backward compatibility, I've kept cheatin as a property of _wpCustomizeControlsL10n even though it isn't used by core.

Additional review of core messages sent to wp_die() shows the following as potentially insulting, or a little brief:

  • Slow down cowboy, no need to check for new mails so often!
  • Invalid post type.
  • Invalid taxonomy.
Note: See TracTickets for help on using tickets.