vitorpamplona / amethyst

Nostr client for Android
MIT License
1.13k stars 155 forks source link

Autotranslate sucks. Needs to be optional #81

Open rmsalinas opened 1 year ago

rmsalinas commented 1 year ago

Hi, I really love the app but autotranslate will make me stop using it. I prefer read the post in the original language. Thanks 🙏

vitorpamplona commented 1 year ago

Thanks for the feedback. Do you have a list of languages that you don't want to translate?

For me, for instance, I don't want to translate English and Portuguese. For that, I added both languages on Settings / System / Languages and Input / Languages. In that way, the app won't translate the languages you speak.

Would that work for you?

rmsalinas commented 1 year ago

Thanks for the tip. Best in my opinion is to add an option in the tweet to disable the autotranslate for that language or for any language

vitorpamplona commented 1 year ago

Yep. It will be coming. I just want to separate the idea of auto-translate from the support for exceptions.

bokybanton commented 1 year ago

Yep in order to deactivate auto-translating I need to active another languages on my system... Please solve this meanwhile this option it is very unuseful. You SHOULD READ original content in its original source, I prefer uninstall the app instead of install dozens of different input languages to read original content, ....

bokybanton commented 1 year ago

I would say autotranslating is performing ram usage in my device, I am cheking right now...

vitorpamplona commented 1 year ago

It shouldn't be using much ram. The local Nostr database and a single profile image uses more than the translation feature.

Options to disable are coming.

bitcoinuser commented 1 year ago

I would say autotranslating is performing ram usage in my device, I am cheking right now...

Same with me.

lontivero commented 1 year ago

Of course this is a great feature for some people but it is sooo annoying. It is hard to imagine how awful it is to have to clickon English in every single note again and again, and again hundred of times.

vitorpamplona commented 1 year ago

You can either add English to the languages you speak or if you are in the latest version, you can disable translations from English.

Here's a video: https://nostr.build/av/nostr.build_e5286525acb00c94606035ab951f5c2cc28aac1418bc5521deb050a3f170199a.mp4

lontivero commented 1 year ago

Thank you. I will upgrade then. Beautiful app.

1div0 commented 1 year ago

Molto bene. Grazie mille!

rmsalinas commented 1 year ago

Excelente. Bravo! Nice improvements in the last version. Thanks a lot for your work

bokybanton commented 1 year ago

adding input languages doesnt work for me and even with gboard. also the app is running very slowly due to auto translation. i think it is a big issue because people by default doesnt have different input languages.

vitorpamplona commented 1 year ago

Were you able to disable the translation in the app?

bokybanton commented 1 year ago

Yes I was able to do that but sometimes translate from weird languages. Maybe NOSTR protocol needs a language tag....

bokybanton commented 1 year ago

I was searching for language tag on nips but there is not this functionality... I don-t know how to start to recommend it or contribute with this idea but it would be useful for the auto/translation even for more interesting things...

braydonf commented 1 year ago

There is a case where auto-translate things that shouldn't be translated, for example if it detects French, but it's not really (e.g. "Dis true" -> "Say").

I think that the default should be to not have it enabled.

braydonf commented 1 year ago

Also related: https://github.com/vitorpamplona/amethyst/issues/117

bokybanton commented 1 year ago

@vitorpamplona please delete auto-translating. Even nobody understand why you force autotranslating.

bokybanton commented 1 year ago

This kind of chauvinism is not seen on many projects. If anyone knows how to fork the project and delete de auto-translation I would like to help!

bokybanton commented 1 year ago

Also language translation service is based on google translation, We are on nostr trying to escape from big techs, yup, google translating all notes I am getting on nostr is creepy. Another issue to not use Amethyst.

bokybanton commented 1 year ago

Yep, right now Google knows everything is getting my nostr client.

vitorpamplona commented 1 year ago

Google doesn't see your messages. The translation is on-device only. Everything runs in the phone.

braydonf commented 1 year ago

Ran into a few other cases of mistaken language auto-translation.

I've disabled translating from each language, by clicking on "auto", however there are many languages.

braydonf commented 1 year ago

The translation is on-device only. Everything runs in the phone.

How much does this add to CPU and memory usage? Also increase the build/release size?

braydonf commented 1 year ago

Okay, another mistaken auto-translation: "ZOMG 👀" -> "👀" (Mistaken for Polish, tried to translate into English).

braydonf commented 1 year ago

How to disable auto-translation for all languages?

vitorpamplona commented 1 year ago

The translation is on-device only. Everything runs in the phone.

How much does this add to CPU and memory usage? Also increase the build/release size?

Almost nothing. The translation is equivalent to processing 2 nostr events.

braydonf commented 1 year ago

Another, "Wut" -> "Rage" (auto-translation mistook it for German).

alltheseas commented 1 year ago

Somewhat related Wishlist: translate button: https://github.com/vitorpamplona/amethyst/issues/61

alltheseas commented 1 year ago

"I'm not pleased with Amethyst's auto translation by default. "Faster Thinkpad" it decided with high confidence was certain Swedish. Meanwhile I can't ask it to translate Japanese posts at all. https://i.imgur.com/kcg08gh.png" -W Togami

note1m242nd6xvwvlhjvfv8783e5jl0rt0md3fu99d7uka87qs656k30qp3xtwe

maxmoney21m commented 1 year ago

I would also like the option to disable auto translate completely, replaced with a button I can click to translate a specific note, maybe hidden in the 3 dots menu. @vitorpamplona where would be a good place in the UI at least temporarily to enable/disable auto-translate globally?

vitorpamplona commented 1 year ago

I have been asking tons of questions to users (both techies and non-techies) around this topic, doing some modified-app experiments with close colleagues and neighbors, and here are my initial conclusions:

  1. People's reactions to getting the App with auto-translate on and off are widely different. When it's off (and there are some amount of posts in a different language) two major reactions happen: (i) they think the app is not good enough because they cannot read those posts (they do blame the app for not being ready); or that the app is not made for them ("is this a Chinese app?", "why are you showing me this? I can't read anything") and (ii) they just ignore people on a different language instead of clicking in the translate button, or seek for a way to unfollow them straight up, without even knowing if what they have to say is interesting or not. Out of the ~10 people or so that I showed the app with a translate button, only 2 clicked on it, and they only click on one post (the next posts were just ignored - they think it's more of the same.. whatever the first post was about). This is similar to the behavior we saw before there was an auto-translate option, albeit with much more racism involved back then.

  2. There are 3 main complaints bundled with "auto-translate sucks" that are not really about the feature:

    2.1. Google skeptics: people that just want their life away from Google. When they ask to globally disable auto-translations, what they really want is to not have a Google call-home dependency. This is a problem because even if disabled, the lib will call Google to initialize the translation services (to know which language models are available, etc). I believe that, for these folks, the best option would be an F-Droid release that does not include any translation, language identification, or QR code scanning dependency (no ml-kit). That can be better addressed by a custom flavor of the app for F-Droid that removes the dependencies altogether and disables all these features. They want translations, they just don't want Google.

    2.2. Data Plan Usage: This affects people who are mostly on mobile plans (vast majority) and don't like seeing that the app is downloading unnecessary things in their mobile plan. Again, this is not about having the feature or not, it's just a matter of figuring out when to download these packages and/or how to allow them to choose to download when they need. If we do a better job managing when to download, and properly asking permission to download on mobile when it needs, they will gladly use the feature. Most if not all those that I asked have no issues using it after the download has happened over WIFI, for instance.

    2.3. Poor Translate options UI: This became very clear to me when Mr Togami let me know that he didn't know he could click the language names, in the Auto-translation message, to toggle translations back and forth, even after 3-4 WEEKS from his first complaints. The biggest issue we have right now is people not finding a way to disable an English-to-Native-language translation when they read English but don't necessarily have an English keyboard enabled on Android Settings. The feature exists: They just need to click on Auto and hit Disable from English. But it's still clearly too hidden/too "complicated" for some folks. The second issue is on how to keep the post in the original language until you want to hit the toggle to translate. This happens mostly with language learners or folks who have a partial understanding of the language. They want to see the original post first and have a choice to translate when required. This is achieved by the second option in the menu but is rarely found/understood by users.

    2.4. Runner up: Disk usage: 4 people have reported that they just don't like apps taking up space, even when their phones had plenty of space to be used. The image + language model cache does delete old models when users are running out of space, but people don't like seeing them in any way. We might try to decrease the disk space used with more compression (preview images/videos are their full-fat versions today), or offer more strict disk usage options. I just don't know yet how to make this UI without looking like too much info for mom and dad.

    2.5. Runner up: Translating hidden posts. The app will translate posts slightly before the post is visible to users. This is a regular Compose behavior. The issue is that they see the 50MB download notification and they don't understand what that is since they are not seeing any post that needs a translation yet. This is certainly a UX issue. But again, they will ask to disable the whole feature just because of this.

We fixed a lot of annoying translation issues in the past month that was making people request a global option to disable translations. Things like not seeing images, tags, or ln invoice previews because the translation was also translating urls or tags or misidentifying languages in posts that only had a URL, quote, etc. I believe now most of those issues have been fixed to the point that I now receive more complaints of a "complicated app" (~2-3/day) than "translation sucks/how to disable it?" (~5 per week). Please keep that in mind when studying the past of this thread.

  1. Here are the remaining true translation issues I see:

    3.1. Misclassifying languages: Sometimes 1-3 word posts are getting misclassified. We can probably reduce the error rate here by adding some filters on when to activate translations. It's not a lot of cases, but when it happens people always get triggered.

    3.2. Lack of ability to turn it back on once it gets disabled. This could be an option in the menu to translate from a language you have disabled. Maybe that option should re-enable auto-translations but mark it to show the original post first. So that the toggle becomes visible to all posts from that language. Again, UI issue.

    3.3. Translations not being "good enough". This is true, but it generally only happens together when 2.3, when people cannot find the option to see a language they can read first in the menu.

Once all of this gets addressed, I have not seen the need to globally disable auto-translations. And because of what happened in the early days of Amethyst (people only following their own language groups), I would try to resolve all of these other issues before offering the option to globally disable it.

If there is one thing that all (non-racist) westerners agree is that the translation should be auto for all non-roman/non-Latin languages. That's the only way they can even give the authors a chance to be heard/followed. I would assume the opposite is also true.

maxmoney21m commented 1 year ago

I might be the only one currently using Amethyst that is a real language nerd and polyglot, but my reason for wanting to disable the auto-translate is not listed above: I can read about 20 languages and I prefer to read posts in their native language. If I can't understand it, I'll click the translate button.

I'm not going to enable 20 languages on my phone to leave them all untranslated.

vitorpamplona commented 1 year ago

I might be the only one currently using Amethyst that is a real language nerd and polyglot, but my reason for wanting to disable the auto-translate is not listed above: I can read about 20 languages and I prefer to read posts in their native language. If I can't understand it, I'll click the translate button.

But here's the question... do you want the other languages translated? It seems to be that this is about a good UI to add 20 languages quickly enough (or add as they show up in your feed).

maxmoney21m commented 1 year ago

do you want the other languages translated?

No. I always like to see the native language first, and if I can't read it, then I will translate it.

AndreiRegiani commented 3 months ago

I'm a F-droid user. Is auto-translate still enabled by default for other users?

vitorpamplona commented 3 months ago

Yep. Play users have the in-device translations.