The User Experience at Mathnet (II)

jimc, 2004-09-30

At Mathnet we know that we have user experience issues with the new Linux setup. This is a systematic attempt to evaluate how bad it is.

User Complaints

Functional Test of the Linux Configuration

The test procedure will be to log in as Mathtest in various runtime environments and do a standard set of behaviors. Environments include: KDE, Gnome, fvwm, XWin32. Later we'll spot check telnet, slogin -X (from jimc account). Forget rlogin. The behaviors will be checked in detail under KDE, since that is our default session type if one has no .xsession. In the other environments, infrastructure issues revealed under KDE will be spot checked.

We need to decide: how aggressively are we going to promote cygwin? If we go with it, we'll need to test it too.

These are the behaviors. Most tests were done on Shasta, a Dell Optiplex GX150 (1 GHz Pentium III) with SuSE 9.1, located in ACL.

X-Windows appearance
This machine's X-server is configured for 1024x768 px. However, the monitor is a Dell E171FP which has a native resolution of 1280x1024 px. In the body font it's very clear that vertical elements straddle pixel columns. The native resolution should always be used on a flat panel, and likely this problem is common.
Log in. (Estimate the startup time.)
It took KDE about 85 seconds to start up.
Get a shell and check out terminal issues.
Using kconsole (the thing with the scallop shell icon). It started with erase = ^H, which is wrong, and TERM = xterm, which is right. Usage was a lot more pleasant after I did stty erase '^?'.
View a file using less.
Keys work: arrow, PgUp, PgDn, Home, End. There is no fault in rendering. But the options for less are lame: no filename in the statistics row, no file position, case-sensitive searching. We should improve this in the default .cshrc.
Read a man page for sed, perl, hostgroup.
sed: OK. hostgroup: not found. The manpath is /usr/local/man, /usr/share/man, /usr/X11/man. Either MANPATH should be properly set, or the page isn't installed, or both.
perldoc -t -f chown
Works fine.
Edit a hello world program using vi, then using uemacs.
Works fine, including arrow keys. Note, emacs is the old PIC version. Arrow keys have never worked on PIC micro-emacs, on Linux. They do work on Solaris.
Compile using gcc and run it.
Compiled and executed, no problems.
Read mail using pine.
This account is configured to use imap to Sonia on port 143. Pine lets you know that the password is being handled insecurely. Mail was displayed and managed OK.
Send a mail message using pine.
Recipient mathtest was translated to mathtest@shasta.math.ucla.edu, which is worrisome: the hostname should not appear, and doesn't, on jimc's setup. Arrow keys work fine in pico. The Pine default is to save a fcc in sent-mail. This mail will accumulate without limit, and we need to decide if we want this default.
Web browser, view the department's home page.
Mozilla was used. It worked fine, except that the default window size, before I manually resized it, was too small: 640x480 px at most, for the payload area. Plugins were not tested.
Edit a paper using LyX. DVI output.
I did a short essay on The Analytic and Algebraic Topology of Locally Euclidean Metrizations in Infinitely Differentiable Riemannian Manifolds. This went amazingly smoothly.
View result with xdvi (forget the PostScript).
Perfect results, no hassle.
Do dvips and view the PostScript with gv.
No problems.
Print the PostScript on the lab printer.
The printer was xaclps. Shasta found the printer and sent the job without problems. However, the printer itself was not as well behaved. I cleared a paper jam and waited for someone else's job to be printed; then mine came out. It was in good order except that the top margin was about 1in less than it should be. Suspicion: the default paper setting is A4. Default of who? It could be CUPS on Harlech, dvips on Shasta, or LyX on Shasta. This has to be tracked down. (Later determined to be A4 on Harlech.)
Do something with Matlab.
I was able to view the help files and write a program to display a graph of a sine curve. I didn't try printing, though. One issue: there was a message saying it couldn't access OpenGL. It should be able to do at least Mesasoft. Track this down.
Spawn a shell on Bamboo01 and Sonia. Check infrastructure.
When I did slogin on either host, erase = ^H (wrong), but once that was fixed, it worked fine including X11 forwarding. When I did ssh -X $host xterm, it started with erase = ^? (correct), and all the other activities worked too.
Lock screen.
The lock application was very slow to start up; I thought it wasn't going to start, the first time, and unlocked before it got its picture up. But if given some time, it works. (The lock function was much quicker to respond in the other environments where tested.)

Spot checks were done with the other desktop environments. Here are the results.

KDE (summarizing the above)
85 seconds to start up (oink). The ubiquitous ^? vs ^H issues were annoying but not KDE's fault. Infrastructure was satisfactory. Screen layout was acceptable. The menus are satisfactory in a generic sense, though of course there is no Mathnet customization. The selection of applets is reasonable (clock, kicker). Alone among the environments, KDE has a click to focus policy, which cannot be overridden, which is very annoying to non-Windows users.
Gnome
15 seconds to start up. Infrastructure was satisfactory. Screen layout was acceptable. The menus are satisfactory in a generic sense, though of course there is no Mathnet customization. The menus are reasonable in a generic sense, though it took some hunting to locate the xterm equivalent. Once that started, tThe ubiquitous ^? vs ^H issues were annoying but not Gnome's fault. It is believed that the Gnome window manager can be set for either focus follows mouse (the default) or click to focus.
FVWM
It should be noted that this is fvwm2, not the old fvwm. 10 seconds to start up. Infrastructure was satisfactory, except that automatic placement of windows is not turned on, which is very annoying to someone used to Windows, KDE or Gnome. (Fvwm2 has this feature but it was not turned on in the configuration file.) Screen layout was acceptable. The menus seem rather skimpy, and the control panel module/icon selection can be improved in utility. In particular, Shell in Xterm gives you bash (with the correct erase = ^?), not the user's default shell. Fvwm2 can be set for either focus follows mouse (the default) or click to focus.
XWin32 (Windows) using XDMCP
The test machine was Copycat, which had never been configured for XWin32, or maybe mathtest's profile had never been configured. Creation of a session was fairly intuitive for a knowledgeable user, once you figure out which program will do it for you. Sessions were configured for multiple windows (not the single window configuration that seems popular among the staff). Sessions were attempted on Sonia (Solaris 2.6) and Sassafras (Linux, SuSE 9.1). On Sonia, startup was quick and trouble-free. The initial xterm has TERM=xterm and erase=^H, and this key setting worked (which is bogus). Infrastructure seemed to be working. On the other hand, on Sassafras the entire KDE started up. It was not functional in the sense that I couldn't get icons and menus to do their functions. When I logged out, XWin32 froze and I had to kill it from the task manager.

User Experience Issues Revealed

These issues need to be resolved promptly. They are listed in order of priority.

^H vs ^?

See the appendix below for an account of the holy war on this issue. Conclusion: ^H is standard on Solaris. We should make ^? standard on Linux, while preserving functionality when people connect between Linux and Solaris. While this is probably our highest priority item, it is also not going to be easy.

Screen Resolution

We need to audit all the Linux workstations and make sure that the screen resolution matches the monitor.

Printing

Audit all printers and make sure the configuration matches the printer, for all 101 printers. With specific reference to the paper size, but there are other important features that may be wrong.

Default Settings for Various Programs

KDE Slow Login

I am sure that KDE greatly annoys the users. We should be pushing either Gnome or FVWM as the default, not KDE. Because of swap space issues on the servers, FVWM is preferred. But note that once you use a particular session type, it persists until you change it on the ^T menu, so we need to notify the users that they may, but are not required to, change over.

XWin32 vs. Linux

Whatever is making XWin32 freeze up needs to be tracked down and removed. I suspect that the sheer volume of demands that KDE makes on the server had something to do with the problem.

Menus and Icons

We need to reach a compromise between completely re-doing the menus and icons, and just grafting on a Math menu analogous to the SuSE Menu found with KDE and Gnome. What functions are needed in the Math menu? See the next section for a long discussion.

Backgrounds

KDE has a blue background with a few abstract squares. Gnome and FVWM have Alpine landscapes. In my opinion, a generic flat background is ideal -- my own choice is fallen leaves (from Windows 3.1). The photos distract too much from the payload, and confuse the window borders. We need a group consensus on what we're going to impose on the users.

Menu and Icon Functions

Menu arrangements depend greatly on personal taste, and we're going to be creating a default that has to work for all our users. We'll need to develop a group consensus about what menus to put on. For reference, here are several menu setups, ending with jimc's recommendation (for FVWM).

Jimc's Personal Menus

Window Manager

fvwm2

Focus Policy

Focus Follows Mouse

Placement Policy

Automatic

Left Mouse

Middle Mouse

FVWM window list applet

Right Mouse

Titlebar

Icons and Applets

Default Menus on Solaris

There are no longer any Solaris workstations in the labs to try this out. However, if you use XWin32 from a Windows machine, and log in to a Solaris server with single window mode, you can see these effects.

Window Manager

twm (ancestor of the old fvwm)

Focus Policy

Focus Follows Mouse

Placement Policy

Manual

Left Mouse

Middle Mouse

Xterm on a list of remote hosts such as Euphemia

Right Mouse

Titlebar

Icons and Applets

Recommended FVWM Menus

A certain resemblance can be discerned among all of these menu sets. This is not a coincidence.

Window Manager

fvwm2

Focus Policy

Focus Follows Mouse

Placement Policy

Automatic

Left Mouse

If we're going to have a fvwm icon/applet area, this menu should be on a menu applet labelled Programs, in addition to left mouse in the root.

Middle Mouse

FVWM window list applet

Right Mouse

Titlebar

Icons and Applets

XWin32 Issues

When XWin32 is in multi-window mode, or when using Cygwin, it is not clear what role the window manager plays, if any. Possibly its only use is to maintain the logout icon and program launching menus, which would have to be reached from, for example, the fvwm2 icon/applet box. Issues such as resizing, iconifying, or closing windows are handled by Microsoft Windows, not fvwm2.

When XWin32 is in single window mode, however, it behaves just like a Solaris workstation as described above.

Appendix: Eric Stallman Versus the World, or ^? vs ^H

The issue with ^? vs ^H is a massive political tangle involving Eric Stallman, the American National Standards Institute, Digital Equipment Corporation (remember them?) and numerous other stakeholders and drivers of stakes through hearts. To summarize: