Question: Building Accessible Desktop Systems
Posted by ajt on Sat 9 Jul 2005 at 10:02
I'm about to set up a Debian Sarge system for my better half and possibly for a friends father. In both cases they simply want a stable working system, with straight forward tools for basic web, email and word processing.
I recently set-up my father with Debian Sarge on a donated PC. I wrote my experiences down in a short article, and got some very useful feedback.
I'm interested in two aspects of desktop usage really:
- General usability for normal people.
- Specific usability for disabled people.
I'm aware that there is a Debian Accessability Project, and I've already made contact there. However I'm looking for tips for configuring Debian desktop systems for normal people. I'm assuming that the end user will simply be a user, and that they won't be performing any maintainance themselves, keeping the systems ticking over will be my responsibility.
Please share any tips and hints...
Why not use Ubuntu?
[ Parent | Reply to this comment ]
[ Send Message | View Steve's Scratchpad | View Weblogs ]
Ubuntu, which I think is a fine thing for Debian, is not Debian.
and whilst they're currently very focussed upon the desktop they are also positioning themselves for the server market - with the recent announcement of a five-year-support cycle. In the server market this makes sense, but for a desktop that's going to be way behind the state of the art.
Really I see no reason why Debian-pure cannot be used for an accessible desktop. I've setup a few simple machines for friends who were new to Linux.
Mostly I've given them a basic install consisting of:
- The simple desktop IceWM.
- Icons on the desktop for mail, web, etc, via idesk.
- A pre-configured collection of Firefox plugins/extensions.
- A simple 'logout and shutdown' application.
- The linx progress patch to make the bootup less intimidating. (This appears to be unmaintained rurrently).
I've seen recent GNOME installations and they look very nice, clean and simple. KDE can be tweaked a lot which makes it an attractive target also, though when I've shown complete newcomers with little computer experience they found the panels a little bit crowded.
Steve
-- Steve.org.uk
[ Parent | Reply to this comment ]
Yes, but I didn't suggest that Ubuntu was Debian.
Ubuntu is quite stable and is released fairly often - often enough for the home user.
It looks nice, and is easy to use.
I can't give friends icewm, they would cringe :/
In terms of what the average home user wants (if there is such a thing), and in terms of ease of everything for everybody, Ubuntu is best.
[ Parent | Reply to this comment ]
My father is using Debian and KDE without a problem. I didn't see any point in installing ubuntu as I am more familair with Debian and it's me that is supporting it.
I'm interested in packages that make Debian easier for people to use, either hidden ones, or something more visible in X or a fancy GUI.
--
"It's Not Magic, It's Work"
Adam
[ Parent | Reply to this comment ]
I moved him to debian stable, with abiword, sylpheed, firefox, xmms, aviplay, wvdial. I decided on icewm as the window manager because the box was a p133 and because it is easy to create a menu choice for anything that needs to be done via command line. So now he just selects his apps from a menu with big friendly labels. Zero maintenance after the inital set-up (apart from security upgrades, which could be automated). Snappy response compared with KDE/Gnome on much higher-spec machines.
I'm sure this story is familiar to most of you.
Anyway, the lesson is - reduce the extras and the clueless can cope just fine.
PJ
[ Parent | Reply to this comment ]
[ Parent | Reply to this comment ]
Icewm is snappy, and can be configured to look just like the winxp my woman has at work.
For icons I used idesk, which uses double-click and can be made to look very pretty. The icons also can't be messed with unless you know a lot more than my woman does.
For file manager I used rox-filer. It doesn't use much resources, and offers the alternatives that she's used to from windows right-clicking. I set it up with an icon and the (hilarious) subtitle "My Computer" from the standard win98 interface :).
For her mp3-player and usb, I used wmmount. She plugs the device, then opens wmmount from an icon. In wmmount she can 'connect' and 'disconnect' (that's how she thinks of it). It works like a charm with the usb, but I have a problem with the mp3-player: wmmount says that it's umounted while it's not quite done. I've taught my girlfriend to open an xterm and type 'df' to make sure the player is really unmounted before pulling it. It's no biggie, but far from ideal.
I wanted her to use sylpheed-claws for mail because of its nifty clamscan plugin, but she refused, claiming it "wasn't pretty enough". Thunderbird on the other hand, she loves, which means I have to set up an mta virus filter instead.
In addition to these choices, she uses firefox, openoffice and some non-free stuff for java, streaming media and p2p.
As for games, pysol, supertux, frozen-bubble and chromium fill all of her needs but one: World of Warcraft. She can just barely play it in windows (since the computer is so old), but always the optimist, I decided to support cedega. I got the game running, but it was a tad bit slower than in windows, and that just wasn't acceptable since it's already pretty slow there. She still dual-boots, but only for WoW. I'll give cedega a new shot with the next patch, and we'll see about that :).
All in all, she's very happy with her 'new' computer. It's fast and rock steady. And all I have to do now is an occasional apt-get update/upgrade from ssh.
[ Parent | Reply to this comment ]
For mounting/unmounting/datadumping the finepix camera over usb, I made a bunch of simple scripts in /usr/local/bin called finepixmount, finepixumount and finepixdump that I call from the ice menu.
Select finepixmount from the menu, and a box pops up saying something like "mounting camera - wait" printing out out dots to indicate progress, and the box disappears when the camera is definitely mounted.
Pretty user-friendly.
The box pops up for finepixmount because I am really executing rxvt in the icemenu when selecting the menu item "FinePix Mounter". rxvt in turn executes the actual finepixmount script:
Here's what I have in my .icewm/menu file for that:
prog "FinePix Mounter" rxvt rxvt +sb -geometry 113x29+-1+-1 -title "FPMounter" -bg grey9 -cr green -fg white -fn 9x15 -sl 500 -n "FPMounter" -e sudo /usr/local/bin/finepixmount
(the finetuning for the geometry etc makes the rxvt box small and neat).
The finepixmount script at its core loops around
grep -q "Attached: Yes" /proc/scsi/usb-storage-0/0 2>/dev/null
once a second, printing a "." each time, until it finds that the grep is indeed true. Mebbe you could try something based on that sort of loop to handle your unmount problem.
[ Parent | Reply to this comment ]
xterm -e umount /home/gf/usb
won't the terminal stay up until the umount command is done, much like I don't get the prompt back in a regular terminal until the device is properly unmounted?
I'm gonna try it as soon as my girlfriend stops her constant gaming! Thanks for the idea!
[ Parent | Reply to this comment ]
Yeah, the loop thing is really just to make a progress bar. Overkill really. I could just have it say "ok" at the end.
Here are my codes to finepixmount/dump/umount in all their ugly glory in case you think they may inspire you:
# finepixmount v 0.5 - FinePix F402 usb mounter # This code is GPL #assumes usb device 0 and scsi drive sda1 is used by mounted camera CAMERAMOUNTPOINT=/mnt/fujipix #mkdir above if it doesn't exist #################### modprobe -k usb-storage; modprobe -k usb-uhci #sd_mod starts automatically with mount echo "wait about twenty secs for usb transmogrification..." #transmogrification measures the fundamental interconnectedness of things transmogrified=1 # $? is return status of command. # grep below returns 2 on error, 0 if attached, 1 if not attached # -q suppresses Attached: Yes message, 2>/dev/null suppresses error until [ $transmogrified -eq 0 ] ; do echo -n "."; sleep 1 grep -q "Attached: Yes" /proc/scsi/usb-storage-0/0 2>/dev/null transmogrified=$? # echo "transmogrified=$transmogrified" done echo "transmogrification complete" mount -v -t vfat /dev/sda1 $CAMERAMOUNTPOINT sleep 5
#!/bin/bash # finepixdump version 0.5 - FinePix F402 image dumper. # This code is GPL CAMERAMOUNTPOINT=/mnt/fujipix #assumes /dcim/100_fuji directory holds pics/avis USERFINEPIXDIR=/home/peej/finepix #USERFINEPIXDIR=/mnt/hda9/done ###################### echo "now starting copy" if [ -e $CAMERAMOUNTPOINT/dcim/100_fuji ] ; then cd $CAMERAMOUNTPOINT/dcim/100_fuji else echo "unable to get into directory $CAMERAMOUNTPOINT/dcim/100_fuji" echo "copying halted" echo "may need to mount it first?" sleep 5 exit fi for i in $( ls ) ; do cp $i $USERFINEPIXDIR/`ls --full-time $i | cut -d ' ' -f 19-24 --output-delimiter="_" | tr ":" "_"` echo copying $i done # bug : relying on ls formatting is a possible vulnerability if someone # cracked into the camera filestorage chip. # tr on colons done so that MS-windows can ftp get it echo "copy completed" echo "you may want to unmount now" sleep 5
#!/bin/bash # finepixumount version 0.5 - FinePix F402 usb unmounter # This code is GPL #assumes usb device 0 and scsi drive sda1 is used by mounted camera ################ umount /dev/sda1 rmmod -r usb-uhci; rmmod -r sd_mod; rmmod -a ; rmmod -a echo "done" sleep 3BTW, I am sure there are nicer, more universal ways of doing usb these days. There is a hotplug package around which would do it all in a generic, automatic way now I think.
PJ
[ Parent | Reply to this comment ]
#!/bin/bash
clear
val=3
echo "Hi honey!"
while [ $val -ne 4 ]
do
echo "---------------------------------------------------------------- --"
echo "If sda1 is in the list below, your usb/mp3player is still/already connected."
echo "---------------------------------------------------------------- --"
df -m
echo "---------------------------------------------------------------- --"
echo "What do you wanna do?"
echo "1. Connect your usb/mp3player"
echo "2. Disconnect your usb/mp3player"
echo "3. Check what's connected and what's not"
echo "4. Quit"
echo "---------------------------------------------------------------- --"
echo "---------------------------------------------------------------- --"
read -sn 1 val
if [ $val = 1 ] ; then
clear
echo "Connecting ..."
mount /home/hername/.usb
elif [ $val = 2 ] ; then
clear
echo "Disconnecting ..."
umount /home/hername/.usb
elif [ $val = 3 ] ; then
clear
echo "Checking:"
elif [ $val = 4 ] ; then
clear
echo "Ok, bye!"
sleep 3
else
echo "Alternative $val does not exist."
fi
done I added 'xterm +sb -fn 7x13 -e /home/hername/.script.sh' to the icewm menu. BTW, I looked into xfe and decided to replace rox-filer with it. She like xfe better. Thanks for the suggestion! /Chme
[ Parent | Reply to this comment ]
Normal people don't do or expect things that experienced users do. There are changes to the system and th GUI that can and do help, I'm just trying to build a list of ideas up.
Personally I find Debian Sarge/Etch+KDE perfectly usable on the desktop, no more or less than Ubuntu.
--
"It's Not Magic, It's Work"
Adam
[ Parent | Reply to this comment ]
Make sure their camera is mounted when they plug it in.
Make sure they have icons for email, the web and for an instant messaging program.
Make sure the plugins are on.
Then sit down with them and watch. It's the quickest way.
[ Parent | Reply to this comment ]
I have given them easy buttons to press for obvious tools.
With my father I guessed a lot with , and did watch him use the sytem, and then made some more changes, see the artile for what I found.
I'm looking for more ideas.
--
"It's Not Magic, It's Work"
Adam
[ Parent | Reply to this comment ]
I have no disability, but I often work with big fonts (breaks lots of web pages).
A big part of it is knowing what is possible, Firefox "ctrl-'+'" and "ctrl-'-'" to increase/decrease font size is dead handy if you need big fonts. These things are possible in other OSes and distros, but if no one tells you how....
The last thing the visually impaired want is to be squinting their way through a manual to know how to do things easily.
So find a community for him to share tips with.
GNOME covers magnifying, and problems with hands (sticky keys, slowing mouse acceleration), which is great if these are your problem.
I switched to my current Desktop (UserLinux, a metapackage for Debian, more on which shortly I'm sure!), although I revolted at a few of the app choices (Evolution , Mozilla Thunderbird thank you), from KDE, and I think GNOME is probably better for beginners. Even if there is no good klipper replacement, also some of the simpler desktops are nice, but I think GNOME with accessibility features is probably the way to go for slight visual, or typing problems.
[ Parent | Reply to this comment ]
[ Parent | Reply to this comment ]
People with more Unix/Linux experience don't tend to do it as much, I don't double click much.
People with no computer experience at all, like my father, much perfer single click. Learning how to do double click is actually quite hard - even if the tendancy is to double click everthing once you have figured it out!
--
"It's Not Magic, It's Work"
Adam
[ Parent | Reply to this comment ]