Hi all.
Today, after looking at the Qemu Launcher program (a GNOME frontend for QEMU), I must say that its interface is not very understandable or even clear.
The most important element of a GUI program is the icon. When seen only by itself, the Qemu Launcher program icon is a big problem, because it does not accurately pass around the purpose of the program, nor is it even original (using the letter Q for a icon isn’t original, now is it?).
The other most important element of a GUI program is the name of it. The name of this frontend for QEMU is plain unintutive. Of course it launches QEMU, but do we really want users wincing at the first part of the name? I suggest something like OS Runner, or something that accurately passes around the purpose of the program.
The interface of the program is both bad and good, although mostly bad.
I’ll step through the interface to explain:
There are 3 tabs at the top, Configurations, Launcher settings, and About. The “Configurations” tab is selected for us when Qemu Launcher starts, so I’ll go through that.
First of all, I don’t like the idea of configurations as applied to this program, as it makes the program feel too complicated for the user to handle.
There are 5 tabs inside this tab to handle specific parts, an idea I don’t really agree with, since it wastes screen real estate (There are other, more intuitive ways of doing the same thing that save on screen real estate, like the way it is done in PuTTY).
On the first tab, which is automatically selected for us, we see two checkboxes and a select box.
The first check box is named “Snapshot mode”, and is described as “write to temporary files instead of disk images, unless you instruct the emulator to do so by pressing ‘Ctrl+a s’”. There is a problem with how this is phrased, since the rest of the interface in that tab after this checkbox does not mention “disk images” in an intuitive way.
The other checkbox is “Use CD-ROM”, which is described as “Use CD-ROM instead of hard disk 2″. There is a problem with this description: What is “hard disk 2″? Is it really the second hard disk image, the third hard disk image, or /dev/hdb (which is hard disk 2)? This option should probably be removed, as it has no purpose at all apart from disabling the third hard disk selection.
The select box is “Boot disk”, and is described as “Boot on floppy, hard disk, or CD-ROM”. The select box does not put a check in “Use CD-ROM” and enable the “CD-ROM” textbox enabling you to type a path to the CD-ROM when the user selects “CD-ROM” from this select box.
Next we see options for setting up the Floppy, CD-ROM, and Hard disk. In general, all 3 options are equally cryptic in their name and description. and there is a potential for confusion since you cannot read or write from or to “device files” directly by default as a user in most GNU/Linux distributions.
Both options for setting the floppy are problematic because they do not have a New button for setting a new floppy disk image, as is probably evidenced by the tooltip on both options, which states “Disk image or device file for first/second floppy disk”. What’s the purpose of showing two floppies when only one needs to be shown? Finally, although I agree with the fact that a GUI frontend should be consistent with its backend, it does not need to be so in this case because a GUI should hide arcane details, but not erase them entirely.
Next we see 4 hard disk configuration options. When you click on New, you see a new dialog with 4 options, depending on which type of image you want to create. This dialog has a small usability pitfall: it does not have options for AES encryption and compression, which it should have. Other than that problem, this dialog is sound and seems good for the user.
Next we see a box for RAM. Both the name and description is confusing, because it doesn’t say anything at all.
On the second tab, “Linux boot”, we see that there is a checkbox to boot a Linux kernel directly. When that is enabled, 3 options exist. Not much to see here, moving on..
On the third tab, “Network”, we see a selector to toggle the number of network interface cards that will be emulated. In the description, it states that if you set it to 0, networking will be disabled. I’m not sure who invented that convention, but I’m not sure that is a very good idea. With the default of one network card, a tab for it has been created named “Card 0″. The tab has options on what stack to use, how it will be configured, etc.
In the redirections tab in the network tab, we see that you can add. remove or apply redirections. I don’t understand why you have to explicitly apply redirections for them to work.
Finally, you can add a folder so that it can be seen by the emulating OS, although the name for it does not win any usability contests.
The next tab, “Hardware” has several groups of options. The name of the first option, “System type”, is inconsistent with the description. This inconsistency may confuse users. Nothing else to see here, moving on…
Finally, the last tab “Emulator” includes QEMU emulator options. Nothing to see here that I don’t like, moving on…
At the top tab, we see “Launcher settings” next. The “Data directory” option is at best slightly useful, at worst useless, and should be relegated to the “Emulator” tab. I don’t think that the user should be able to edit the path to qemu or qemu-img unless they cannot be found. In that case, all tabs except this tab should be disabled and a message shown indicating that Qemu Launcher cannot find the QEMU or qemu-img programs and to ask the user to change them.
The “About” tab just talks about the copyright of the program, etc.
In conclusion, I think that the Qemu Launcher developers could make this into a good frontend for QEMU if they follow what a typical user (like me) like and don’t like.
- Kyle Brooks