Few things about kdm that do not make much sense to me

One of the main goals of KDE 4 was to improve the user experience. We knew that to succeed in the desktop market KDE doesn’t have to be just powerful, fast and good looking, but it also needs to be easy to understand and user friendly. It has to give a great user experience.

KDM 4.2.1 login dialog

KDM 4.2.1 login dialog

After a KDE based linux distribution is installed, the first thing the user will use is KDM, KDE’s login manager. Unfortunately, not much work has been done on KDM in terms of usability and interaction. Since we are already very well covered on Oxygen icons, I decided to make an effort to try to understand what are the major KDM problems and how they could be solved.

The scenario for the following considerations it’s a fresh Kubuntu installation with KDE 4.2.1 installed as default.

Login dialog

The login dialog in Kubuntu is made of two parts: a list of users on the left and a form on the right. Since I just installed Kubuntu and I only created one user for my machine I got prompted with a list of … well, just me. But let’s proceed step by step:

redundant information in KDM

Redundant information, bad layout, usefulness of the username field.

  • My name appears 3 times in the same login dialog. 2 times in the list and 1 time as a pre-filled value in the username form field. I like my name but maybe that’s too much.
  • There’s an awful empty space before the user name in the list. Probably that area was intended for a user icon.
  • There’s no login button. Even if most users will just press enter, there should be a login button that perhaps appears when the user starts typing his password.
  • The username input field is redundant since there’s only one user. In the case there were more users it would still be redundant because the user can be selected from the list on the left.
  • To access root or hidden users I would rather prefer to have a button that activates the username field in case it’s needed.

Menu

kdm-menu

The menu is probably the biggest problem of KDM. In fact I think there shouldn’t be any menu and labeling a menu “Menu” it’s not really helpful. The “Menu” entries are the following:

  1. Switch User: this is useless because there’s only one registered user.This option would make sense only if there were two or more users and one is already logged in. Even so it would probably be better to just click on another user icon/name and type the password to switch.
  2. Restart X Server: I would like a different, less techy label, something like “Restart graphical environment” or even more nebulous like: “Soft restart”. In any case, this should be grouped together with the other shutdown/restart options.
  3. Remote Login: I’m not totally sure why this option is present. Clicking this it switches to a dialog with an empty list of hostnames to connect to. The visual interface looks different from the local login and there’s no “go back” button to return. It took me a while to figure out that I have to click on the “Menu” (which moved from the bottom of the screen to be inside the remote login dialog) and select “Local login”.   
    KMD remote login weirdness

    remote login weirdness

  4. Console Login: this option really makes me mad. Imagine a curious newbie who clicks on “console login” to “find out” and suddenly gets a black screen with the bash prompt. It would have been much better to have confirmation dialog with some basic instructions about how to come back to KDM. But really, I don’t think a graphical shortcut to the console is really needed in KDM.
  5. Shutdown: Restart and shutdown should be one of the primary functions presented to the user, instead they are hidden inside the “Menu”. To perform a reboot from KDM it takes a total of 3 clicks.

kdm-shutdown-dialog

Session Type menu

This radio button menu is meant to let the user select the desktop environment he wants to use to login. However, in Kubuntu, KDE is the only desktop installed by default and the “failsafe” session type currently doesn’t work.
I believe that “session” options belong to the login dialog and are misplaced in the current layout, The failsafe session should be treated differently from KDE, GNOME, Xfce etc and maybe look like check box. By taking “failsafe” apart, KDM would show available sessions only if there is more than one DE installed.

Conclusions

Ok, I think I listed all the things that really bugs me out from a user experience perspective. I also believe this is a good point to start working on how to redesign KDM from scratch keeping the user in mind this time.
If you have more inputs on how to make KDM better, please let me know, I’ll be more than glad to know.

92 Comments

  1. I don’t think any of the feature should disappear because they seem reasonable to me BUT the layout should change. An “advanced” tab/button looks like a good idea.

    And please absolutely no technical terms on the screen in the immediately reachable buttons. It scares the hell of out of normal users (*not* you I know that but take others into consideration please).

    For instance, the current drop down list contains “X-server”, and that means “stop reading” for all average users, thus they will miss important functions.

  2. Very nice article :) Good job!

    Now hopefully someone will make a mockup and some code commits to follow shortly :D

  3. I agree with a lot of what you’ve said.

    I’ve always wondered why KDM puts the login controls inside a tiny little box. It looks so crowded. I think they should loose the box, and make better use of the space available. If this is done, they should be able to make the user list less obnoxious.

  4. I suggest that options like suspend and hibernate should be present next to shutdown and restart.
    There is no way to suspend the pc without first log in into kde (very bad).

  5. I agree whole heartedly with your post… and that even neglects to mention the Control Center KCM that is like a poster child for what you don’t want a KCM to look like.

    Why are the tabs numbered? Checking a box disables half of the tabs? What does all of this mean, and why is it organized this way?

    I’m used to it, but that’s because I think it traces it’s heritage back the better part of the way to KDE 2 with little in the way of an overhaul.

  6. “Console login” button should stay in some form as none of the proposed alternatives (Ctrl+Ald+F* or showing a xterm window) are proper replacements for it. As it is now, the button brings down the X Server allowing the user to perform task that need that (I think reinstalling the NVIDIA drivers requires that for example). While this can be done in other ways, these are generally distro specific and not so easy to find. I do agree though that adding some information on how to get the graphical enviroment back would be a nice addition (btw, is “killall kdm; kdm” a distro agnostic way to accomplish this?).

  7. @Sergio Pistone: no, its not… the init mode should respawn itself. the only way to have this proper is to detect how kdm has been started (daemon or init) and then sent the proper command.

  8. The failsafe environment is setup to run xterm just on X, great for fixing problems with KDE (or any other DE). Unfortunately, kubuntu doesnt have xterm by default, and didnt remove the session file.

  9. Why not just make it a plasma activity? Complete with a cashew at the upper right hand corner. The activity is locked by default at every start up, and you need your root password to unlock. Then there is a set of kdm widgets that can be moved all around, put in panels, etc. That would make it very easy to theme and customize, right?

  10. Wow, lots of comments.

    The only thing I’d like to add is having a input field for the username is actually very nice. I share this system with my wife and having it as an input field allows me to be able to type in my username without having to use the mouse to click on it, which is especially an issue given that I have to *type* in my password anyways.

  11. “If you find a feature, it might confuse the user,so gnomeify “remove it”

  12. @david: should KDM become some plasma love?? So there can be some nice “shutdown or reboot” plasmoid, i think this window is very ugly… or an schutdown, reboot button with extender or tooltips?? there is so many space on KDM !!

  13. > I like my name but maybe that’s too much.

    The lest side is redundant when your full name is the same as your login name. But the login name is ascii-only and the full name can be in a different language with complex characters, it may be necessary to show both.

    > There’s no login button.

    If there should be a button it should always be there, since the user may have no password in passwordless login sessions.

    > In the case there were more users it would still be redundant because the user can be selected from the list on the left.

    If you have 20+ users in the list you *will* miss the input box, since keyboard input is much faster than trying to select from a long list.

    > To access root or hidden users I would rather prefer to have a button that activates the username field in case it’s needed.

    No need, root or hidden users should not have a graphical login.

    > Switch User: This option would make sense only if there were two or more users…

    WinXP allows only on session for each user, Linux allows unlimited sessions for unlimited users. so when you have a single user and multiple sessions you need that menu. When you have multiple sessions you cannot reuse the user selection dialog.

    > Restart X Server: I would like a different, less techy label.

    It is important to know the concept of X server for a Linux user, just as you should know what is a global menu for a Mac user.

    > Remote Login: I’m not totally sure why this option is present.

    XDMCP login is standard on all Linux machines. If you have a remote account and no local account you still can use the local X server (use local computer without any access of local hard disk)

    > KDM would show available sessions only if there is more than one DE installed.

    The session menu should give you choice to enter an empty session or the last saved session, so it should always be there even if you have only KDE.

  14. The only change I really really care about and want to see is to make kdm able to use challenge response authentication like PAM allows. and to do that kdm needs to split the username and password screens into two steps like gdm does.

  15. I would like to see support for all types of remote login: VNC, SSH+X forwarding, NX etc.

  16. All that extra stuff that most people do not use, but a few think it is essential – should be enabled, if required, in the configuration panel.

    The Linux ethos, is suppose to install/enable only what you use – it lessens the risk that something go wrong, it lessens the system’s exposure to bugs that might allow a security breach.

  17. @Purple-Bobby: s/supposed/supposed to be/

  18. The list of users (or user-profiles) could have search as you type, but also the list could be sorted by recently used.

    Event at companies of 10,000+ employees, each PC has only a handful actually use a particular computer. On the servers, the users are in groups of typically 10 to 100

  19. @Giorgio Allocco : WTF? Please? Are you serious? You must be kidding because it’s impossible someone is suggesting that the login manager should give CLI commands hints to end-users. This is JUST PLAIN AND TOTALLY WRONG.

  20. I have just two things to say.

    1. Security
    2. Usability

    As by security point of view, the username should not be visible on the graphical login. You can easily find out the user names in the computer and then try to quess it’s password with “su username”.

    The grahphical should only have the usern full name showed there. Do you need anything else to reconize yourself with your face/avatar on it?

    You should get the password box bottom of the username when clicked. Not to side of it.

    If the list is first like this:

    Firstname1 Surname1
    Firstname2 Surname2
    Firstname3 Surname3
    Firstname4 Surname4

    And then when you click, example the Firstname2, you get this

    Firstname1 Surname1
    |——————-|
    |Firstname2 Surname2|
    |[ Password Box ]|
    |——————-|
    Firstname3 Surname3
    Firstname4 Surname4

    The line around Firstname2 is as colorbox what shows the selection area.
    Only the root should get to know the username, and it can be found easily. And user itself can find the username too, at least it should not be forgotten never.

  21. My remote login options seems to do nothing useful and there are no indications on how to use it:
    if I put a hostname in the host box and press add, it just blanks it out, if I press Accept or Refresh nothing happens.
    Eventually, it gets bored and sends me back to my locked session.

  22. As by security point of view, the username should not be visible on the graphical login. You can easily find out the user names in the computer and then try to quess it’s password with “su username”.

    On a single user system that is a pointless amount of security. Paranoia can be a good thing when it comes to security, here it just makes the majority of users suffer with no actual benefit.

    Granted for networked installations with multiple users what you are saying makes sense, but I’d wager the majority of KDE installations are single user systems, so perhaps a configuration option that provides this for the minority?

    The grahphical should only have the usern full name showed there. Do you need anything else to reconize yourself with your face/avatar on it?

    What if you have two user accounts under the same name, one for normal web usage one for development. Both would appear under the same name. But in your system only one would be chosen at the graphic prompt.

    KDM doesn’t need to look pretty, it doesn’t need to be re-engineered, it just needs to provide a way to log on to a graphic environment. It accomplishes that quite nicely so please don’t over-engineer it for the sake of over-engineering it.

  23. Completely agree, glad you’re pushing for a change!

    On the login button, it could also remain greyed out (or similar) until the password is correct for a simple visual feedback.

    As for the comments suggesting that people need to be familiar with concepts such as the CLI and X server; and that the default login dialogue should be designed for systems with 20+ users who use remote logins and multiple sessions: hold your ground, David!

    1. They’re a tiny minority of computer users, and even I’d imagine a minority of KDE users (if not a minority of people who read Planet KDE);

    2. I’m glad that KDE + Linux + etc. are reaching the point where users don’t need to know these things, and every time my girlfriend gets confronted with confusing technical language and unecessary options it reminds me of the bad old days when you had to manually mount USB drives etc.

    3. There’s no reason why an elegant, simple interface can’t expand for those corner cases, e.g. when there are more than 20 users on the system or it’s set-up to login to a remote server, show the username field. Maybe this isn’t the most elegant solution, but the general idea is that 98% of users shouldn’t be confronted with a mess just because 2% want it. Windows has different editions that give different login screens; there’s no reason why we can’t apply a simple heuristic to adapt the login screen to context.

  24. @Tom Chance: I agree with you.. just a sidenote. Windows DOESN’T have any particular version with different logins. It just happens that if you join a domain with 2000/XP, it automatically change the login screen to show only a login field, no icons. With Vista situation has changed (for the better) and it’s more consistent. OSX is the way to follow IMO and it shows only local users as icons and a “other…” icon and when you click it the login screen changes to an input field.
    Iterations on this design could solve brilliantly the many users corner case

  25. If you make the users feel stupid or scared, because they do not known what some technical jargon means or they are spoken to as if they are children, their enjoyment will be less.
    If their enjoyment is less, they will use the system less.

    All your good design work will probably be not noticed, but by subtle subconscious absorption the system will seem easier and more enjoyable to use.

    The user wants to get their task done (read email, find address, find train times), this stuff (choosing how you log-in) just gets in their way.

    You have to be careful what artifacts you pick from other operation-systems/window-managers, what seems technically clever and attractive to a technical person, is lively too much for most users. The opposing argument, is to give the users the familiar (from other OS’s), but this requires little design skill.

    You might have to do some usability tests, but couldn’t the lock session be the same as log-out/leave. That is when you log-out or lock your desktop, it appears to stay the same – like a real desk, were you lock the office door.
    So the log-in panel would be like a session unlock panel, but with the option to start a different session (for user/profile), by (finding, if necessary, and) picking it from a list. The “Other…” button would be in the list to cover the exceptional cases. The list could be sorted by recently accessed, so the users and profiles (and “Other…”) would bubble to the top of the list for easy clicking. The panel could be ‘decorated’ with widgets (chosen by the system administrator) to tell you the time, date, host-name, etc.; buttons for power, restart, guest web-access, and so on.

  26. @ Vide : I just would like a shutdown menu with turn off, restart, suspend and hibernate4, is this so wrong?

  27. This is great! These are the thing that should be looked at too and finally I see things happening …

    These type of “finishing” or “UIser Exp pilishing” as I would like to call them I have seen missing in KDE (yes 3, 4 etc) and in overall FOSS products.

    While I do believe in technical excellence of products like Linux, KDE (Gnome is lot ahead in this particular aspect), I am still a avid fan of M$ just for their effor in designing the user experience.

    Once FOSS / community products put effort in this aspect too, I will have a desktop complete of FOS stack that is not only technically superior, it will be a pleasure to use it too. Right now all I have is good technology at the cost of user experience.

  28. Your usability report is great :)
    We are looking forward to the next usability report :)

  29. thanks everyone for writing your opinion and suggestions.

    In general I’d say KDM should be customizable and come with a couple of configuration profiles that distros can choose for default.

    I can see how all the features like remote access and console access can be useful, so they should be redesigned as well but perhaps not included as default for a “desktop” profile configuration but instead being included on a “advanced” profile configuration or being activate by the user.

    For profiles like “desktop” that would have a nicely styled list, KDM should be able to adapt the layout for any user case:

    * single user
    * 2-5 users
    * a lot of users

    In general KDM should be “smart” and present options and actions only when necessary (i.e. switch user).

    Next step for me is to create some very different “personas” and flowcharts to find out how to handle any situation.

    I’ll hopefully be showing something by beginning of next week.

    Stay tuned.

  30. Yet another reason why KDE4 was so bad. I can’t wait for it to go down in flames. I just want to say in advanced: I told you so!

    This blog did nothing but focus on how things look. Is that all your cult of kde can think of? Cause we Lowly people actually care about what a DE can do. Not just it’s how nice it looks. Why don’t you all just go make gnome look better and we will all have the best of both worlds. A somewhat more usable DE that looks kinda nice, or at least tries to look nice, since all you’ve actually done is reimplemented Windows 7 themes.

    For those of you that think it’s the LM, it’s not, it’s the whole DE. It’s filled with inconsistencies.
    Just grab a folder view and rotate it 20 degrees, see what happens.

  31. You can reconfigure kdm, as you like ! … RTFM

  32. To disable the option for ‘console login’ you comment out the line ‘ConsoleTTY’ in /etc/kde3/kdm/kdmrc

  33. Thanks, I’ve been searching all over to find out how to login to remote desktops from kdm. hours later I come across your site and I can actually do what I want.

    Thanks.

    BTW I also agree that there are many areas that kde has lost its way intuitively speaking. But I’m glad to see that it is almost usable now (4.3)

    KDM is just one of those places but since it is the first thing you see as a new user it has to make a good impression

  34. Could you just say your name (and profile) to your computer, and it log you in?

  35. I can see how all the features like remote access and console access can be useful, so they should be redesigned as well.

6 Trackbacks

  1. [...] dico solo che sono contento quando è al lavoro su qualche aspetto di KDE! Stavolta tocca a KDM, il login [...]

  2. By » David Vignoni su KDM [+ la mia opinione] on March 16, 2009 at 04:21

    [...] dico solo che sono contento quando è al lavoro su qualche aspetto di KDE! Stavolta tocca a KDM, il login [...]

  3. By David Vignoni e KDM | Paolo Lucciola on March 16, 2009 at 09:36

    [...] scritto un articolo sull’argomento in cui spulcia tutte le incongruenze del programma. E ha lanciato una raccolta [...]

  4. [...] Vignoni, per gli amici «Icon king», ha scritto sul suo blog un interessante articolo riguardo l’unica parte di KDE 4 che sembra essere uscita dalla preistoria: il login manager, [...]

  5. By Qml to Kdm! Presto! | Enrico Ros on December 24, 2009 at 08:22

    [...] “The first thing you’ll notice about the new KDE 4 is it’s old login manager” – as David Vignoni says in his controversial blog entry, [...]

  6. [...] KDE 4.x discussion thread Check out this blog post: Few things about kdm that do not make much sense to me | David Vignoni Visual Designer Blog Archive So one of the devs responded: QML to KDM! Presto!! | Enrico Ros Some awesome videos of QML [...]

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>