Posts RSS Comments RSS 400 Posts and 1,389 Comments till now

AutoMagic and KGRUBEditor

KGRUBEditor will be a configuration UI and System Setting module for managing GRUB in KDE. It is beginning to turn into a very nice configuration tool, thanks to the skills and patience of Konstantinos Smanis (Artemis_Fowl). There are still some minor style-guide related UI issues to fix, such as aligning the labels to the right along a center line and wording in screens and warning messages. Also, the assisted workflows (Add/Edit Entry, Create Password) could use some tweaking, but they’re in decent enough shape to release now/fix later.

However, we still haven’t solve the problem of AutoMagic managing kernel entries. AutoMagic is what delayed development of a KDE GRUB configuration tool over a year ago and only now do we have a developer brave enough to work on it (actually, I don’t think he was aware of AutoMagic until after he began coding :). Managed kernels (packaged kernels installed and updated through the Debian grub-update tool) are wrapped inside AutoMagic headers in menu.lst. AutoMagic is good because it makes installing and updating kernels really easy. Disabling it for users who are using AutoMagic doesn’t make sense. However, moving entries outside or inside the headers would make a managed kernel suddenly unmanaged at best and possibly break things in a Very Bad Way at worst. So we’ve got to do something about it.

(BTW If you aren’t using AutoMagic, none of the following will not effect you)

We can’t expect users to know what AutoMagic is, but at the same time we can’t abstract the back-end logic in the UI. Users may reorder managed kernels (marked as [AutoMagic] in the UI) within the AutoMagic headers, and they may reorder unmanaged kernels anywhere but inside the AutoMagic headers. We are not allowing users the option to break AutoMagic in the UI; if they are advanced enough to know they don’t want to use AutoMagic then they can edit the GRUB config file by hand.

We’ve come up with two possible design solutions (not in any particular order):

Design Option 1: Preemptive disabling

KGRUBEditor Disabled move buttons

Move up/down arrows are provided to allow users to reorder entries. When an up or down move could potentially break AutoMagic, the button is disabled. When the user mouses over the disabled button, a tooltip provides them with some information on why it is unavailable (e.g. “You are using AutoMagic so moving this entry will break things in a Very Bad Way”). (The tool tip isn’t yet implemented and mocked up in the screenshot.)

Pros: Prevents the user from attempting an action they will always fail.

Cons: Why the move button is disabled may not be obvious, especially if the user has no idea what AutoMagic is.

Design Option 2: Post-action notification

KGRUBEditor warning notification

An alternative to disabling the move buttons is to provide a warning message when the user tries to move an AutoMagic entry out of the AutoMagic list or an unmanaged kernel in to the AutoMagic list.

Pros: More obvious than the disabled move buttons.

Cons: We’re allowing users to attempt an action they will always fail. It would be better for users to know not to click the button and to not get a warning message than to be rudely surprised.

The few people I’ve interviewed (short interface walkthrough of both UIs) had a preference of one design option over the other, but overall there wasn’t a clear winner of either option. I don’t really have a preference myself, there are pros and cons to each design option. It just may be a matter of releasing one version and see how it does.

As a side discussion, is there an easy way to add a separator line in the list? Initially I thought of separating the lists in to two, AutoMagic and Other, but two lists don’t really make too much sense since we’re dealing with the concept of a single menu list. There were some good ideas that came out of the interviews including a line between the AutoMagic entries and other unmanaged entries. I think a separator (not just a border, it needs to look like it is part of the list widget, not a list item border) combined with one of the methods described above could be a strong enough message that says “Hey, you’re at the bottom of the editable part of the list” without being too distracting or too hard to figure out.

KGRUBEditor line separator

21 Responses to “AutoMagic and KGRUBEditor”

  1. on 25 Jun 2008 at 12:00 amNicholas Marquez

    For the first consideration you noted, you could go for an intermediary solution. That is, you could shade the down (or up) arrow red instead of green (but not gray indicating complete lack of action), to indicate that clicking will result in a failure. Upon clicking, the aforementioned modal dialog could pop up. Whether or not you’d also use the tooltip is another question, but I find it of little importance in this case and overkill given the dialog.

  2. on 25 Jun 2008 at 12:57 amJinesh

    Why don’t you have a status bar in which you can always display a warning message.

    Or, may be you can have an internal popup as we see in amarok that will say the same story when the user starts the app(and disable the buttons).

    BTW, why can not the app modify Automagic headers ? Is that very bad ? Doesn’t Automagic comes with any config tool ?

  3. on 25 Jun 2008 at 1:31 amDustin

    Mayhap you could put the automagic entries in a Little tree … like

    Entries
    [+][Automagic Entries]
    —–Automagic Entry A
    —–Automagic Entry B
    Other Entry A
    Other Entry B

    Or something like that. It’s an idea, anyway.

  4. on 25 Jun 2008 at 2:23 amdesign methods

    […] thanks to the skills and patience of Konstantinos Smanis Artemis_Fowl. There are still some minor sthttp://weblog.obso1337.org/2008/automagic-and-kgrubeditor/Carbon Design Systems Plans Webinar on Accelerating System Validation Business Wire via Yahoo! […]

  5. on 25 Jun 2008 at 2:29 amMark

    Please don’t have a pop-up warning box. Popup boxes have to be the worst thing for interrupting workflow ever thought of.. They popup and don’t go away until you deal with them and the information is really only necessary the first time you ever see it.

  6. on 25 Jun 2008 at 2:42 amsimon

    dustin ++

    you can move the block of all automagick entries right? So you can have a placeholder entry, titled “Automatically created entries” or so. this could then be moved just like the rest. In the edit window you can then allow configuration of automagic (always add this or that to the line or whatever options it gives)

    cya Simon

  7. on 25 Jun 2008 at 3:24 amizz

    I would go for a little header instead of tree entries, to make it a bit clearer to the user. Something like:

    AutoMagic Entries
    . Ubuntu X
    . Ubuntu X (Recovery)
    . Ubuntu Y
    . Ubuntu Y (Recovery)
    User Added Entries
    . MyVeryNiceDistro 3.0
    . OtherNotSoNiceDistro
    Other Operating Systems
    . Findows Pro

    I find also better to disable the actions for the items they will not work for. Then some kind of unintrusive help can explain why this is happening. “These entries are managed by automagic and cannot be reordered. More info about automagic … (link to web/man/wiki page)”

    But letting the user to press the button and then showing a popup warning that it won’t work seems kind a lot frustrating to me.

    BTW, thanks to Konstatinos for providing us with a so much needed tool and Celeste to help polishing it.

  8. on 25 Jun 2008 at 3:34 amstefan

    hi,

    why don’t we change the icon of the move-up, move-down buttons?
    what about the arrow masked with a forbidden-sign as used in traffic (see http://www.verbotsschilder.de/ for an example)

    if the user hovers the bubble appears, if he clicks, the msg-box appears…

    have a nice day :)

  9. on 25 Jun 2008 at 3:39 amstefan

    ok. sorry to Nicholas Marquez for this double-post ;) take it as a supporting action…

  10. on 25 Jun 2008 at 3:43 amcollinm

    suse, with their management tool, yast have a tool similar since a while

  11. on 25 Jun 2008 at 4:09 amNoel Torres "Envite"

    I think that a variation over the second option is the best:
    -Let the user click on the moving button
    -Show the “Moving this entry would cause..” popup, but with a different reading:

    Moving this entry outside the Automagic section would break the Automagic kernel list. This action will surely have undesired results in your boot configuration and can even make your system unbootable. Do not do it unless you’re sure what you’re doing.
    Are you sure you want to move it that way?

    [Yes, I know what I’m doing] [Cancel]

    -Allow the user clicking the first button to do it.

    Rationale: even people with skills enough to edit menu.lst by hand can think it’s handy to use a graphic tool. I can install packages using dpkg or rpm, and sometimes I do it that old way ‘cos I need to force dependencies or versions, but having a graphical yast or yum or synaptic is, simply, most comfortable.

    BTW, insted of marking Automagic entries with an [Automagic] tag you (or Konstantinos) can mark them with a different background like a pastel reddish orange.

    Oh, and I’ve just realized that you can allow people to move entries _into_ automagic list too.

    …I do not imagine an Automagic Windows entry for GRUB

  12. on 25 Jun 2008 at 4:38 ammat rowlands

    pretty much with dustin. normal buttons can either move individual entries or the whole automagic section if present. expanding the autoagic row presents up/down buttons that are just for the contents of that section.
    cheers

  13. on 25 Jun 2008 at 4:39 amQuintesse

    “If you aren’t using AutoMagic, none of the following will not effect you”

    Two small nitpicks:

    1. Three negations in a sentence? So basically if I’m NOT using AutoMagic, EVERYTHING of the following affects me? I guess there’s one “not” too many in there.

    2. Affects, not Effects. You might need to look up the exact differences between the two, they can be quite subtle.

  14. on 25 Jun 2008 at 4:39 ammat rowlands

    pretty much with dustin. normal buttons can either move individual entries or the whole automagic section if present. expanding the automagic row presents up/down buttons that are just for the contents of that section.
    cheers

  15. on 25 Jun 2008 at 4:55 amStas

    I was wondering, because I’m using grub2, if this tool will also be implemented for grub2. These things wouldn’t work with the new style of “automagic” grub2 has (a set of shell scripts in /etc/grub, which output together will be the new /boot/grub/grub.cfg). This would mean that if you run the update-grub2 command after editing the configuration file all your work is gone.

    Also, when you implement reordering the automagic kernels wouldn’t that mean that after a kernel upgrade they will be ordered in the standard way? I think I’d block all editing on the automagic part and just add some configuration for automagic (e.g. number of kernels to display, savedefault options).

    For design solutions I’m not sure. If the tool would get used by novice users I’d go for number 2, as a error box draws more attention and leaves more room for an explaining text. But how many beginner users would use such a tool, and as a more expert user I don’t like boxes coming up every time telling me something I already know.

    Anyway, just my sayings… :)

  16. on 25 Jun 2008 at 6:02 amHenrik Pauli

    I like the last one, and if I remember correctly, there can be things before and after the AutoMagic kernel list. How about making it possible to move the entire AM list around? Let’s go even further, the AM list could be made collapsible and the AM kernels would be its child elements.

    (Yay for write-only commenting, yes, that’s kinda what #3 Dustin said, pretty much)

  17. on 25 Jun 2008 at 8:32 amBenno Dielmann

    Suggestion 1: Use a splitter create a table for each section (AutoMagic, other). This way it would be very clear that moving items between split views isn’t possible. Though we would need a way to change the order of the sections.

    Suggestion 2: Find a more easily understandable name for the AutoMagic section. “AutoMagic” isn’t self-explanatory at all. Since you can’t expect users to know what AutoMagic is, how about replacing the name with something more descriptive? E.g. the name and version of the running system (”Ubuntu 8.04″) and calling the other section just “other operating systems” just as it is right now?

    Suggestion 3: Why not support drag-and-drop?

  18. on 25 Jun 2008 at 8:38 amVadim P.

    Why isn’t the Ubuntu Icon and test are shaded out in grey?

    They’re actively colored, and that tells me I’m OK to manipulate them. And then I get slapped with an error dialog :(

  19. on 25 Jun 2008 at 8:54 amCristiano

    I’m pretty much with Dustin, Simon, and izz. A tree-structured list (or a list separated by headers) communicates visually the separation between managed and non-managed entries.

    It also allows the user to move the entire block, so I could put a non-managed entry as the first one. Actually, that’s exactly what I do at home, because I’m the only user who logs into Ubuntu. So I put Windows as the first (and default) option so my parents can work without hassles.

  20. on 25 Jun 2008 at 9:11 aminformation system solutions

    […] thanks to the skills and patience of Konstantinos Smanis Artemis_Fowl. There are still some minor sthttp://weblog.obso1337.org/2008/automagic-and-kgrubeditor/Wacetec to Deploy Pakistan??s Largest Information Display System PR.comWavetec has been selected by […]

  21. […] Enlace: KGRUBEditor Fuente: Obso1337 […]

Trackback this post |