Page MenuHomePhabricator

Add a feature to notify user before publishing a description when a non-latin script is added to latin script field
Closed, ResolvedPublic2 Estimated Story Points

Description

Currently the app doesn't notify the user when he/she adds a non-latin script language description in latin script. Although in WD the the edits are triggered by the filters but the user is not notified at the time of adding the description.

Here a new user (Aditya Mishr) have started adding description at the the place where Hindi language description is supposed to be added. The edits has been reverted and notified on his talk page. But he may not have noticed it. In this page it has been mentioned '

If edits made through the Suggested Edits feature subsequently get reverted (but not if the edits are merely fixed or amended by other community members), users will lose access to Suggested Edits.

But the next day the user was able to add the English label to the Hindi description field after the all previous reverts. If a new user starts contributing towards Wikimedia projects they may not be fully aware of the policy regarding descriptions. So a short note (push / pop up) notification in a single page about the description policy for the first 3+ edits will be helpful for them to contribute.

image.png (1×591 px, 270 KB)

In this image i have opened the page to add Malayalam language description. Here the heading is showing in English (may be Malayalam translation is not added) to add article description. I think if which language the description is going to be added is shown before the input field it be more helpful for newbie users. Like 'Article description in Malayalam' or the language it is been added to.

So a pop up notification before publishing the edits saying the entered description is not a latin script and displaying the language the description is going to be published can reduce the errors in the Suggestededit feature in the app.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

Thanks @Gnoeee - good idea.

@schoenbaechler - Could we please design another advanced submission warning a la the other ones?

Charlotte set the point value for this task to 2.
Charlotte added a subscriber: Johan.

Note for posterity:" we decided to compare the language code of user's current keyboard with the language code of the target wiki. If they do not match, we will throw up an error message.

@schoenbaechler - perhaps decide with @Johan what the message should say.

@Johan could you please give me the copy for this? [Sug: "Your keyboard language and editing language are different. Are you sure you are editing in the correct language?"] Also please let me know if this is a yellow level warning

yellow.png (2×1 px, 125 KB)

Or red ..

red.png (2×1 px, 125 KB)

I think the main difficulty here lies in the fact that the user, if new, might not understand the concept of different languages on Wikipedia or Wikidata. In the best of worlds, we'd tell them which language they are currently editing, to get the point across. But that might be too difficult here. I realise this might be too long, but if it works, I'd love to imply that a) there are multiple languages to choose from and b) they have picked one, somehow:

Your keyboard language and the language you have picked to write a description in are different. Are you sure you are editing in the correct language?

My best guess is that the difference between keyboard language and editing language being yellow or red here depends on where we draw the line, and I'm not exactly sure of that. We talk about different scripts but also different languages. If it's language it's definitely yellow and we should expect this to be normal for a number of users: I will always use a Swedish keyboard to add English text, as all English characters are present (we just add å, ä and ö). If it's a different script, it's probably red? I might be missing use cases here, or ways to edit, but off the top of my head, I can't think of a good reason to add a e.g. Latin description to a Devanagari-script language, unless it's one of the languages with multiple scripts and we're not recognising that?

Just making sure, if we're talking about languages and not scripts:

Will there be a way to turn this off/make it go away once one has made sure one is editing in the right language, and not be prompted every time? I will continue editing with a keyboard/language mismatch. The same would probably be true for most speakers of Swedish, Danish, Norwegian, German, Finnish and so on who edit in multiple Latin-script languages.

Thanks @Johan for the excellent points.
Let's definitely make it a warning-level message (yellow, not red), and make it appear only once.

If we want to get slightly more fancy, Google Play Services has an actual language detection function (via firebase), which literally guesses the language of a string of text.
https://firebase.google.com/docs/ml-kit/android/identify-languages

It looks fairly easy to plug into. Can we try it out?

thank you @Johan and @Dbrant . I actually had the exact same thought and used the Language identification service available on Firebase. I have the PR ready. https://github.com/wikimedia/apps-android-wikipedia/pull/1688. Works something like this: https://youtu.be/s3D3neORQS8

Ya i agree with the points of @Johan . Its possible for a user to edit with a keyboard/language mismatch. So prompt can be only for new users / first time user having less than xx edits or something like that.

Suggestion:

Some users may also have added more than one lang in general settings. So mentioning the lang in round brackets next to the title of input section similar to what it displays while we select 'Translate article' is also a better way to indicate the description is supposed to be added in that lang.

image.png (1×591 px, 256 KB)

I like any attempt to make very explicit what language you're supposed to add in, and if possible the compared language.

@Dbrant @Sharvaniharan Is there a risk it'd mistake very short strings, especially between related languages?

@Johan by default, the service declares that a language has been detected , only when its confidence is >50%. There is also a provision for us to set this confidence score to any value we like. Would you like it to be set to a higher value? Like say, only if we are 75% or more confident about the detection?

Is there anywhere I could play with the service and test some short strings to figure out what these numbers might mean in practice?

@Johan The service itself doesn't have a sandbox, you would have to build and install their sample app from github. So I built our app instead and here is the apk you can install and test: https://drive.google.com/file/d/1P5s2pSSxBhL6m25fXUOf0vqoako7Z7JM/view?usp=sharing

I've played around a bit with it, alternating between writing two similar languages (Swedish and Norwegian) in what's supposed to be Swedish, and I don't have a strong opinion on the confidence score. It worked well most of the time, but also both failed to recognise Norwegian and marked correct Swedish as another language.

But of course, I was looking to test it, which the average edit will not. Maybe a somewhat higher value than the default would serve us best? My limited attempts gave no definite answer.

(We might need to adapt this based on feedback?)

@Johan Agree! How about setting it at 0.65 as a starting point now, and in the future as we get feedback we can take a call?

Thanks for that. Looking great on this latest update.