yast / yast-installation

YaST module installation
http://en.opensuse.org/Portal:YaST
GNU General Public License v2.0
16 stars 45 forks source link

Switching the Language is Hard in the First Installation Dialog #912

Open shundhammer opened 3 years ago

shundhammer commented 3 years ago

Imagine you are eager to install your first Linux, and you are greeted by this:

y-inst-01-lang-greek (It's all Greek to me...)

Err... WTF is this? I don't understand the language. What am I supposed to do here? Can somebody please talk to me in a language that I understand?! How do I switch to another language here?


That's what we are doing to our users with our first installation dialog, only with English as the default language:

![y-inst-01-lang-en](https://user-images.githubusercontent.com/11538225/107537799-935be500-6bc3-11eb-825b-49c502e46a72.png)

This dialog is clearly overcrowded. Worse, it is overcrowded with stuff that makes the main purpose of this first installation step almost impossible: Switch to a language that the user can understand. 90% of the screen space being occupied by legalese blurb doesn't make this any easier.

This first installation dialog has been pressed into service for 4 completely different (and largely unrelated) tasks:

The only thing that it does well is the last one: Display the product license. Sadly, that is the one thing that nobody really wants; not the user, not the developers. Only the corporate lawyers.

Selecting the language is the most crucial operation here; without that, the user cannot make sense of anything else. This is basically a showstopper until (by sheer accident, not by design) the user discovers that tiny combo box with the languages that is tucked away in the top left corner. It doesn't draw much attention to itself. It's not very obvious that this is the thing to use to enable the user to understand the rest of the dialog.

Bottom line: This dialog fails miserably at its most important task.

shundhammer commented 3 years ago

Compare with this:

SuSE-9 0-inst-01-lang SuSE Linux Professional 9.0: first installation dialog (From http://pcracer51.atspace.com/blab/suse.html)

This also talks in a foreign language to you, but it has only one central interactive widget: A list of languages; and the content is immediately visible without clicking. Even if your language is scrolled out of sight, you get an idea what this is from all the different foreign characters; that is an intentional hint.

You are not overwhelmed (some may even say insulted) by legalese gibberish. You are not lost in a multitude of weird stuff. This lets you make one decision, and that's it.

Back then (in 2004 IIRC) we had put a lot of work and a lot of discussions into that. We came up with this first dialog for a purpose: To make it well usable, and to make the user feel welcome.

If you ever watched a DVD with several user interface languages, they tend to behave the same way: First let the user choose the language, then continue to the next step where that language is actually used.

shundhammer commented 3 years ago

I did not work for SUSE while the change from the one-selectionbox language dialog was made to that let's-cram-everything-into-one dialog (I would have defended the simple design with claws and teeth). I think I can understand the tought process here:

That would have been at least 3 different dialogs:

Probably some people complained that the number of installation steps was getting out of hand, so it was decided to cram all those three into one dialog.

That was a poor decision. Usability suffered greatly from it.

shundhammer commented 3 years ago

@hellcp might be interested in this.

hellcp commented 3 years ago

I am, and I fully support this:

SuSE-9 0-inst-01-lang

One criticism, look at the gnome language selector: Screenshot from 2021-02-10 18-39-02

I think an instantly visible filtering method would be very useful

shundhammer commented 3 years ago

@hellcp: Useful for power users, yes, but at the cost of adding complexity.

If there is an input field on the screen, I feel compelled to enter something. Yet it's only purely optional (for convenience), and it's caused by the number of duplicates in that list.

Five different versions of Catalan? Two of them even identical? (WTF?!) Three separate entries for Catalan for the tiny minorities of people living in Andorra, in France, in Spain? This is completely over the top, but this is the reason why a search function is even needed. And hey presto, you get yet another widget on the screen that draws attention to itself, diverting from the main purpose.

I don't think this is a good idea. This is overengineering at work; overengineering undermining good usability.

hellcp commented 3 years ago

I kind of worry about this because of the sorting method of languages, with examples like Greek that in Greek starts with E, or Finnish which in Finnish starts with S, and that's just for European languages using european alphabets, it may be difficult to figure out where to look for your language. I can tell that in case of the provided YaST screenshot, it at least used English names for sorting, but displayed entirely different names, which will certainly make it difficult to find the language you are looking for if a) you don't understand the sorting method; and/or b) you don't know English

shundhammer commented 3 years ago

This is a common problem for us Germans: Almost all web programmers sort countries or languages by the English country or language name, so "Deutschland" always ends up between "Georgia" and "Ghana" (because "Germany"). That's life.

But as you can see above, we used to do that quite well in 9.0: German ("Deutsch"), Greek ("Ellenika"), Hungarian ("Magyar") and all others are sorted correctly.

And the list isn't so huge anyway that it's not possible to go through each item (only one German entry, not separate for Germany, Austria, Switzerland).

hellcp commented 3 years ago

Greek is after French, so it's not correct

shundhammer commented 3 years ago

Greek is after French, so it's not correct

It may also be transcribed as "Hellenika". I recall they have a weird way of handling the "H".

dgdavid commented 3 years ago

Compare with this:

[Screenshot omitted] SuSE Linux Professional 9.0: first installation dialog (From http://pcracer51.atspace.com/blab/suse.html)

Or with the latest (20.2) Deepin desktop community that I was installing for testing purposes right now:

Deepin Desktop Community 20.2: first installation dialog

This also talks in a foreign language to you, but it has only one central interactive widget: A list of languages; and the content is immediately visible without clicking. Even if your language is scrolled out of sight, you get an idea what this is from all the different foreign characters; that is an intentional hint.

^^^ This paragraph applies perfectly to the previous screenshot. I just have to click on "Español"

Deepin Desktop Community 20.2: first installation dialog in Spanish

You are not overwhelmed (some may even say insulted) by legalese gibberish. You are not lost in a multitude of weird stuff. This lets you make one decision, and that's it.

Curiously, as you can see they use the pattern mentioned in https://github.com/yast/yast-installation/issues/903#issuecomment-763532465. I.e., a checkbox to accept the terms & conds, which the user can read by clicking in their links.

shundhammer commented 3 years ago

This is definitely better (disregarding the invisible scrollbar, so it's not that obvious that you can scroll this list).

I don't think that our corporate lawyers will accept their legalese not presented on screen without clicking, though; they will probably insist on that, so I fear we won't be able to avoid that screenful of license blurb. We can try, but I am not optimistic about that. ;-)

shundhammer commented 3 years ago

Also notice how they put the languages they consider most important (English, Chinese) first and then sort all the others in alphabetical order.

Fun fact: Since this is a Chinese distribution, they probably found that otherwise Chinese (zh_CN) would come last. ;-)