I've been trying it for a while, it's good for what it is. But it really has some weird UX decisions. One of the weirdest UI(not UX) bugs was supposedly fixed a short while ago, where the translation bar somehow breaks the entire navigation bar of Firefox once you turn on translation. I wonder how this is even possible.
An actual UX decision I cannot wrap my head around is that it cannot be turned off once it you used it on a page/language. Maybe the assumption is that language decisions are completely binary. Either you completely understand a language or you absolute don't and will never understand it.
It's not really how the work is split in bigger commercial teams. The folk fixing the layout bugs aren't the folk who designed the page aren't the folk who designed the flow. I like to avoid big teams but even for me UI/UX mean very different things, you can find this split even on relatively small teams
A 2-3 person team might have frontend/UI/UX being the single 'frontend developer'
A 5-7 person team might have one or more frontend people and one UI/UX person living in Adobe suite all day
Maybe the 7 person team is receiving storyboards from a parent team where all the UX work was done centrall across several 5-7 person teams.
A user interface needn't be all visual (e.g., in a device with physical buttons, the buttons are part of the UI).
Some visual things might not be best thought of as part of the UI (e.g., if you have a piece of software for making publication-quality graphs, and when you ask it to plot a smooth curve through some points it does a lousy job of picking the smooth curve you actually wanted, arguably that's a visual matter but it isn't really part of the user interface, it's about the algorithms underneath).
They are related and probably sometimes overlapping. But you can think of UX as "what happens when a user clicks this button" and UI as "what color should the button have".
UI is specifically about the points of interaction between the user and the system. UX is about the entire, holistic experience of using the system, whether interactive or not.
The UI, the user interface, is the part of a system that you directly interact with. The UX, the user experience, is what it's actually like to use it, which is affected not only by the UI but also by other parts of the software.
"When I press this button, nothing happens for five seconds and then it displays the results." Bad UX. Probably partly the UI (if something might take a while, the UI should at least show some sign that something is happening, preferably in a way that gives some clue how long you're likely to be waiting). Probably partly not the UI (maybe the reason it's five seconds rather than 0.1 seconds is that the internals of the program are doing something time-consuming; maybe that's unavoidable, maybe a better algorithm would fix it. Or maybe it's waiting for a server somewhere else, and maybe smarter cacheing would help. All of that is UX, none of it is UI.)
"When I open the app, the first thing I see every time is an annoying popup inviting me to buy the premium version. I have to close it every time." Bad UX, at least from the user's point of view (it might be exactly the experience the business folks want users to have). I suppose the popup is part of the user interface, but the actual problem here is a business decision (advertise at users in the hope that they will be convinced and/or pay just to make the advertisement go away) that's contrary to users' interests. The best UI designers and implementers in the world won't change this.
"This thing is incredibly confusing to use". Bad UX. Might be the result of bad UI (e.g., no one has thought through how the menus should be organized). Might be because the underlying software is designed in a way that doesn't fit this user's brain, and changing this would need deep changes to the insides and not just UI changes.
UX (User Experience) is more about the process a user goes through. UI is more about the visual or physical elements a user interacts with.
For example, imagine you're designing about an online account creation flow.
The UX design would be deciding to identify people using email address, and then giving them the option of setting a password or logging in with a magic link to an email address[1].
UI would be about how you present that on screen. What is the layout? How do you make the two different choices clear, how do you indicate an invalid email address etc.
[1] Obviously there are other considerations here than UX such as security, but we're just talking about UX
> An actual UX decision I cannot wrap my head around is that it cannot be turned off once it you used it on a page/language.
More likely because it's harder to implement. Listening to change and translating one-way is relatively easy, but keeping track of the original state and making sure you don't leak memory doing it is a bit more involved.
Perfectly doable, but maybe they just went with "we'll do it later".
Chrome doesn't do this though, its translation requests are just sent to Google Translate for processing (which obviously includes the data you want to translate). This is offline and thus more private. It might be a little challenging to get it on mobile given that this is machine learning and so obviously needs some processing power though I don't know the requirements.
If this is the same tech (i.e. Bergamot project), I believe there is also a standalone online demo of the translation engine here: https://mozilla.github.io/translate/
Unhandled Promise Rejection: RuntimeError: abort(CompileError: WebAssembly.Module doesn't parse at byte 1088: can't get 0th Type's return value). Build with -s ASSERTIONS=1 for more info.
Why are people more and more linking to sites such as alternative.net or other rating or review pages instead of the product itself? Especially if i end up with a captcha instead of a product page...
1- Either because that's the source the submitting person first saw and didn't think of chasing down the root source before submitting;
2- or because the non-root source has added context and/or better writing explaining the situation;
3- or because (least common imo) submitter has a vested interest in promoting the specific site they link to.
Dang / other mods (are there others? I can't remember) are generally good at updating submission links to either the root or to a better write-up, when it doesn't seem that the one submitted does have a good claim to be the best site chosen for a story. (Of course they're more likely to do it if people helpfully provide the suggestion to flag that it could be improved, and suggesting a better link - as you did.)
But perhaps it would be worth having a small note on the submission form asking people to briefly reflect on whether the link they are submitting is indeed the best form of the story, or whether they could spend another minute following a couple of links (or doing a quick search) to find a possible better one?
4- Because the site has a better and more descriptive title than the original source, and HN does not allow editorializing titles.
The choice was perhaps not made between the add-on page and alternativeto. It was made between submitting an article titled "Firefox Translations by Mozilla Firefox" and "Official Firefox add-on bringing offline translation support to Firefox" which is a lot more descriptive.
Maybe you can develop it, if you want. The models and the source code for running it are all there, someone just have to wrap it in a standalone binary instead of a WebExtension.
Note that most of the heavy NLP code used (MarianMMT, fasttext) were originally written as C++ libraries but were compiled to WebAssembly to make a WebExtension out of it. So if you want to make a command line / GUI desktop app there are two choices: use C++ directly if you want to make an app with minimal dependencies, or use JS/WebAssembly to make a NodeJS / Electron based app (which might be heavier but more accessible for JS devleopers.)
Turns out it's just my main Firefox profile that's kind of borked somehow, or there's a bad interaction with another extension. On a clean(er) Firefox 91 profile I was able to use it.
Firefox Android blocks the vast majority of addons by default for some reason... you have to create a collection, add the add-ons you want to the collection and then setup Firefox to use that collection. They made it as painful as possible.
It didn't used to be like that, all addons were easily accessible in the Fennec engine (I think around v68)... Fennix is the problem.
> A CPU that supports SSE4.1 extensions is required for this addon to function properly.
So, AMD64 CPU's only, which means just about all Android platforms are out.
Despite using SSE it's slower than sending it to Google using this extension: https://addons.mozilla.org/en-US/firefox/addon/traduzir-pagi... Nonetheless it's very usable on a desktop. But if it was a factor of 2 or 3 slower on Android - perhaps not, and it would be a real battery killer.
Anyone knows why translations are performed on language pairs? In my humble non linguistic common sense I think translations would be more optimal if word meanings independent of base language were the basis of translations between languages.
A word in a given language is a representation of a word meaning. If you invent another representation, like a vector input into a neural network, you've just invented one more language.
The neural network will come up with its own internal meanings for words after reading lots and lots of input data. There are papers on "zero-shot" tests, where a network trained to translate languages A to B and B to C can do A to C without additional data because it maps the meanings of similar words in the different languages the same way.
It used to work well on twitter (chronological order), but after either the update to 103, or the recent add on update, translation works well at first, but then breaks and stops working (whether in “auto translate” or not)
47 comments
[ 2091 ms ] story [ 1124 ms ] threadAn actual UX decision I cannot wrap my head around is that it cannot be turned off once it you used it on a page/language. Maybe the assumption is that language decisions are completely binary. Either you completely understand a language or you absolute don't and will never understand it.
While auto-translation is enabled, the translation bar cannot be closed until it is disabled again.
Do you experience anything different?
What exactly is the difference? I've always seen those used as synonyms (I thought?)
Other parts of UX are latency, bugs, performance...
A 2-3 person team might have frontend/UI/UX being the single 'frontend developer'
A 5-7 person team might have one or more frontend people and one UI/UX person living in Adobe suite all day
Maybe the 7 person team is receiving storyboards from a parent team where all the UX work was done centrall across several 5-7 person teams.
etc etc etc
A user interface needn't be all visual (e.g., in a device with physical buttons, the buttons are part of the UI).
Some visual things might not be best thought of as part of the UI (e.g., if you have a piece of software for making publication-quality graphs, and when you ask it to plot a smooth curve through some points it does a lousy job of picking the smooth curve you actually wanted, arguably that's a visual matter but it isn't really part of the user interface, it's about the algorithms underneath).
The latter is a superset of the former.
"When I press this button, nothing happens for five seconds and then it displays the results." Bad UX. Probably partly the UI (if something might take a while, the UI should at least show some sign that something is happening, preferably in a way that gives some clue how long you're likely to be waiting). Probably partly not the UI (maybe the reason it's five seconds rather than 0.1 seconds is that the internals of the program are doing something time-consuming; maybe that's unavoidable, maybe a better algorithm would fix it. Or maybe it's waiting for a server somewhere else, and maybe smarter cacheing would help. All of that is UX, none of it is UI.)
"When I open the app, the first thing I see every time is an annoying popup inviting me to buy the premium version. I have to close it every time." Bad UX, at least from the user's point of view (it might be exactly the experience the business folks want users to have). I suppose the popup is part of the user interface, but the actual problem here is a business decision (advertise at users in the hope that they will be convinced and/or pay just to make the advertisement go away) that's contrary to users' interests. The best UI designers and implementers in the world won't change this.
"This thing is incredibly confusing to use". Bad UX. Might be the result of bad UI (e.g., no one has thought through how the menus should be organized). Might be because the underlying software is designed in a way that doesn't fit this user's brain, and changing this would need deep changes to the insides and not just UI changes.
For example, imagine you're designing about an online account creation flow.
The UX design would be deciding to identify people using email address, and then giving them the option of setting a password or logging in with a magic link to an email address[1].
UI would be about how you present that on screen. What is the layout? How do you make the two different choices clear, how do you indicate an invalid email address etc.
[1] Obviously there are other considerations here than UX such as security, but we're just talking about UX
More likely because it's harder to implement. Listening to change and translating one-way is relatively easy, but keeping track of the original state and making sure you don't leak memory doing it is a bit more involved.
Perfectly doable, but maybe they just went with "we'll do it later".
If this is the same tech (i.e. Bergamot project), I believe there is also a standalone online demo of the translation engine here: https://mozilla.github.io/translate/
Correct me if this is something else, though.
it think this plugin was meant: https://addons.mozilla.org/en-US/firefox/addon/firefox-trans...
1- Either because that's the source the submitting person first saw and didn't think of chasing down the root source before submitting;
2- or because the non-root source has added context and/or better writing explaining the situation;
3- or because (least common imo) submitter has a vested interest in promoting the specific site they link to.
Dang / other mods (are there others? I can't remember) are generally good at updating submission links to either the root or to a better write-up, when it doesn't seem that the one submitted does have a good claim to be the best site chosen for a story. (Of course they're more likely to do it if people helpfully provide the suggestion to flag that it could be improved, and suggesting a better link - as you did.)
But perhaps it would be worth having a small note on the submission form asking people to briefly reflect on whether the link they are submitting is indeed the best form of the story, or whether they could spend another minute following a couple of links (or doing a quick search) to find a possible better one?
4- Because the site has a better and more descriptive title than the original source, and HN does not allow editorializing titles.
The choice was perhaps not made between the add-on page and alternativeto. It was made between submitting an article titled "Firefox Translations by Mozilla Firefox" and "Official Firefox add-on bringing offline translation support to Firefox" which is a lot more descriptive.
https://github.com/marian-nmt/marian-dev
And the browser fork of it:
https://github.com/browsermt/marian-dev
- https://github.com/mozilla/firefox-translations
- https://github.com/mozilla/firefox-translations-models
- https://github.com/mozilla/bergamot-translator
Note that most of the heavy NLP code used (MarianMMT, fasttext) were originally written as C++ libraries but were compiled to WebAssembly to make a WebExtension out of it. So if you want to make a command line / GUI desktop app there are two choices: use C++ directly if you want to make an app with minimal dependencies, or use JS/WebAssembly to make a NodeJS / Electron based app (which might be heavier but more accessible for JS devleopers.)
https://browser.mt/
https://addons.mozilla.org/en-US/firefox/addon/firefox-trans...
https://blog.mozilla.org/en/mozilla/local-translation-add-on...
As usual, Firefox for Android is an afterthought.
It didn't used to be like that, all addons were easily accessible in the Fennec engine (I think around v68)... Fennix is the problem.
Maybe not:
> A CPU that supports SSE4.1 extensions is required for this addon to function properly.
So, AMD64 CPU's only, which means just about all Android platforms are out.
Despite using SSE it's slower than sending it to Google using this extension: https://addons.mozilla.org/en-US/firefox/addon/traduzir-pagi... Nonetheless it's very usable on a desktop. But if it was a factor of 2 or 3 slower on Android - perhaps not, and it would be a real battery killer.
A bigger problem is https://addons.mozilla.org/en-US/firefox/addon/traduzir-pagi... is not available on Android either. That's the No.1 reason I fire up Chrome on Android.
The neural network will come up with its own internal meanings for words after reading lots and lots of input data. There are papers on "zero-shot" tests, where a network trained to translate languages A to B and B to C can do A to C without additional data because it maps the meanings of similar words in the different languages the same way.
Anyone else noticed this? Found a solution?