Minimum Display Size in KDE

September 6, 2006

A topic that periodically pops up in KDE is what screen sizes that should be acceptable. Usually someone thinks no one runs at the resolution 800×600 and therefore decides to think the minimum requirement should be 1024×768. Typically, people explains why that is not a very good idea and the suggestion is dropped, as seen in this recent thread.

Why is it then a bad idea to disallow the use of 800×600? Because the idea rests on this principle:

If someone breaks a normal chair because of having an over-weight, the solution is to build a bigger chair.

It is not. The solution is to not have an over-weight, such that a normal chair can be used.

The same applies to the screen size debate. That windows are huge is a symptom. It shouldn’t be work-arounded by accepting it.

Here is a list on why large windows are bad:

  • Disabled people might use a low resolution despite having a large screen. Also, font-related settings can make a window large. That is, this is an accessibility aspect.
  • No matter if a large or small display is used, one doesn’t want a large dialog in either case. Dialogs are supposed to be small, neat windows floating on the main document, giving the user a clear understanding of that the dialog affects and belongs to the main window. It’s not supposed to fill the whole screen. How practical is that?
  • When talking about “small” screen sizes, it’s not just about those old monitors. The diversity of hardware is only increasing(tablets, cell-phones, and so on) and as this continues, it will be more and more interesting to run KDE-software on those too.
  • That for example a configuration dialog is large to the extent it doesn’t fit on a 800×600 display reveals severe usability issues beyond it not fitting on a display.
  • Not all desktop users have dropped those old CRT-monitors in favour of large, flat TFT-displays. There is a large world out there which doesn’t live a life that some of us are used to, consisting of the latest hardware, IPods, and what not. Reaching and helping those users is something I personally finds interesting and gladly see KDE achieving.
  • Some languages are verbose compared to English and therefore the interface can require more space when being used in another language. That is, if a window is already large it will become even larger in some languages.
  • Many users are in fact using 800×600. A page by Jacob Nielsen dated 2006 claims 17% is using 800×600(the background of these statistics are on page 226 of his new book Prioritizing Web Usability, I was told). Browser News also claims 17%. A page at W3 Schools claims that in 2006 20% were using 800×600 on the web.

As can be seen, there is a wide range of different reasons to ensure windows work on “small” resolutions. Phrased differently, this topic is too complex for concluding that 1024×768 is sufficient, by watching what ones co-workers and family members are using.

An important thing to remember is that it’s not the windows themselves that should be 800×600 large. That’s the screen resolution that the windows must fit on. Therefore, windows should rather be designed for being of size 640×480 in order to ensure they fit and fit comfortably, when taking for example the kicker(start menu) into account.

State of the Art

That Clarence Dang writes “800×600 [...] doesn’t reflect the reality of some of our dialogs” it is a comment that unfortunately is true. If I recall correctly, there is plenty of KControl modules that are broken on 800×600 and one can find prime examples such as KMail:

KMail's configuration dialog in resolution 1024x768
Yes, this is one of the most used KDE applications, with a configuration dialog that doesn’t fit even on 1024×768.

The question is of course: what can be done to change this situation?

A year or two ago I made KCModuleProxy, the class that displays configuration modules in dialogs and KControl, wrap the contained module in a scroll area if it was too large. Scroll bars aren’t very practical but it did make dialogs at least usable, and it acted as a protection until the dialogs were fixed properly. But this mechanism got removed by a developer for whose dialog scroll bars appeared.

Another approach is to detect and report broken dialogs. If I recall correctly, Benjamin Meyer did this with DCOP magic in the now obsolete(I believe!) kdetestscripts. Perhaps the same can be added to EBN or similar.

Once KDE more rigidly has integrated its Human Interface Guidelines into development, it will perhaps be possible to pursue this with a successful result.

15 Responses to “Minimum Display Size in KDE”

  1. Promeneur Says:

    Thank you for your post.
    I have no money. I have A 15″ CRT with 800×600.
    My language is french.
    I use Linux with kde since 2002 and i rapidly learned that i mustt use my prefered short-key Alt-leftclick. KDE is very painful due to this pb.
    I report the pb to kde but no fix for 4 years.
    My CRT works well(excellent image and audio set) and i will change it only when it will be broken. I am not a technology fanatic.
    I do not understand why windows are not dynamical sizing windows. It is like web site some adjust their size to the monitor size and some not. I am not an expert but my web site is entirely adjustable to the monitor size.

  2. foo Says:

    > Dialogs are supposed to be small, neat windows floating on the main document

    Not true. I usually do open dialog’s to screen size. Why?

    - When you do open a file or save a file and want to overwrite another one, it’s beneficial to have a lot of files visible, instead having to scroll.

    - Bigger applications have usually lot’s of options to configure. Having the preferences dialog open to screen size is nice then.

    Of course there are also small dialogs. But it’s not that a dialog is supposed to be small; It has to match the information it deals with in the most accessible way.

  3. englich Says:

    If an application has options organized such that the user must make the dialog large(“many” has nothing to do with that), then the dialog is incorrectly designed. You shouldn’t need to maximize a dialog in order to make it usable or comfortable. Fix the dialog.

    I am not against that windows /can/ be large. I am saying that they should work and be resonably comfortable in the default size.

  4. Alan Horkan Says:

    KDE is always good about providing a lot of flexibility but showing all that information at once in huge dialogs is definately not a good thing, better to do one thing at a time.

    I like Krita a lot but it is definately another application that is very difficult to use on smaller screens. The use of two different types of panel dockers doesn’t help.

    > But this mechanism got removed by a developer for whose dialog scroll bars appeared.

    I am appalled that was allowed to happen, it makes KDE broken for a whole class of users and it is even worse that the developer failed to recognise the user interface had a bigger design problem that needed to be fixed.

    With the increasing use of laptops and other portable devices developers should more than ever making the extra effort to produce user flexible interfaces to work on all kinds of screens.

    Thanks for writing and highlighting this issue. Hopefully the developers who need to see it will.

  5. ac Says:

    In my case there is a very simple reason why I use 800×600; only at that resolution can my crt monitor handle a 100Hz refresh rate. Any lower refresh rate on this monitor and I get very painfull headaches within hours for days long. So while this crt monitor can handle 1024×768, my head simply does not.

  6. Rik Hemsley Says:

    Screen resolutions of visitors to my site, taken from Google Analytics:

    1024×768 42.75%
    1280×1024 26.47%
    800×600 7.86%
    1152×864 4.43%
    1280×800 3.77%
    1600×1200 3.54%
    1400×1050 2.10%
    1440×900 1.55%
    1280×960 1.44%
    1920×1200 1.22%

    As you can see 800×600 is the world’s 3rd most popular resolution – if you assume that my site is representative of the world ;)

  7. Aaron J. Seigo Says:

    > But this mechanism got removed by a developer for
    > whose dialog scroll bars appeared

    the reason it was reverted was that it was put into svn shortly before a release and was amazingly buggy. as one example, it was trivial to trigger infinite resize loops where the dialog content would stutter back and forth between two layout sizes rendering the entire dialog useless. in fact, some of the dialogs in their default sizes that did fit on 800×600 triggered this bug.

    in future i’d suggest committing code earlier in the release cycle with proper peer review. since that release i don’t seem to have seen any effort to fix the problems with the scrollbars either.

    the question of “are scrollbars a good idea within dialogs?” is a good one. it allows people with smaller resolution screens to get at dialog contents that are too large easier. unfortunately it also looks horribly amateurish while masking the real problem.

    some proper usability work on the area might be nice as well.

  8. Daniel Says:

    The argument for smaller dialogs because of accessibility issues is somewhat broken.

    There are quite a few variables to the size of dialogs. Same KMail Configure window fits fine on my 1024×768. Your DPI is almost the same, (104×104).

    The issue is probably “overblown fonts” and widget style, of which “overblown fonts” is your egregious offender. To accommodate people with impaired sight, the size of fonts can be made infinitely large, which makes the “dialog size problem” infinitely unsolvable, given the constraints of “we have to do it at 800×600″ Putting 1-4 options per config page becomes rather absurd and approaches Mac’ish / Gnome’ian proportions.

    Windows XP at 800×600 is no pickick either with large fonts, but it doesn’t mean it’s Windows XP’s fault.
    If you need to use huge fonts, you need to have special accommodation in a form of bigger screen.

    You take the accessibility out of the equation and the situation becomes solvable, because then the problem no longer seems so drastic.

  9. Thomas Muders Says:

    The font size and DPI setting is part of this problem. I for example usually don’t like the DPI setting that the Suse setup chooses. With an NVidia card it’s a bit easier because that reads out the monitor’s properties, but generally I’d like to see a user-configurable DPI setting like in Gnome. Even Windows has that, although most of the Windows apps don’t have scalable dialogs. In KDE all of the technology is there so why not make it configurable?

  10. englich Says:

    Indeed is “are scrollbars a good idea within dialogs?” a good question. My personal view on it is this:

    The best thing would obviously be that the dialogs were properly designed such that no problem existed at all, but as long as developers doesn’t fix their dialogs the problem remains. For that reason I believe scroll bars are good, because they make dialogs at least usable. Don’t get me wrong: if someone can come up with an approach to fix all dialogs and ensure they remains so, please go ahead.

    I don’t think scroll bars hide the problem, but the contrary. They get activated even on displays that can fit a broken dialog, and this means developers have a difficulty ignoring this issue(since the cumbersome scroll bars appear).

    Frans

  11. englich Says:

    Some comments on Daniel’s post:

    > To accommodate people with impaired sight, the size
    > of fonts can be made infinitely large, which makes
    > the “dialog size problem” infinitely unsolvable,

    I don’t see how this has any practical relevance. No one can or will run with “infinitely large” fonts so it’s a straw man’s argument. However, some will run with fonts /a bit/ larger than normal, and that’s managable. I don’t consider the “infinitely large fonts” scenario you claim exist, so this problem is not “infinitely unsolvable”.

    I don’t see how this problem become less drastic by removing any accessibility requirements(not that one would be able to pull through such a decision), one still has issues such as people running old monitors, new hardware, people wanting to use managable windows, etc.

  12. Daniel Says:

    [quote]
    I don’t see how this problem become less drastic by removing any accessibility requirements, one still has issues such as people running old monitors, new hardware, people wanting to use managable windows, etc.
    [/quote]

    “Removing” the accessibility part out of “make 800×600 usable” is not “forget the accessibility” My sight is going rather bad too with time. However it is not a reason for me to ask people to make the Hollywood sign bigger and more visible.

    My problem was with your lumping together 3 separate problems: HIG, Accessibility, Economic/Functional limitation on screensize.

    HIG argument can stand quite well on its own. Judging by the http://www.kdedevelopers.org/node/2326 series, there is a will to simplify.

    Accessibility front: you have to augment the reality with bigger screen if you have a sight problem. We have crutches, wheelchairs and often social ways to subsidize them. Cramming a modern OS into 800×600 will not solve the problem.

    Economic / Functional limits are rather outside of realm of our preparing for it. Bigger / better / color screen is a question of economic priorities in life.

  13. wholeshebang Says:

    What drives me nuts is when you do a fresh install and your screen resolution setting (in KDE itself) before customizing KDE is low (as opposed to how you usually have it set)…it drives you nuts trying to customize it with the dialog box half not-visible on the screen. At least the scrollbars are back.

    Thank God the scrollbars are back!

  14. hackworth Says:

    @Promeneur:

    thanks so much for the Alt-Drag trick.

    This is saving my life on my 800×480 resolution

    …dont ask :)

  15. Jim Says:

    “Economic / Functional limits are rather outside of realm of our preparing for it. Bigger / better / color screen is a question of economic priorities in life.”

    All operating systems have to be accessible and configurable, or some people won’t be able to access or use them, including those of us in third world countries, people without resources and disabled people, but this point is both off topic and missing the point.

    I find it infuriating that I can’t even configure my FONT SIZE or DPI settings (and countless others) because the dialogue box doesn’t fit on my 1400×900 screen, and because there are no scroll bars to get to the ‘Apply’ or ‘OK’ buttons which are invariably off the bottom of the screen.

    The author’s point is that if you make your dialogues fit on smaller screen resolutions, they will fit on all of the other ones too.

    And what monkey is saying that ’scroll bars are ungainly’? They’re useful, aren’t they? This sounds dangerously like nerdy developer snobbery, which is actually making their applications unusable.

    Form Follows Function, its really very obvious, and thanks too for the ALT+click workaround which solved a couple of irritating problems I’ve had for a couple of years on my Suse box.


Leave a Reply