Usability and Open Source Software
Martin Soto writes "This article by two user interaction researchers, discusses many of the usability problems in current open source projects. The nice part is that, unlike many /. readers, it doesn't stop there, but goes into suggesting novel (at least for the OSS community) approaches to cope with those problems in an open source compatible way. Worth a read to those that, like me, still think that OSS should find its way to every desktop computer."
Useability is something you add on the backend of a product to market it. What they really mean by useability is a nice GUI where you can get a mouse trail going.
Useability is great in most OSS work, extremely efficient and powerful...it just has a higher learning curve to the uninitiated user.
Craenor
Actually....
Russian Open Source
Why is anti-gove fud modded up when legitmate questions about the OSS modded down in other articles?
Just for the record, there is NO "off the record" record.
Make a record of that.
On the other hand, the general trend of open source is to follow the leader in the most positive way possible. If someone builds the perfect UI, open source folks will copy it sooner or later.
http://www106.pair.com/rhp/free-software-ui.html
The man makes some good points about usability and free software. I think that Havoc sometimes takes these ideas to the nth degree and borders on almost RMS style dogma sometimes. Still, it is a very good read.
The other side of the coin that these folks do not take into account is the fact that OSS application developers for all the desktop adoption talk are not coding for the masses. They might think they are but they are not.
They are coding for the select few geeks that decide to install a brand new Unix or with Linux Unix-like OS on top off or besid the OS that came with their box. This number is small. The OSS developers in some ways are simply giving the geeky few the big, unwieldy, powerful applications they want to go along side their *Nix powered OS.
ACK
I posted this question in a K5 diary, but I'll post here as well. Where are the usability forums for open source software? Who's working on this? Is there a webpage or a discussion group? Something on Usenet perhaps?
Who's working on the "cutting edge" window manager of the future? Where are the groups playing around with their pet interface projects? This is open source, there should be hundreds of different user interface projects floating around. Most of them would be horrible, but it's that open development spirit that condenses bad ideas into really really good ones.
I'm legitimately interested in working on this problem, but I've never discovered places where people ask serious questions about usability. So now I'll post the same question here, where is good usability and GUI stuff happening?
... why open source software usability sucks.
BECAUSE NOBODY USES IT
Usability means: The software will do what is intended, a lot of people will be able to use it, use it fast, and use it easily.
And please, let's get real: Linux is open source (or free software, whatever), but 99.99... percent of the open source applications are not Linux. So, when you say that "all open source" lacks usability, you are right.
BECAUSE NOBODY USES IT
And I mean, USE it. Not opening a text file to edit an entry to allow 10% more connections to your server. I mean, sit down and USE it for 8 hours straight like most normal people will do.
Open Source, in general, serves the purpose of its creator.
You've scratched, you solved your problem, you hope others will enjoy your solution. But this doesn't mean they will constantely USE it, they will just open, edit, close.
When you get down to what really matters, the real deal behind usability, it is about making software so OTHER people can use. They didn't put the menu item there, but they NEED to know that it exists.
What developers need to have in mind is "I will solve my user's problems". This doesn't mean just wait for a complain. Developers need to actively search problems. Don't you want your software to get better? Then go and hunt the problems! Ask people what they think about it.
You don't have time? Then you are wrong about the priorities. A hard to use software won't get people to USE it, and you won't be helping the free software at all.
Get people to use your software. Doesn't matter that it's bloated, it works XX% slowly, if it means more users.
Apply economic laws: More users = More Money = More Developers.
GET THE USERS, they don't care if the source is closed or open.
Buy a Nintendo DS Lite
Except that the usability, consistency and elegance of NeXTstep has been sacrificed to appease the Mac faithful's absolute assurance that the Macintosh Way is the one true way.
;)
:(
Scroll bars are on the wrong (right) side, so using NeXT's wonderful Miller column browser becomes an awkward back and forth burlesque for broad directory structures w/ lots of entries
Monolithic main menu, no pop-up right-button main menu (and the contextual menu is all-too sparsely populated most times) which can become gestural in nature with sufficient usage (Altsys Virtuoso - right click, Arrange | Path Operations | Punch is a single flick of the mosue for me
No tear off sub-menus---in NeXTstep one can customize the UI by strategically tearing off and placing sub-menus (need to print a bunch of Envelopes? Install Poste.app, open one's word processor, tear off the Services menu and position it so that ``Print Envelope'' is at (say) the bottom left corner of the screen---you can get to it with a single flick of the mouse and a click).
Carbon implementations drag UI expectations down---all too often they don't support Services, File Filters &c. Sometimes not even Quartz live-window drag / re-size
Verbose Mac-style menu shortcut descriptions which use weird symbols which aren't even consistently on all Apple keyboards (NeXTstep, Save == s, Save As == S; Mac OS X, Save == S, Save As == S)
Dumbed-down print dialog box w/ no Fax or Save (PostScript) buttons
File dialogue boxes which no longer support tab completion, filename selection to populate the filename text field, or automatically creating a path of folder(s) in which to save a file
And altogether too many apps haven't made the transition yet---I still want replacements for NoteBook.app, Lotus Improv / Quantrix, TouchType.app, Altsys Virtuoso (and don't point me at Illustrator or FreeHand, the UI for the former disappoints me, the latter isn't sufficiently integrated w/ Mac OS X, no Services, &c.), TeXView.app (TeXShop is quite nice, but lacks the IPC (inter-process communication) which made InstantTeX possible---EquationService.app isn't supported by a lot of apps too, so isn't as useful as TeXView.app's TeX Eq -> eps Service), Webster.app, Digital Librarian (MT Librarian is close, but crashes when I try to index texmf's doc tree), Digital Shakespeare, Oxford's Book of Quotations and TypeView.app
I've some information on NeXTstep and its UI on my personal pages at http://members.aol.com/willadams but GNUstep sadly lost GYVE, so improving on NeXTstep / Altsys Virtuoso seems rather remote at this time
William
Sphinx of black quartz, judge my vow.
I'll probably get modded into oblivion for posting this, but I wanted to chime in. I've got two boxes running side-by-side, one running Suse and the other Win98(games box). What I've noticed is that I've been spending more and more time using the windows box.
I thought it was just a distribution problem), and since so many people here on Slashdot rave about Debian I thought I'd give it a try. Especially since PGI(progenies graphical installer) is now 1.0.
So I actually bought a CD burner from E-bay for the sole purpose of burning the new debian-woody-pgi ISO to a CD so I could install debian. The drive arrived 2 days ago, and works like a charm. I burned the ISO to disk yesterday, and tried the install 3 times before I could even get the installer to start(My router has DHCP enabled, but for some reason the installer couldn't find it). Then X wouldn't run because the PGI ISO has ancient drivers(I have a GeForce4). But I had a command line right?...just ftp and get the drivers, np. Except ftp doesn't work. I can't even ping(yes, I did a remote install...which worked fine! guess debian just forgot how to connect after it installed...*sigh*). So then I tried using the other box (Suse) to write the drivers to a floppy and then copy them to the Debian install. Except...well...after 2 hours of trying to figure out how to mount the floppy drive I find out that I can't write to the floppy because I need to format it in ext2. Fine (grrr)
I use google and find the fdformat command and format the disk...except...that doesn't work either(for whatever reason). So fine, I'll just remove the Geforce 4 and swap in my old SIS card, do the install, then get the drivers and re-configure X. Sure that will work(30 mins later) X starts! Then I switch over to my Suse box to search around for HOWTO's etc (I use a KVM switch to share the monitor) and when I switch back, my mouse no longer works...and niether does the webbrowser.
After about 10 hours of this I just lost it. I have wiped the disk, and am now in the process of installing windows on both machines. I will probably never use linux again.
Don't get me wrong, I love using Mozilla and Open Office, and a few other open-source apps. They are superior to the Microsoft alternatives(and free as in beer!). But they are on my machine first and foremost because installing/configuring them was a breeze.
-Signed
A repenting Linux Zealot
The government has a defect: it's potentially democratic. Corporations have no defect: they're pure tyrannies. -Chomsky
There is one fundamental problem that you don't cover: I DON'T GIVE A DAMN!
I write software on my own time to solve my own problems. When I got bug reports, I fixed them. I wrote a manual and released it.
But don't tell me that my UI isn't good enough: If you want it better, I'll help you port it to Qt. I don't feel like learning anything other than GNU readline, so I didn't.
You miss the point: My software (*MY* software) has a shitty UI, and I could give a rat's hairy feces covered mutated ass whether or not you find it intuitive. If you don't like it, fix it, because I think it's good enough, and I am not going to waste my time maintaining it, because it works just fine!
My next project is intended to be a good piece of software, to be the best at what it is. That one will have a great UI and amazing documentation. But never forget that most developers don't develope for you: they code for themselves, for their own problems. When those problems are solved, they share their solutions, but don't expect them to bolt a better UI on it, if they don't need one.
Like I said, I've written software for me, and I don't care about that. The software I write for other people too will have a good UI, but never forget that those are two entirely different classes, and don't tell me what I should write in my spare time!
cpt. kangarooski said:
:(. While the Mac operators were busy trying to figure out how many pieces to cut the index into so as to have multiple people up-date it by hand, I dumped to XTags, fed the file through a one-line awk script to increment all of the page numbers larger than 436 by two and had it loaded back into Quark XPress for proofing before they'd decided that they'd all need to work on it (four people) and to drop all other production to get it done.
>I would argue that using NeXT ruined Apple's UI work...
and your arguments for this are?
>NextStep had all sorts of terrible Unixisms in it
>that have infected the Mac, e.g. the file
>structure,
As opposed to the typical ad hoc mess w/ no system or file hierarchy of the typical Mac user's desktop?
>security and multiuser systems,
Oh, it was a _good_ thing for one of my co-worker's files to've gotten clobbered by another co-worker who'd had the file open in Quark XPress so that when it was closed by the second co-worker Quark restored the file as it was when originally opened losing ~3 hours work?
Wait, networking should only be for connecting to a printer like on a 128KB Mac? and one should use sneakernet and only share files on floppies?
>outdated CLIs, etc.
Show me a Mac tool which approaches the efficiency of handling complex file editing tasks as sed and awk and this might have some merit as an argument. The other day one of our clients added two pages to the middle of a book whose index had already been done (manually
>MacOS should have been replaced by the mid-90's at
>the latest, but it's sad to see the crap coming
>out of Cupertino these days.
Only because it's not as nice as what NeXT used to make available. It's far better than what Apple has in the past made with the exception of A/UX and when they were selling OpenStep (which I wish they'd continued).
William
Sphinx of black quartz, judge my vow.
When it comes to open source software, developers are users. Open source software is a good example of user-centered design because the connection between users and developers is so tight. They may not be the users that usability experts usually think about, but that's a problem with usability experts, not users.
In part, open source software is a reaction to the fact that commercial designs like Windows and Macintosh have completely ignored the usability concerns of expert users. Expert users need tools that are different from casual users.
If you look around other areas, many tools for experts would not pass muster with usability experts: knives are dangerous and hard to use, motorcycles are complicated and tricky to control, violins permit users to make enormous numbers of mistakes that only a little bit of technology could prevent, cameras like the Hasselblad or Leica allow enormous amounts of user error. Thank goodness "usability experts" haven't been allowed to mess with those designs, because they are excellent designs.
Usability experts do not get involved in OSS projects
Usability experts can start whatever projects they want to. But they shouldn't be surprised if many projects simply have no interest in their advice--that isn't because people don't understand what usability engineers do, it's because they do.
And you can see many of the pathetic attempts by usability experts at making computers more intuitive at the interface hall of shame (most of the IBM stuff on that site came from what is generally considered a reputable user interface research group at IBM). From supporting family and friends, I can also tell you that neither Windows nor Apple usability have succeeded in making user interfaces that are intuitive even to their intended target audiences. Perhaps before complaining about the usability of open source software (which is much easier to support remotely), usability experts should first figure out how to do things right even for companies willing to actually invest millions of dollars.
However, projects like KDE and Gnome, whose aim is to produce an improved Windows or Mac-like desktop may well welcome the involvement of usability engineers. Any usability engineer who wants to volunteer is free to. Personally, I think that for non-programmers, paying a company like Microsoft or Apple to buy an OS is a better choice--if the market were only a bit more competitive.
I am not sure if I believe the opinions I keep reading here about OSS developers, being:
:-)
:-)
:-)
1) Elitists. Come on, lets be reasonable now. If that were true, we wouldn't have anything but bash shell scripts for all our software.
2) Don't care about users. Also a comment I have seen, also not true.
3) Don't have the resources to do useability testing. Perhaps, but not universally so. Mozilla? Open Office? Not usable? I don't think so. SOMEONE is doing there homework there in the usability department.
But, seriously, I think the problem, all of the problems, Linux (UNIX) in general is facing is that the stage for which operations and use are/were confined to the server room.
We are in a TRANSITION PERIOD, which is going to take another 5 years to work out to address DESKTOP issues, now that the conquoring of the server rooms is a tide no company can reverse.
(Weep in the corner over there Bill....)
This 5 year transition period with usability is going to solve the following issues:
1) Up until now, there has really been no serious demand for desktop apps, in the office arena in the Unix market. This is turning now because the American software industry is, well, maturing beyond Windows. Windows is too monolithic, and too expensive to go beyond its current habitat.
Alternatives are wanted, and want generates development and need because companies that do not play by the Microsoft rules, that have to compete against companies that must, will rule the day in sheer economic terms of operating thier IT infrastructure. Regardless, in fact if you are a company or a country, if you embrace the new way, you will win the day!
2) As a result, mature GUI API's are needed to begin the process of building usable component software products to build software that is easy for the masses to use. Without a mature GUI API to program with, you can't make software that has a similair look and feel.
3) The API's most people will use will probably based on Qt or GTK. (i.e. GNOME and KDE).
I will make a prediction here that Qt will win the day. It is further along that GTK and has a much more mature development environment, which is effect is the foudations developers will need to build the API's and toolkits to make coherent GUI interfaces for apps.
The KDE team knows this, and as a result the toolsets for KDE development have been given equal pairing in attention to detail as KDE's GUI API has evolved. This makes it easier to build higher quality Qt apps at a faster rate than GNOME apps.
I point out in particular, the rapid pace of development of KDevelop and QtDesigner.
In the next 2 years, I predict a very visual studioish integration of all KDE toolsets, into one new development environment that will enforce look and feel much more effectively than right now, and allow Qt developers to make better GUI decisions as a result.
In the end though, you have to remember, the demand for Linux desktop apps will not really start to hit home for another 2 years yet. Linux is still wrapping up its winnings in the Windows Server war.
After a while, the larger server market will provide a new offense base to launch economic warfare against Microsoft's monopoly and Linux will eventually begin a new attack. This time, the target will be Microsoft's home world, and once we enter that system, we will deploy the PENGUIN DEATHSTAR.
What that "DeathStar" application will be, I am not sure. But I will guess and say that it will be OpenOffice full decked out 5 years from now, along with some sort of Exchange killer, yet to be named...
"We have entered the Redmond system Lord Penguin."...
"Fire at will!"
-hack
Got Geometrodynamics? Awe, too hard to figure out? Too bad.
Oh, yes you will. This failure will stick in your craw. It will tug at the corners of your conscousness. Eventually - perhaps when you read about an interesting tid-bit in a new distro release, you will be drawn in again to redeem yourself.
:)
Modded as Funny, and rightfully so, but there's so much truth to what he's saying. This is what happened to me. I first installed Red Hat in 1997; I reformatted the partition about 12 hours later. Since then, I've re-installed Linux (on average) about twice a year. Each time, I stuck with it a little longer. Why? Because each time:
1. The installation process got a little smoother.
2. I learned a little more about this beast Linux and how it does things. This is akin to that "tugging" mentioned in the parent post.
3. There was a little more I could *do* in Linux. In other words, applications kept accumulating.
4. Microsoft just kept pushing me.
In the end ("the end" being about 6 months ago) it was the convergence of these factors that finally led to my full-time adoption of Linux at home. When MS started talking about their licensing plans for Windows XP, I made a resolution that Windows 2000 would be the last Microsoft OS I ever installed, and that I'd move myself over to Linux at home.
Sure enough, almost as if on schedule, Linux had finally reached the point where it did at least 75% of what I needed for day-to-day computing. For those things it still didn't do, there was WINE, WineX, and VMWare.
(I'll resist the urge to end this like a "Switch" ad...
Win2000 loads this app on setup. I really want to know what it does and how it works.