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
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.
Really my main beef with linux is how hard it is to set the thing up when you haven't gone through the process in the last six months. I generally forget what the config file is named that I'm interested in, or where it happens to be located. Frankly, any setting that most users will have to change at some point in their life should be easily accessible through the GUI menu system.
I will admit that it is a heck of a lot better than it used to be, but I still have to do a bit of googling to get my linux system usable. Windows on the other hand, you can go to the control panel and what you want to change will likely be in there somewhere, unless it's application specific, and you don't have to read any manuals or docs to figure out how to configure your system - it's intuitive.
HOW'S MY POSTING? CALL 1-800-POSTING
I've been on Windows/Intel for over 10 years and have just recently installed Fedora on an older P3 500. Here are a couple of points I think are worth mentioning (ubergeeks can exclude themselves from the classifications below):
1. Linux is ready for *some* desktops only, namely ones where users won't be constantly tweaking and installing new software and hardware. You want a computer for grandma to browse the web, send email and view a few grandkid photos? Linux is great! You want to roll out corporate desktops where employees don't really need to be able to download and install the latest version of KaZaA? Linux is a godsend (provided the business software you need is supported).
2. Linux is *not* ready for the average user desktop. The average user wants to do everything grandma wants to do, but they also want to be able to install or upgrade software and hardware *easily*. In addition, they want a fully functional GUI, with no *necessity* of dropping to a CLI for everyday tasks. They want to be able to go to a third party software/driver website, follow the 'click here for Linux version' hyperlink, download the file, then double-click to install it.
Needless to say, as long as Linux distributions and desktop managers continue to proliferate, the average user's requirements will never be met. I say this as a *fact* not a *prescription*, so spare me the Linux-strength-in-diversity comments. I just think you can't have your cake (freedom/diversity) and eat it too (Linux on average desktop).
HOW'S MY POSTING? CALL 1-800-POSTING
Nielsen told us that we only need to test with 5 users performing representative tasks and for the most part I believe him. Convincing the open source program authors to make the necessary changes (as observed by the testers) is always the hard part. But then, documenting the findings of usability studies of any scale and constructing an authoritative document will be useful
_____________
my weblog
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
The easy, cool, experienced thing to say in response is "RTFM" or "read the man pages and leave me alone." That works for the experienced switcher, or those who have some experience with computers. Most grandma-types (and I'm using that as a stereotype, so all you computer-whiz grandmas need not send me mail, k?) are not going to know how to even find the FM, let alone be able to RTFM. "Man pages? What's that, honey? I'm a female. Aren't there pages for me?"
One of the good things about Microsoft is they spend the money to do usability studies so that grandma types can figure out how to send email. This grokdoc project is going to apply the many eyes principles of the community to replicate the usability principles that Microsoft can just throw money at. We can't throw money at this, but we can throw eyeballs. (go ahead, make your joke, I'll wait.)
This is a new site, not on Groklaw itself, and it is a community project, not just PJ. So don't worry, Groklaw is not going anywhere, and PJ will still have time to tear into those legal papers. And yes, we know, there are other Linux doc projects, and those are wonderful, but they are not yet grandma-friendly enough, and so now the community will attempt to add to the existing docs something new, targeted at a new audience. An audience we actually do want to see using Linux if we are ever to see widespread adoption of the software. Remember, the /. crowd is atypical. The vast majority of computer users lack of knowledge of the machines would make our hair stand on end if we focused too much on their ignorance. So we can either crack jokes about them, or we can pause a moment and give them a helping hand. The grokdoc project is an attempt to give a helping hand to a new type of Linux user.
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...
Did you actually read the articles? The point is that this won't be on Groklaw, but on a new site. It is a separate project designed to further the growth of FOSS. Ain't nothing wrong with that, and it won't affect Groklaw since it will be the community that does this project. PJ merely proposed it. She won't be the one doing it. She'll just be one of thousands of people who offer input.
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.
The learning curve with ANY new operating system is large. Every tried to teach someone with no experience how to use Windows? It's hard. The Mac succeeds somewhat by hiding much of the complexity, and reducing the options available to the user. It make it hard to mess up, whereas Linux and Windows give the user the freedom to make mistakes (when working as root, anyway).
:-D Seriously though, there's little incentive to sell the public an OS for the most part. The market is really in pre-installed systems - most punters don't mess with their systems once they're setup - and for that to happen vendors need to risk the wrath of MS by installing the competitor's software. It's a risky venture for them, so it won't happen until Linux is seen as foolproof, and has greater perceived application support - that's marketing folks, for Scribus, OpenOffice, The Gimp, and most of all, for Games.
The Linux vendors can't follow the MS route, because they can't strong-arm hardware and software vendors to produce products for their OS. This is a good thing, and FWIW, trying to compete with AOL is kinda silly anyway. It's a sad day when a Linux distro proclaims it's got the dumbass market sewn up.
Forget thrust, drag, lift and weight. Airplanes fly because of money.
Unlike software development via open source usability is something that is not easily done without money. Developers are willing to program for ego, and to scratch the itch. However, usability is not like that. Usability virtually requires money because of the way that it is done.
Usability is much more than doing surveys, or talking to people, or just watching people. That is "street level" usability, as I like to call it. But, it isn't what is needed to Linux. What is needed is a fully funded usability study. It can be done, and done cheaply if done right, but to think that it can be done in some "open" fashion isn't workable.
Consider for a moment that reliable data is needed. To get reliable data, you often need to motivate people with money. The best usability studies pay people for their participation. The payment generates motivation and focus.
But there is more. Usability is a research activity, and it is a human to human activity. When people have to talk to each other, or when people have to observe other people, the labor takes time. That time is not "free" time. It isn't sweat equity, it is real time. Developer time is often hobby time. Granted hibby time will get a lot done, but it can be done cheaply or free whereas usability labor costs money.
Finally, I am confused about the scope of the research. Do we really want research that covers everything, in an unstructured WiKi environment? Not me. I'd rather gather data piece by piece. This is a time to start small and grow over time. Get some little victories first, then expand.
How to Download YouTube Videos
Most people like developing for linux as a hobby, or for fun. Rarely is it for money. And often if it is for money, they only need to get the product working. There's no golden "standard" for walkthrough-esque documentation for linux applications.
The man pages are the typical standard, but they are a far cry from what Ms. PJ is asking for (and many others as well).
Though this is a major task, I still think the reason documentation is lagging behind program development is less people find it a job they enjoy doing.
Perhaps the main reason why there aren't many who find this enjoyable, is that mainly it is the technical types who get involved with developing in linux. I don't think you'll see english majors or doc writers taking to the linux platform.
The more writers/language focused people that get interested in linux, the more possibility there will be for better walkthrough type documentation.
The linux documentation project is a great start. I think it will be able to evolve into something which will be of great use to newbie users of linux.
I may even consider pitching in; I've got tons of pointers and tips that I have written down so I don't forget them (I constantly forget certain commandline actions which I only use every month or so). I've often considered putting up a website; but as many people have posted about the linux documentation project, maybe I could just pitch in there?
I'm not a very experienced programmer (I'm still a sophomore in college, CS Major) and I do enjoy writing as a hobby. I've always wanted to contribute to linux, because I believe in the ideals the Open Source community represents. Maybe this will be my summer project =D
In my opinion, there should be two separate clipboards, which I refer to as the "Tempboard" and the "Permboard" for clarity. Yes, I hear many of you saying--this is the way it's implemented. Well, yes--partially. Let me first explain The Right Way to Do It, followed by applications that break the rules.
The Right Way to Do It:
(I'm using Eterm 0.9.2, Gaim 0.75, and Opera 7.23 on a Fedora box. Please let me know if these errors don't happen on other versions or other distros.)
- Select some text in a Gaim window, then close that window and attempt to
middle-click paste it into another program. No pastage.
- In Gaim, select some text in the textbox and then attempt to middle-click pa
ste it to the same text box. No pastage.
- Highlight some text in Opera. Then unselect it. Try to middle-click paste
it somewhere. It works!
- Highlight some text in Opera. Unselect it. Highlight something in another
window and close that window. Try to middle-click paste--you get the old fake
Opera-select.
- Highlight something in an Opera textbox. Middle-click it to the url box.
It works. Highlight something using the keyboard. Middle-click it to the url
box. It pastes instead your old highlight.
- In the Gaim textbox, type "Text1". Select the text and CTRL-X it. Type
"Text2" in the textbox. From another window, select "Text3".
- CTRL-X "Text1" in Gaim again. Select text from Eterm. Shift-Ins in the
terminal window. Shift-ins in Gaim. Different things are pasted to each
window!
- CTRL-C text in Gaim's chat screen, and try CTRL-V to paste it into the
textbox below. It instead pastes what was previously in the Permboard.
Does anybody else have ones they'd like to add to my list?Problem: The Tempboard gets deleted when the window is closed.
Problem: The Tempboard gets deleted when you middle-click inside the same text input widget.
Problem: Opera uses "fake selects" in order to work around the clumsy situation of not being able to highlight multiple things at the same time. Firefox does is that well, and so does OpenOffice.org. As we shall see, they don't always get it right.
Problem: The Tempboard reverts to Opera's old fake-select when the window is closed.
Problem: Highlighting with the keyboard doesn't update the Tempboard.
Go back to Gaim, select "Text2", and type Shift-Ins. "Text1" is pasted.
Problem: Shift-Ins pastes from the Permboard, not Tempboard.
Problem: Shift-ins pastes from the Tempboard in Eterm, but pastes from the Permboard in the Gaim window.
Problem: Selecting chat text and CTRL-C doesn't update the Permboard.
Dlugar
Computer Go: Writing Software to Play the Ancient Game of Go
With one huge exception: software installation
./configure; with RPM, I find out when it spits out the word "depencencies:"
Now, if it happens to be one of the applications bundled with Mandrake I can just use the software installer and everything works perfectly every time. However, whether I'm downloading and compiling from source or trying to install RPM's, I've repeatedly been dragged into what can only be called dependency hell!
OK, I've downloaded NiftyApp. If I'm compiling from source, I'll find out about the dependencies while running
So I find out what it's dependencies are. I go to Google and RPMFind and locate + download the required packages. But lo and behold, these packages too have unsatisfied dependencies. Sometimes I end up repeating this cycle so many times I just give up: For God's sake, how many damn dependencies can this program *HAVE*?
Other times (This is usually where I give up), the computer starts acting as if it's on crack:
rpm -i annoying-dependency.rpm
Error: package annoying-dependency is already installed.
rpm -e annoying-dependency
Error: Package not installed.
Make up your mind: Which is it, installed or not installed?!?!?
In short, I'm saying that Linux seriously needs to improve packaging. At the very least, list all the packages that your program needs installed before it can compile in a help file. That will at least save me the trouble of discovering them manually. Or list the deps on your website or Sourceforge page. I've tried installing K3D, for example, and just given up, having hunted down about 8 other RPMs and then getting the crack scenario described above. Even if it doesn't prove impossible to clear up the dependencies, It's still a major PITA to try and install, for example, MPlayer and end up downloading 5 packages for that program, and then hunting down 6 more for A/V control.
Now, I'm pretty technically proficient. I'm not afraid of the evil command line, I can use a console, and don't mind manually editing config files. If *I* can't get half the programs I download to install, what hope do ordinary users have? (Heck, considering the obscene amount of hard drive space most of us have, why not just offer a statically compiled version for download? It was the only way I could get the Game of Life (GOL) to work)
Luckily, Linux comes with about 95% of the applications I would ever use anyway. But the remaining 5% make me want to pull my hair out!
"The learning curve with ANY new operating system is large. Every tried to teach someone with no experience how to use Windows? It's hard."
Absolutely. For quite some time I believed, as do most, that Windows was simply more usable than Linux, hence its popularity.
Then I set some people up using Windows that had no computer experience, or had only Mac experience, or had only DOS experience.
What an eye-opener. These people were absolutely as perplexed by Windows as you can imagine. It's as if you shoved them in front of a strange screen with thousands of dials and knobs, none with an obvious purpose. They didn't understand some of the metaphors-- folders even confused one of the Mac users!
So, in reality, people like Windows because they've already learned how to use it.
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.
However the programmer should be a slave to the user?
In a word...yes. Or else you fail usability.
Nobody's gonna act like your app is some gift from heaven. If users can't use it, they'll bitch and move on to something else. There are few things I hate more than programmer egos. YES, you're not God's greatest gift to computing. YES, if you're developing software you expect to be used publicly, you are slave to the users who will demand features, or else you're just another asshole who puts software out and then complains when people don't like it.
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.
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
I've installed plenty of distros in the past two years. Everything he said is true. Heck, Mandrake even wanted me to check the button for the 3-button mouse, then shake the cursor all over the screen to get it to work (huh?).
:P
In Windows, it just knows when I plug the damned thing in.
Red Hat still asks you to partition things, and to mark out swap space, etc. It also asks you for a lot more network configuration than Windows does (Windows lets you just check "Typical settings"), generally asks for more questions on things like security levels, program groups to install, and so forth. Hell, check out the look on someone's face when they're asked to install a "bootloader"--what's more, their choices are things called "LILO" and "GRUB," typical OSS project names definitely showing how useful they are to people outside of development communities.
He's right--to say Linux is easier to install than Windows is insane fanboyism. It's just not true, and there's nothing wrong with admitting that so it can be addressed.
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.
coining the phrase:
IANALUE - I am not a Linux Usability Expert.
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.
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.
Isn't making an interface usable something interesting? Something challenging? Aren't challenges something geeks do well? Ignore Microsoft. Why not make the best interface that can be made? It'll take time but it'll arrive. I'd like to see lots of distributions with a strong core feature set to each of them, but with each carrying an ever varying application set. Think KDE on a large scale.
What I find interesting is that whenever someone says "usability" and "linux", people automatically assume "the graphical interface".
How about the rest? A well thought out OS, as far as usability is concerned, is thought so from the ground up.
Pardon me, but I'm going to point at Mac OS X. It's definitely not just the interface that's different, that's just the icing on the cake. The underlaying OS is vastly different from your average Linux distro, because the way it is organized. It has to do with everything: the bootscripts, the security, the application packaging, the filesystem organization, etc.
Think about it: those guys at Apple probably sat down and said "let's make it easy on the user", then they started doing things more or less from scratch. Only some of the people who contribute to Linux give a thought to the basic design principles that Linux is organized upon. No I don't mean the freaking graphical interface, I mean everything. The result is obvious.
The Linux heritage is UNIX, which has always been a black hole of usability. UNIX was always an OS designed by the extra-power users for other extra-power users. Naturally, Linux inherits all the flaws in it.
Frankly, I think it will take something like 10 or 20 years for Linux to become usable (you know what I mean by usable, don't start nitpicking please) and impose itself on the market. If it won't be too late by then. Why? Because companies like Apple and Microsoft can afford to redesign the entire operating system every few years. Think about how the Windows systems have evolved, or how Mac did. Eventually, one of these summers, you're going to look at the new Windows system and say "dude, that looks so good and usable, and it's thought out so well." People already say this about Mac, it's just the price tag for the hardware keeping them back.
Granted, the Linux community could do the same in 6 months to 1 year. The problem is that they don't even begin to acknowledge the need for a complete overhaul. The replies to this post will probably say "what's wrong with Linux as it is today?" Therein lies the problem.
There are already avangardist projects like GoboLinux or Zero Install (heck, even SELinux makes a good example, see how many adopt that soon) out there who try to challenge the basics of the Linux system design, but not many people take them seriously. It's a shame, because if anything, such projects have proved that you can do anything with Linux, as long as enough people start to see the need for the change.
Every year, the major distro's come up with bells and whistles, and better hardware detection, and package newer versions of the software, and better tools to tie together with ducttape the problems in the system. And we delude ourselves into thinking that Linux systems are evolving. Please. No, I don't mean the kernel or the applications, I mean the systems.
Sigh. You'd think there would be a breakthrough at some point, somewhere. That someone would understand the need for fundamental changes. That someone would design a new breed of Linux system. That it would implement that new system to a fairly usable point. That a company would appear to pick it up and bring it to the masses. That the community would embrace it.
But it doesn't happen. There are 5 hops I mentioned here, and something happens at some point. I can figure out some reasons and you can probably figure them out too. So we all clap for the 10th version of the same old distros, going on the 20th.
i ate crayons when i was a kid and now i have two braincells and the blue ones taste nicer