Friday, February 29, 2008

HP Thin Clients And USB Access For Users

We have been incrementally adding features to our new HP thin clients. The initial install gave the users their previous functionality, with much better performance. The next step was to enable 3D support for Compiz. Next, we pushed a build that included PULSEAUDIO and enabled full multimedia support. I just built and pushed a new build to about 10 people that allows USB stick access from desktops. Previously, the loading of outside files was handled using email or media was uploaded and verified by our support staff. Users out of the office and working from home log into our servers remotely, so there isn't a huge need for files to be transferred back and forth; the files always stay here at the City where they can be backed up and retained. Increasingly there are photos and other documents that require USB and immediate uploads, and this build will help resolve that need.

I blogged about this topic when I built my first proof of concept. I read the feedback and considered all options and have decided that my original plan seems the most robust, stable and feature rich. The HP thin clients run a Debian build, so I installed proftpd and got it working. The beauty of FTP is that it's stateless. Anyone that supports users of differing skills knows they will find ways to disrupt the best laid technology plans. :) I therefore did not want any stateful mounts from the servers to the thin clients. With the various techniques used by people, I know they would find a way to cause a problem with a mount or get something locked/stuck. FTP performs a task (list, upload, download) and then is immediately finished. Very clean, to me. I added a permissions based icon to the desktop:

When launched, the script gets the hostname of the thin client currently connected and then opens a nautilus window. The FTP account on the thin client has a password that is entered via the dialog window.

SDISPLAY=` echo $DISPLAY | awk -F ":" ' {print $1}'`
nautilus ftp://media@$SDISPLAY

From the users perspective they don't think about the technology, and simply get a file manager as expected. The files can be moved to the server or desktop as desired. Files on USB sticks at remote sites will upload and move right to the servers located here at City Hall.

Here are the lines in proftpd.conf of interest in this deployment:

ScoreboardFile /etc/proftpd.scoreboard # file system allows writes

DefaultRoot /media # FTP can only get to media only

MaxInstances 100 #Lots of quick UI clicking counts as new users, increased

HideFiles (\.bas|\.bat|\.cab|\.cmd|\.com|\.dll|\.exe|\.inf|\.js|\.mdb|\.msi|\.vb|\.vbe)

IgnoreHidden on

The last section hides most executables from view completely. If they are on the users USB stick, GNOME won't even see or display them. If you can't see them, you can't drop and drag them.

I'm sure there will be some tuning, but it's working well enough for a pre-release.

We are testing some perks of this design:
- Being able to share your USB stick with other users, from any facility.
- Someone in our support group might be at a remote site fixing something, and they need a utility or program here at City Hall. Staff can push it right to them.

Fun stuff, it will be interesting to see how it goes.

Wednesday, February 20, 2008

Misconception About Server Performance

One of the biggest misconceptions about running software on servers is that it will be slower than having a local personal computer. My experience is that for the most part, the reverse is true when you buy hardware big enough to run your highest concurrent loads. That server will end up being of much higher quality and have better performance than any desktop computer or laptop you will purchase. This is especially true as desktop hardware moves through a normal 3-4 year duty cycle.

Following that line of thought, our 5 year old OpenOffice server is moving into retirement and I'm testing the new one. It's a 4 processor, quad core 2.4Ghz HP rack mounted box with 16GB of memory. Using a stop watch I'm starting the swriter binary and getting cold starts around 2.69 seconds for the UI to fully display. The splash screen only displays for about 1 second. I think the users will be very pleased with this upgrade.

Thursday, February 14, 2008

GNOME Scaling Problem

In March we will be putting the new OpenSuse 10.2 server live to our thin clients, with support for 3D/Compiz.

Federico is always very cool about me bouncing off him the odd things we sometimes see when running hundreds of concurrent GNOME users on the same server. I found such an issue, and have come up with a work around. When you have around 30-40 people logged into one server, and push live a new .desktop file the whole computer gets very slow as all of the application-browsers are updated at one time. The presentation freezes for all users for about 4-5 seconds while everyone updates. The more people on the server, the worse it gets. In case anyone is interested in improving this situation, I have snapped a screenshot that shows it happening. In the gnome-terminal window I am just duping an icon to simulate a new program being added. In the "top" window, you can see the CPU hitting 90% and all of the application-browser processes appearing at once. This sample was done with about 50 people. When I put on a full load next month, it will be far worse. The work around is low tech; icons will be added only at night when no users are on. :)

I'll say it again, all of this technology is working extremely well. This one small issue is hardly a show stopper.

Firefox 3.0 Beta Testing

I have loaded Firefox 3.0 (Beta 3) on our production server for testing. I also am testing the newer version of Flash that was released in December. I will try and use 3.0 fulltime until it's released. That will allow me to test all features and see how the upgrade will be perceived; and how best to alert users of changes.

Here are the issues that I am seeing. Some of these might be "user technique" (me), so I will continue tinkering and learning.

- Flash still seems crash prone when viewing videos. The PULSEAUDIO voice sync seems better on the December release. I'll continue to test. I know this is unrelated to Firefox, but I keep hoping this will get better.

- The first thing that I always do in Firefox is add a "Home" button on the top toolbar. But it appears to be gone in this build. I see it's available on the bookmarks toolbar, which I always immediately turn off. Hopefully this is an oversight, and will return in later builds (shot below).

- My mms and rtsp settings which worked perfectly in 2.0 are not working. In the shot below you can see the about:config setting. It's supposed to call a script which opens gnome-mplayer. I'll keep testing this and see if I can figure out the problem. Standard out and error provide no spewage.

--- The dialog appears for rtsp feeds, but when you click [ OK ] nothing happens.

-- gtkprint. It seems not to find CUPS printers on OpenSuse 10.2 I know 10.3 is out, but there are still a lot of 10.2 users out there, including us. "Print to LPR" for 99% of regular users means nothing and from their perspective printing is broken. I need to poke around and see if I can figure out how to get gtkprint to find and list the CUPs printers. I believe someone told me this behaviour is based on how it was compiled.

Update: Canvas scrolling on 3.0 using remote display to thin clients and Compiz is at least 50% slower. The scrollbars are very slow, as is movement with the scroll wheel. Thanks to those that commented, still tinkering here.

Thursday, February 07, 2008

OpenOffice And Understanding User Work Flow

One of the things that I am tasked with this year is improving relations between OpenOffice and our users. From a technical perspective it works well, is extremely stable, easy to support and upgrade and performs all of features required for 99% of work here at the City. My goal is to fill in the gaps between this technical view, and the technique/skills of users.

We are going to have some meetings in March to identify areas of improvement, and then explore using bounties to expedite some features. A bounty will be a onetime cost that hopefully can be merged into the main distribution for everyone to use.

The hardest part in obtaining information from users is separating "feature" from "specific product". My task today was to review the functionality of Publisher 2007, because it's an often mentioned missing feature in our current work flow. From how it was described, I was expecting a super powerful layout package with advanced features. It's not that at all. I had to take off my IT/Geek/Computer hat and focus myself like a regular user. When I personally approach a document, my mind is on the substance and text. The presentation and polish is the easy part, and last 5% of my process. But in reviewing Publisher you can see that many people work exactly opposite. They need to see pictures and thumbnails, and see an empty template first. They then want to use pre-defined text boxes, and load in the text from other documents into a finished product.

So experimentally I am using the thumbnailer in Nautilus to allow them to work in this manner. Instead of opening OpenOffice and constructing, I'll show them the finished product via .ott (template) files which are easily edited. I do know that OpenOffice has the ability to load templates inside the product, but I found them to be too many clicks and too hidden from view. The finished presentation needs to be the first thing they see.

Below is a shot of my first templates in this regard. I quickly built some awards and made them available from the main-menu. In this design, Openoffice isn't even seen until they have chosen their desired template. It will be interesting to see how this is received.