[rfc][icedtea-web][itweb-settings] Improve Icedtea-Web cache disk space
Jacob Wisor
gitne at gmx.de
Wed Sep 3 13:41:30 UTC 2014
On 09/01/2014 at 02:59 PM, helpcrypto helpcrypto wrote:
> On Sat, Aug 30, 2014 at 9:44 AM, Jacob Wisor <gitne at gmx.de> wrote:
>
>> No no, do not start playing around with visible and hidden UI components.
>> It is even worse when they change their layout or start jumping around like
>> it is now. Generally, there is never any need to hide UI components. If
>> there seems to be, then either there is something wrong with the basic
>> design of a window or dialog, or you should have very good reasons to do
>> so. And, in this case there is surely *no* reason to hide any components
>> dynamically at all. Again, stick to disabling components. This should be
>> enough.
>>
>> @helpcrypto
>> Yes, it is against basic UI design principles to have hiding UI
>> components, unless there are really good reasons to do so.
>
> Can you point a style guide, or a gui-best-practices which advices on that?
Well, there are multiple guidelines available, depending on OS, window managers
and/or desktop managers. It is difficult to point to a specific one in the case
of SWT and Java because it is platform independent. But, I suppose one could
take Microsoft's UI guidelines as a basis because of it's undeniable bread
adoption. It also shares a large set of rules with other UI guidelines form
other vendors.
> I have seen several GUIs wich only show the user what he needs to see, and
> I found them KISS-compliant
I think you are mixing to concepts here. KISS is about technical solutions, that
is how things should be solved in order for other engineers to comprehend the
work of the original authors, and generally assumes that simple technical
solutions are usually the most effective or efficient ones.
UI design guidelines employ a similar concept but not exactly KISS. Good UI
designs should not be overloaded with UI components and only display the right
amount of components required to accomplish the current task at hand. Hence,
users should not be overburdened with overloaded UIs. But, most importantly UIs
must not be confusing to users, and their behavior must be intuitively and
naturally predictable. Hiding and jumping UI controls feel absolutely unnatural
and inorganic. This is indeed bad behavior for UI controls.
I will give you a simple example why your way of thinking is flawed here. Take
for example a dialog with a list view and an edit button to edit the list view
items. Now, if no list view item would be selected then according to your
reasoning the edit button should be hidden because the user can take no editing
action while no list view item is selected. This is absolutely confusing to the
user. The user is supposed to be able to see and know all the possible actions
he can take at all times but should not be able to take invalid actions. This is
why the edit button in this example has to stay always visible but not always
enabled. Think about it. ;-)
>> Unfortunately, because of your attempt to play around with hiding UI
>> components you have introduced a new bug. When "Limit cache size" is
>> checked and the spinner is 0 then all components for setting up the cache
>> location suddenly disappear.
>
> Limit checked, value=0->no cache, hence no need of location, compression
> level or anything. It's not a bug.
> The warning under spinner informs about that.
This is logically correct but it is against basic UI design guidelines. It is
inorganic.
>> And, as soon as the value becomes greater than 1, they become visible
>> again. This is very odd, weird, and confusing. Again, do not play around
>> with hiding UI components.
>>
> The reason why i suggested "no caché" instead of 0.
As mentioned before, the UI components handling the cache's location should
simply be disabled in this case. No real reason to hide them.
Jacob
More information about the distro-pkg-dev
mailing list