kamilion / customizer

Ubuntu Live CD remastering tool
GNU General Public License v2.0
306 stars 94 forks source link

Optimal UI design and size #145

Closed ghost closed 7 years ago

ghost commented 7 years ago

This is a transitional issue that appears after fixing issue #143 B and also related to issue #125 that affects UI design. There are two minor problems: First, inconsistent UI across different locales; Second, debian/copyright file has 80 characters width, which is still wide.

Inconsistent UI

Customizer GUI looks compact and clean, except it is not consistent across different locales. Translated text on button is sometimes longer than English text, which causes buttons to have varying width and tabs overflow (Even without the fifth tab, tab overflow still occurs). For example, Bulgarian locale:

gui-413-5a-env-bg-old

The only other locale we have now, Korean, doesn't suffer from the inconsistent UI because Korean characters are using 'compact' characters (similar to Chinese and Japanese characters):

gui-413-5a-env-ko-old

Meanwhile, default locale, English, is saved by the Sans Serif font style (the one without the glyph), which takes less space compared to Monospace font style.

UI window resizing (updated)

For resizing UI window, I have used wmctrl utility with various dimensions. The resulting screenshot image has slightly larger dimension due to including window decoration and border, which shall not to be mistaken for UI window dimension. The current dimension used by Customizer GUI:

After some trials and errors, I found that 520 x 390 pixels is the optimal UI window size that can fit longest text on button (in this case, Bulgarian translation for "Edit sources"), while having more or less same size of buttons, and eliminates the tab overflow buttons (The fifth tab will be removed later).

gui-413-env-bg-6a

Also, at this size, UI widget can contain copyright text within 60 characters width, without parsing extra text to the next line due to word wrap feature in Qt by default. The 60 characters width is based on the copied license text of GPL-2 in the enhanced debian/copyright file.

gui-420-6c

The top URL in debian/copyright needs no modification, since it is just one-line text that follows Debian specification. Our attention is towards text that consists of paragraphs (whatever comes after what you are seeing in the screenshot).

Proposed solution (revised)

Thanks to the grid layout designed by the original developer, there is no further modification needed for the existing tabs. The proposed solution therefore consists of two parts:

  1. The default UI window size shall be increased from 437 x 324 pixels to 520 x 390 pixels (height is reduced by 10 pixels from earlier proposal)

  2. The debian/copyright file shall adjust text to fit within 60 characters width

In related matter, I actually found a relatively new review of Customizer 4.x (I lost the bookmark link, it was written in non-English) that actually show screenshot after resizing the current UI window. This hints that end-users may prefer using slightly larger UI window than current one.

One may ask, why the resized UI needs extra height when only extra width is required to fit the text? The following are supporting facts:

  1. I have tried reducing the height, but it will look wide and squished (unnatural); Perhaps this has something to do with most program that I observe has approximately 5:4 of width to height ratio

  2. The demo UI window (the last screenshot of 'MainWindow') has default dimension of 438 x 388 pixels, so the proposed height was rounded from 388 to 390 pixels

  3. The proposed height is mainly influenced by the content of 'About' tab > Version, where 128 x 128 pixels of image label and several text labels are included (see issue #125 for sketchy UI)

Optimal UI for future

Even at optimal size, Customizer UI looks "stretchy and empty" around 'Configuration' area. Despite this, I don't see any need to fix the look. The area can be used by future contributors to add something minimal but effective within 1-2 lines of space i.e. text field to specify custom ISO image name before rebuilding ISO (This is implemented by the official fork via config file, but not part of GUI).

Not perfect solution

The proposed solution isn't perfect, because there are some locales that have longer text than Bulgarian translation (I have tried random locales using Google Translate for 'Edit sources'). When such locale is being submitted, then only we can think other ways to deal with. For now, UI window resizing is supposedly the easiest solution I know.

The proposed solution will be applied in patch release 4.1.5 later.

For any opinion to disagree with optimal UI design and size, or having better suggestion that can solve above problems, leave your comment at below.

kamilion commented 7 years ago

As I use Customizer on a raspberry pi2 with a tiny 640x320 LCD, I can tolerate the window increasing width; but I'd prefer to keep the height the way it is (or even decreased as much possible).

Image of low resolution LCD

Personally, my opinion is as follows.

ghost commented 7 years ago

The debian/copyright file shall adjust text to fit within 60 characters width

The text width has been fixed in last update in "old stable". Besides that, this issue is no longer relevant, because "old stable" will be deprecated.