Groklaw Tries Their Own Linux Usability Study
inode_buddha writes "There's a new project taking shape at Groklaw. Calling it Grok-docs, it aims to do what many of us have long whined about - a large-scale linux usability study. Evidently, PJ had some frustrations with linux, and is asking for suggestions. So far, it seems to be following a Wiki-style setup. Everybody is welcome, especially those with little or no linux experience. I hope the distros and vendors are watching this one!"
Setting up, using, and all other aspects of Linux need to be made easier for the home user (read: children, old people, and those without a lot of computer experience).
Ease of use definitely needs to be made more of a priority if we're going to see Linux succeed as a desktop platform.
That CSS file that blocks ads
Surely, the biggest problem with linux is the very problem that Groklaw is attempting to address -- usability. Admit it, the learning curve for linux is huge, like it or not.
Linux will never be able to truly have a mainstream challenge to Windows until it applies the tried and true formula of Microsoft, AOL, and all of those massive software companies.
If the telephone line is not plugged in, there should be no dial tone available for the modem. It should not result in the modem being undetectable.
If PJ's experience with Knoppix is really as she says, there seems to be a serious problem with Linux (at least Knoppix).
Hopefully this kind of focus on improving Linux documentation will result in something tangible. ESR had his say a few months ago, now PJ has hers. There seems to be a very large movement of newbies demanding better docs. Let's all hope that the wizards among us hear them and provide us all with better information than we've got now.
I have been pwned because my
One of the major things that deters a lot of people from using Linux is the difficulty of installing an application. One Windows it's just a matter of downloading one file and double clicking it.
On Linux, you've gotta download that one file and then find all of it's dependencies that aren't installed on your system and install them. Then install the dependencies of the dependency. It gets to be a pain in the ass.
RPM files were a step in the right direction but they still have their flaws. Until the application installation issue is solved, I have a feeling adoption will continue to be slow. And I'm talking about a universal solution, not something limited to one distro.
An operating system that can install itself, keep itself protected from harm, keep the user protected from harm, and keep the user's data up to date. A computer should be as close to self healing and reliable as possible, and whenever possible it should update and restore itself.
The user should NOT be slave to the machine.
"Victory means exit strategy, and it's important for the President to explain to us what the exit strategy is." G.W.Bush
Face it - computers are fast becoming commodities. I don't think it is unreasonable to expect a computer to be as easy to use as a toaster or Microwave. Yes, us geeks will whine about it but why should mum and dad give a toss about where some dumb configuration file is or what some arcane command line parameters are. They just want to write an e-mail, a spreadsheet or visit a few websites...
Windows is pervasive for many reasons, but two of the most critical reasons are the Office Suite and Exchange.
Just look at Mac OS X: arguably as usable (or more usable) as Windows 98/2000/XP, but a tiny market share.
Comment removed based on user account deletion
Newbies are routinely encouraged before delving into Linux to ask for help from the "gurus". Unfortunately, that is the type of answers they tend to recieve when asking questions concerning very basic functions of an operating system: "This is so outdated, only morons don't know this. Download urpmi and these libraries, change the install script to match your distro (check the readme) or just use the RPM. Then all you have to do is run the following bash command to install a program. Just make sure the server is up to get the updated files, or use a different one. Simple."
As part of *usability*, configurability has to be improved across all the distros. All should have 3 ways to config some thing:
/etc/sysconfig/iptables), but Slack didn't have a sysconfig dir within /etc..and unless I overlooked it, it wasn't in the /etc directory.
-vi/emacs/pico: manually edit the files
-CLI, text based app: application that runs in console to automate config
-GUI: pretty, click-and-hit-OK.
I'm a RedHat/Fedora guy, but have tried my hands on Slackware, Debian, and SuSE, but always came back to RH/Fedora. Before I talk about configuring things post-install, the distros HAVE to get some things in the install, such as installing/enabling USB-HID by default and setting up X to use both PS/2 and USB mouse, which is especially useful for laptop users. Another includes USB-Mass Storage..and sound (for most modern cards anyway) RH8.0+ has gotten it right on the USB-HID, slack/suse(8.2) didn't. The Debian installer doesn't tell you that you have to add users to the audio group to get sound working.
Now, onto post-install config. RH/Fedora/SuSE have it right on providing GUI config tools for printers and network setup. For everyday settings, one should not have to google for config file HOWTOs to set up a printer at a remote location, or punch in a dial-up number.
Text-based config tools..you need in case the GUI goes wrong..as in setting up the X server. I'm pretty sure most distros have such tools, but there needs to be standardization in naming them. Whatever happened to linuxconf? It's still around but not included in any of the distros I've tried recently.
Manually editing files is great in case there's a certain option that you need is is rarely used and not included in the automated tools. Plus, you can always copy the config files to a floppy for quick recovery if you reinstall the system.
For the manual file editing, there NEEDS to be a standardization on file locations, or a list generated that tells where the files are exactly. E.G.:I was trying to look for the iptables file under Slack (RH keeps it at
$cat
HTML Tags. (1) Use them. (2) so your comments (3) are actually readable.
But honestly I think your using an older kernel. I've NEVER had that many problems with Linux sound and video on any computer even laptops. Most things are now supported out of the box so you won't have whatever wierd splash-screen you managed to install. I'll agree Mozilla plugins are a tad bit of a pain...especially on older systems, some systems it flawlessly installs, others it takes a while. As far as updates there are many solutions besides Redhat...emerge, apt etc...all simple. It sounds like most of your trouble could be fixed with a new version of Debian or something similar.
is a distribution that has newbie as one of the configure options. The Newbie option should have only a few choices, Gnome or KDE desktop, no questions about partitioning, it should assume the user wants to keep a Windows partition for now. How many Windoze users know what a partition is? The configuration shouldn't include any programing tools, or half a dozen test editors. It should include OO.org for wordprocessing, etc. User name and root user and passwords should be explained and chosen, additional users can be added later.
Once its configured the password box appears, user is prompted and printer, modem, and email configuration is done. A minimum of printed documentation should be included, explaining what to do if something doesn't work. The documentation should list resources included with the distribution and how to access it, and use it. Hopefully with a desktop icon. The browser should include useful links to useful linux sites.
If at first you don't suceed, try RTFM or Man pages.
One thing I noticed about users is they are averse to change. Here's a typical user:
You add 300 new features to their OS, KDE rocks. But they can't find their "A" drive. "I have to go to /mnt/fd0 instead?" Because of this, they will hate it. Here's the proof.
We took a company with a shit MS-access app thingy and converted it to a web based app. It ran faster, more stable, suppored more users, etc... Lots of plusses. But the select box in MS-Access lets you type in it to lookup values, rather than just the first letter like in a browser. We added hundreds of new features, but because they lost one the upgrade was crap and they couldn't use it. I'm afraid that it's all about who bitches the loudest
09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
And it's also the feature that most drives me to distraction -- the software thinks it's smarter than I am. So when something goes wrong, there's never a simple way to fix it. 'Cause the system is supposed to fix itself! Yeah, right.
The mistake both you and Microsoft make is to assume that all the mind-numbing complexity of standard desktop systems is somehow necessary. So when something breaks, it's beyond the ability of most users to deal with it. So you add "healing" "active protection" and "automatic updates" and other stuff that stands in for the overworked system admin.
But that just makes the problem even worse. You're adding yet more complex software, to do that automatic stuff -- and that extra software always has problems of its own.
The right solution is to makes things simple from the start. You don't add complicated software to "heal" and update the system -- you design the system so it's less complex, and thus less fragile. So Fewer fixes and updates are necessary. And when they are necessary, the semi-skilled user can apply them himself.
Which is, of course, never going to happen. That would mean cutting back on cool features. Which is what drives software development -- both in the traditional and open source marketplaces.
If you're using mencoder or transcode , and you don't get the command line options perfect, the program will spit out 6 pages of the man page at you , which fills up the scrollback buffer on an xterm , which stops you from figuring out what went wrong.
My idea for increased usability? Don't just spit out the man page at people , take the time to look at the options given to you in the program , and actually say what's wrong. Don't just blindly print out the man page.
The more writers/language focused people that get interested in linux, the more possibility there will be for better walkthrough type documentation.
:-(
I am a writer/language-focused person. I even spent years working as a tech writer. I code like crap. Yet all I've "given" to the world is a few freeware command line utilities and a couple of scripts.
The motivation for much of open source is need. Someone needs (or at least wants) some software functionality that just isn't out there, or isn't out there for the right price, or in the right color, or whatever.
So he or she codes it up... because he or she wants the software to use. That's the motivation for everything I've ever given away... it was a program that I'd wanted, that I'd written, and then decided to throw it up on FTP somewhere in case anyone else could use it.
Putting in the hours on the code got me the functionality I needed. Putting in hours on documentation would get me nothing... I already know how to use the program, I wrote it.
Third parties, too, come to an open-source utility not because they're hoping to document it... They find it because they're looking for the functionality that it offers. So third party finds the utility they're looking for. It comes with poor documentation... but they spend time trying to figure it out because they need the functionality that it offers. Once they grok it and use it, they move on. Even if they're language-inclined, they gain little more by writing documentation for the program that they've taken the time to figure out... because writing a manual is just not why they bothered to figure it out in the first place.
It's really sad... and I'd love to be able to claim that I have more of a social conscience (i.e. enough of one to have written tons of open documentation), but so far I'm just not that nice a person.
As an aside, I would stipulate that there are probably a number of coders who code not for utility value, but for prestige... so-called "hack value." But these people have just as little in the way of motivation to write docs. Where's the hack value or the prestige in writing a bunch of mundane, beginner-level prose? Better to spend the time making the code 50% faster or the user interface 50% more "skinnable" or something, from the prestige-coder's perspective.
There are people who write prose for prestige... But these people are all working on essays, journal articles, or "literary" novels... If you're really a person who's from the "language and prose world," writing manuals is about as low-prestige as you can get.
STOP . AMERICA . NOW
I don't get why so many Slashdotters assume their niche opinions represent the majority. They don't.
A lot of kids don't sit and program BASIC on their dad's C64s when they're 7 or 8. Maybe they trade baseball cards or play sports. Just because you did doesn't mean everyone does. Consequently, just because you sat down and spent hours learning how to program doesn't mean everyone else wants to.
He's half right.
Linux is first a tech-hobbyist OS, and second a server OS.
Yes those are its two main niches. And to turn it in to a desktop OS we shouldn't sacrifice those two primary uses. However thats not to say it shouldn't or can't be.
I repeat: Linux is not a desktop OS
Sure. And you named its primary uses.
nor should it be
Wrong. Why shouldn't it be? Just because there are other systems that are currently better at being a desktop? Most projects(software or otherwise) always start in a bad state and your competitors will have a leg up on you if you start late. Thats not to say you shouldn't even try or can't pass them up just because they're alredy there. It will take work, but for the people who want to put the work into it, good for them!
Home users would be served far better with a Macintosh running OS X
Yes, I agree, with the state that Linux is in now, its not as easy as some alternatives(for some people)
And that's the way it should be
Total BS. Why should you dicatate what people can and can't do. Its a free project. If alot of people can be served by someone puttin work into a desktop system, then they should go for it by all means. Why restrict creativity and new ideas?
Who knows, maybe ideas generated by developrs working on linux can be used to improve other desktops as well.
Wow, sounds like just about every single Windows installer.
Heh.
Let me rephrase.
We need a distro that, at its simplest, can be used by the average grandmother; and yet it can be used by competent users without being demeaningly simple.
What you describe already exists. It's called $FAVORITE_DISTRO and is currently being used productively on many office workstations around the world.
Fool.
The mistake both you and Microsoft make is to assume that all the mind-numbing complexity of standard desktop systems is somehow necessary.
:P
The mistake YOU make is assuming a self-healing system somehow equates to Windows, just because you don't like how Windows attempts its self-healing.
WTF does Windows have to do with Linux? Are you saying we can't do better? Or that we shouldn't try?
I don't get this incessant need for people to be resistant to change, progress, and making things easier. It's not going to make the CLR go away, don't worry.
Toasters and Microwaves do only one thing (toast/heat). Most computer's today have a wide range of functions and are on order of magnitude more complex than any other gadget you're liable to find around the house. The only way to make computers as simple as a toaster is to start limiting what they can do. Taking away the ability to load you're own OS is a good place to start.
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
Becuase there are decades of applications that will instantly break if those names are changed... Imagine if Microsoft had said with Windows XP, "by the way, no software written for DOS/Win3.1/Win95/Win98/WinME/Win2000 will work with XP." In the UNIX world, this problem is exacerbated because lots of the code was around years before DOS was even around.
/home is where the users "live" while /bin is for binaries, /lib is for libraries, /dev is for devices, /proc is for processes, /mnt is for mounts... c:\windows doesn't tell you very much, apart from "Windows is installed here!"
/proc rather than /processes is that /processes takes about twice as long to type... important when a very significant portion of your users (including essentially all of the enterprise, IT, and advanced-level users) live at the command line.
The Windows file structure is just as hard to use. From the UNIX user's perspective, at least. Everything seems to be dumped halphazardly into C:\Windows or C:\Winnt... config files, libraries, drivers, executables... you can't tell what anything is, there are hundreds of odd 3-letter extensions and no command (that I know of) like the "file" command to tell you just what these things are.
At least the directory names in UNIX mean something...
And as a final aside, the reason for abbreviations, i.e.
STOP . AMERICA . NOW
Now which part of:
To change the display format in windows explorer is simple?In the article it talks about it there being no menu options to find things off the beaten track - like mc - the reality is there is a whole world off that track on the command line. Putting anything more than the major things in the menus without getting some disorganised mess would be a mammoth task. How do you do a GUI interface to a piece of useful weirdness with awk and grep? Check out the various front ends to transcode for an idea of how complex it can be to do a GUI for a command line program which has a lot of options.
My favourite program on the Atari ST was one that gave you a command line (gemini), which made it a lot easier to do some things. The same principle still applies when you have a general purpose machine, the command line gives you flexibility while a menu system gives you greyed out options which you know the program can do - it just won't let you do it. A linux machine set up to be a web browser or word processing machine is trivial to use, but once you increase the options the learning curve gets steep for anyone that has only used a gui.
Anyone who pastes a link to an open Wiki on the front page of Slashdot is asking for serious trouble...
my sig's at the bottom of the page.
Nobody's gonna take you seriously if you tell them, "Oh, Linux software is easy to install, let me show you! Fire up the command line and type 'urpmi' or 'apt-get'..."
.NET and Cocoa--none of this absolutely ridiculous QT/GTK/wxWindows/whatever nonsense that are merely hacks to get widgets up on X.
;)
I seriously wonder why nobody has implemented binary installation/uninstallation routines for the Linux desktops yet. What's the damn holdup? Users need to be able to buy a Linux application from a store, take it home, and stick in a CD to get an autoplay installer.
Of course, to get that truly working well, you'd want a sane, robust programming library in the likes of
Get a sane library that retains backwards compatibility on the level of Windows (for a simple example, try loading up an RPM you got 5-7 years ago and see how well it goes...compared to Windows which still runs 95 and even most 3.1 apps happily) along with a sane installation/uninstallation routine so that the desktop can actually keep track of its own components, and things would really change, and I would stop using Windows as my main desktop.
Then, of course, we should do all this on Y-Windows when 1.0 comes out.
Okay, this is nothing against you but I need to get this off my chest.
I use mac os x but I keep an eye on Linux because I think the open source/free software is interesting. While I'm skeptical of it actually happening, I'd like to see Linux, in some form, become a solid desktop operating system.
In my mind, one of the most interesting things about open source is that is that, at least for the time being, the users are the developers and the developers are the users. That means that if Linux doesn't have something, it's because it's either being worked on, or it's simply not wanted/needed. If you want Linux to have something, go out and make it happen. Just saying Linux needs this or that (and I read those words way too often) accomplishes nothing. I wonder just how many slashdoters know how to program/develop software and I bet it's fewer than anybody here want's to admit. I also wonder how many slashdotters actually believe in the values of open source/free software and again, I'd be willing to bet that many here just don't want to pay for their software. Regardless of whether or not they actually contribute anything, they are still open source/free software developers too. For Linux to continue to improve, it is also their responsibility to contribute and I think that many do not accept that responsibility. Instead, I just read that Linux needs this or Linux needs that. Go out and make it happen. If you can't program, find some other way to make yourself useful. Help write documentation- do something, but don't just say that Linux needs this or Linux needs that. If you're not doing your part, then you don't have the right to say that.
Good luck boys
--- Don't ever trust a woman until she's dead- B.B. King
There is no need for any new usability studies, there is only a need for Linux developers to give a damn about the ones that have already been done. The root of the problem is money. Without a large influx of money, open source developers are coding for themselves, not as part of a job to help others. They scratch their own itches and expect others to scratch their own. To do otherwise amounts to selling out, and for nothing at that. That seems to be the attitude, anyway, and it needs to change.
The solution isn't more documentation, it's quite plainly more money and more developers who are willing to "sell out" to actually make Linux useful to the general population. You need to start by discarding KDE and Gnome; the more you cry about the loss, the more you ensure Linux will never be ready for the desktop. Mac OS X makes a usable Unix desktop, and many of their lessons learned are available via GNUstep. Why so many open source developers ignore GNUstep is beyond me.
The solution is to stop putting out distributions that have packages for everything under the sun, often times with dozens of ways to do the same thing. It's about time we all picked a browser, just one, and ran with it. Yeah, a system should have multiple browsers available, but there should be one "official" Linux browser. As it stands, all the options being available all the time just confuses the hell out of users. There needs to be a base functionality that is available across all distributions, something that can be branded and advertised as the one true Linux Standard Installation. Right now, the name Linux doesn't really mean anything specific and useful to most non-geek people.
History shows the people will not move on to something else. They will continue to use the software and bitch and moan about it but they won't install a competing product or buy a competing machine.
If what you said was true Apple would have a monopoly.
evil is as evil does
Apple is expensive and doesn't have as much software. Obviously, there are different factors involved.
Yes, people will move onto something else. It's called "free market." People use what's cheapest, easiest, etc. Whatever has the most advantages.
This is somewhat irrelevant. My point was that people will drop piss-poor apps like a bad habit, no matter how much the programmer whines about how he shouldn't be a slave to users. Basically, I'm saying that programmers shouldn't bitch if people don't like their stuff. If you don't want to hear feedback, keep your app on your private network and don't release it into the wild--obviously there was an intention for widespread usage by putting it online.
A GUI isn't a silver bullet.
I spend most of my time with various *nix systems (Solaris and Linux mainly). But when I have to do something with a Win2K or WinNT box, I find myself having to re-remember where to find things. Sometimes it takes a fair amount of clicking around to get to what I need.
Having found the right configuration screen, I then have to make my selections. Most of the time I already know what I'm after. But there's also a slew of mystery boxes to click on - with little explanation as to why I would or would not want to make that selection.
This is one area where the text configuration file works out nicely. I've noticed an increase in documentation embedded within the default config. file in my Linux systems. The config files often include a basic description of the option and suggestions as to how to use it. Default configurations are enabled. Optional configurations are disabled (commented out).
That's not to say the text file is The Way. But I would caution that the GUI config utility is not necissarily superior. I suspect it's more of a question of how both are designed and what one is familiar with.
One side note - it may be worth stressing that even though Microsoft is GUI-centric, they still rely on text configurations. Enter the registry hack. And those tend to be far more cryptic than the average *nix config file.
Sourceforge may be a 'geeky' site but there are many OSS project for Windows on there. These all come with .exe files that just work. For example: FMA
This is what is needed for usability. Most people don't want to bother with dependancies.
Maybe something that ought to come out of this is some style guidelines for developers. Not coding style so much as UI style guidelines.
The first post on Groklaw has to do with squirrelmail and how the buttons for flagging messages as read, unread, and important confuse the users because they simply set a flag for the message but don't really perform any action otherwise. This is a bad use for buttons and really should be a checkbox or a checked menu item kind of thing.
Linux could really use more consistency with this sort of thing. One of the things Windows has always had going for it is that MS has always pushed for a consistent style in applications. To the point where a basic MFC app would begin with menu items for basic window functions and the basic copy, cut, and paste menu items. Small things, but I bet a hell of a lot more MFC apps have copy, cut, and paste because of it, and most users know where to find it because of that.
Something like this would really benefit Linux if developers would follow it. The problem is that there's nobody pushing these kinds of standards. It would require a group that's already respected in the Linux community to push something like this. It would help if applications were then rated by how well they stick to the style guidelines. Users could then use this as part of their basis for evaluating which applications to use. By knowing that an application follows the style guidelines, they will know that an application is going to generally be easier for their users to learn because it should then be like other applications in its style.
Oh well, just my thoughts.
Im no expert but this seems a little harsh.
First have you asked PJ?
Second people are free to choose any license they they wish with their work.
You say: "PJ is happy to profit from other peoples' GPLd work" I say good for PJ! Would you prefer if we all did things for free?
over christmas i downloaded mahjongg, hangman and pysol for my grannie to play.
i was called away for a few minutes, only to find that she had successfully managed to get mahjongg to run without any instructions from me.
so if anyone tells you that linux cannot be used by older people, they lie.
most people don't like change. give them something different and they cannot cope. insist, and within about three weeks they'll get over it.
I just started using a Linux system a few days ago. I reformatted my Win 2k machine and set up a dual boot with Red Hat Fedora. I'm a network technician on a Windows network and consider myself pretty knowledgeable about it. I've never used Linux before, and here are some usability problems I noticed with it. I think I should be able to do everything from a GUI. I was trying to mount a VFAT partition I set up in Windows to share between the two. I still haven't been able to do this. My friend who has been using Mandrake for a year tried to help and we couldn't figure it out. I got quite tired of logging in as root to edit text documents. Also, I tried to update the system using the update service. It kept crashing, I couldn't get it to update. But the time I was logged in as root (instead of just entering the root password when the program opened) it worked fine. This could be a coincidence, but I don't think so. I have also never used a MAC before, but I tried using an OSX machine my Mom had. Within minutes I was showing her how to do stuff. In conclusion I think Linux is easy to use if you know a lot or you know nothing and have someone else set up everything for you, if you're some where in between, it's pretty hard to use.
The web has a different style of user interaction than regular desktop. Moving from regular desktop software to a web-based thing is not a "minor" change. It fundamentally changes how a user will interact with the machine.
From what I can glean (I'm only guessing here) from information provided, the text field in the Access app provided an incremental search that was far more responsive and non-modal than the "click-and-wait" browser-based thing that replaced it. Responsive and non-modal tends to make users happy. Delayed and modal tends to get them annoyed.
One thing that I've noticed that the movement to put deskop linux in corporations and the movement to make everything a web-based app have in common is that both these movements are usually spear-headed by systems administrators and programmers who:
Too often, end users end up getting blamed for the dumb actions of programmers. Too often, I've heard linux geeks complain "this person didn't like this piece of linux software because it 'wasn't like windows'". When I've taken a look at the Linux version of the software in question, what I usually see is poorly laid out dialogs, system-oriented jargon, controls with related functions being placed far from each other and unrelated controls placed too near to each other and looking related, etc.
Ergonomica Auctorita Illico!