User Feedback and Open Source Development
Earl Shannon writes, "With the new release of Sendmail I was looking over Sendmail.net and
came across this essay called It's the User, Stupid. Author Mike Kuniavsky states a very important question if Linux wants to make inroads on the desktop as an open source solution. How can the open source development model obtain the necessary user feedback to development interfaces that the user will intuitively able to use?"
.. or isn't it a bit ironic that an article about user-friendliness is hosted on the Web site for Sendmail? Is this the same Sendmail whose configuration file often looks like incoherent line noise? A friend of mine, having once examined my sendmail.cf, commented that it looked like I had written it by pounding my fists randomly on the keyboard. I simply smiled knowingly and nodded, too ashamed to admit that that was exactly how I had configured it ..
What has happened is that Windows has become part of peoples' learned expectations.
Much as with English, people have learned about its warts and aspects of non-intuitiveness, and have figured out how to work around them.
If something is truly intuitive, this means that there is no learning process required. The thing in question simply works the way people expect.
UNIX has the merit that it is a simple enough computer system that some people can get a sufficiently accurate model of its operation so that it becomes possible to predict what it will do.
In contrast, as soon as you strip the veneer of "learned things about its behaviour" off of Windows, it's a richly complex system whose behaviour is much more difficult to predict. (The lack of source code or other disclosures don't help either...)
The above approach to "intuiting" about Windows and UNIX take a rather different tack than the usual, assuming that the individual will actually try to deeply understand the system. It replaces the "black box" with one that is expected to be understood.
Rather unlike the usual model of trying to know nothing about what is going on behind the curtain...
If you're not part of the solution, you're part of the precipitate.
This is really the oldest problem in the free software (Open Source/label of choice) community. There are authors that elicit and get feedback, but they are ususally getting feedback from other programmers, so it's just an inbred feedback loop.
People growl at the thought of having to edit a text file to make an adjustment or configuration. Geeks say "Awesome - text file" and whine to people to just learn how to do it.
Teching the masses is not the point and will never be the point. The masses will not learn and any software that is predicated on a painful interface will be opverthrown by software that is pretty and easy to use.
It's not what any of us wants to hear, that free software utterly fails to companies like Microsoft that spends millions of dollars on research with people who are not geeks, who are not programmers, who are not even proficient with computers.
Money is not the point. research, forethought, and feedback is the point. There is reason that Apple and Microsft have fixed UI models. They recognized that the biggest weakness of most programmers is intuitive UI design.
Programmers and geeks as a whole are extremely intuitive people, and that intuition allows us to make tremendous leaps of the non-obvious. Most users are not capable of these tremendous leaps and fail to understand. These users are not stupid or even lacking in intuition. One component of intuition is past experience, and if they have not spent a long time around computers then they do not have the necessary reference material.
There are UI guides out there, and there have been some efforts by the GUI people to get coders to follow them, but we all know that they are herding cats because we won't follow anything that somebody else is going to impose. <sarcasm> I don't need those frigging kernel patches that king linus and prince alan keep trying to shove down my throat.
To get back on subject. If we really want to take over the universe (duh) we are going to have to figure out how to make software that is easy to use, friendly, and intuitive to -non-computer users. There is no compromise.
Thank you Redhat, Corel, and all of other distributors that have gone to great lengths to make is easier to install Linux. I mean there are tools around now so that I don't have to manually program my monitors frequencies into XF86config!
enjoy,
chris
-- I need more coffee. It's Monday. There is no such thing as enough coffee on a Monday.
Am I the only one tired by titles of 'It's [whatever], stupid'? This always sounds to me like a somewhat veiled attempt from the author at placing themselves above the reader from the get-go, by claiming they have such a clever bit of information that the reader should feel 'stupid' for not knowing it.
More on topic, I have to say there probably isn't such a thing as an intuitive control. If you think, for instance, that a mouse is an intuitive device, you should see 80 year-olds who never touched a computer before try to figure them out.
Rather than considering so-called 'intuitive' controls, the goal should be to develop methods which are built upon existing and well-known ones. Ultimately, nothing is intuitive in controlling a computer (unless we developped Herbert's genetic memory in the last 50 years), but rather part of a slow learning process.
So don't shoot for intuitive; shoot for ease of learning. Mounting and umounting a drive, for instance, isn't intuitive to a Windows user. But it's easy to learn, and once you catch the principle, it's acquired.
Is that more on topic?
> No, what "intutive" really means is "like
> Windows."
In my experiance I have to disagree. The real
topic here is "Learning curve". There is no
such thing as "intuitive".
I have seen complete newbies sat down in front
of "Windows" and be completely lost. They had no
idea what the hell was going on. Its not that
windows is "Intuitive" it just has a shallow
learning curve.
In truth...Unix can have a fairly shallow learning
curve for the non-admin. If your job is not admin
of a system, you can be sat in front of a terminal
and shown how to do the few things you may need
to do (reading/sending mail etc) and learn in
a few mins to an hour or two.
There are two problems I see.
1. Windows exposure
Just as they say "LEarning a second language is
harder than the first one". Just as a newbie
leaning french will try to drawn on english to
incorrectly fill in the gaps in his mind, a
new linux user sits down and expects to be treated
to Windows. It is not the same...it is wrong to
expect it to act and respond the same.
2. Admin ability
To install linux and get it up to a state where
it can be most effective, and work well, you need
to be an admin. You need skills that take a good
6 months of real use to even begin to get good
at.
A new user is not a qualified admin. I know I
only got where I am today by shooting myself in
the foot a few times (first under windows, then
under linux).
What is really needed are tools that lower the
learning curve. Things that are easy to learn...
easy for a newbie to get setup in short time...and
do not hide their internals such that they can't
advance beyond the high level tools.
This has been the major falling of windows, and
for me, redhat. The gui tools are either the ONLY
way, with all the limitations built in like solid
brick walls (windows), or hide the internals and
eventually stunt advancement (redhat - albeit this
is from a few years ago..it may not be a fair
assessment today).
As for innovation (from the article). I have seen
even experianced users sitting dumfounded in
front of some of these "innovated" user interfaces
So what if we "copy". Ya see an idea that works..
ya use it. Ya see ideas that don't work...ya
don't use them. I am all in favor of assmililation
of good ideas.
I don't know about most people...but I like a
good stable system that works. I have that in
linux. Am I interested in making linux "Easy for
the newbie" - yea marginally. However...my main
goal is getting my job done. I imagine that that
is the motivation behind most of the "Opensource"
advances. Its either to have fun...or get the
job done.
"Market Share" be dammned. I don't even care.
Why do we need to "Compete" with microsoft
or anyone...can't we just do our thing? If it
wins out and "dominates the market" well um like
hey cool...i'll party to that. If not...well hey
it works for me...ill party to that too.
In nay case...I would like to see an OS built on
the linux kernel that could soften the Unix
learning curve down to something like windows.
I wouldn't use it (don't need it) but I would be
happy to point newbies at it.
I guess what my point is, is that criticizing the
"Opensource" movement for "Not making easy and
innovative interfaces for neewbies" is like
criticizing the government of France for not
providing free health care to people of Zimbabwe.
For me, the goal of "open Source" (Or Free
Software to use the prefered term) is to share
code for universal benefit. Faster development
cycles and "extra eyes" are side benefits at
best (though, great benefits they are).
"I opened my eyes, and everything went dark again"
A common misconception is that Linux GUI's are hard too use. For what the average user does, this is a very false statement.
.ini's are created, and the monster known as the registry is altered.
Most people use only 3-5 of the icons on their Windows desktop, without ever delving into any of the menus. AOL, Word, Internet Explorer is all they know.
For most people, it's all they need to know.
So when we talk of usability of Linux GUIs, there is nothing "hard" about starting Linux programs from the GUI. What gives average users trouble is installing the actual program.
For Windows most installers automatically put the icons on the desktop and the user never has to worry about fiddling with any settings.
There is an immense number of technical things going on with the installation of a Windows program, but the user never ever sees it. DLLs are copied,
The same should also work for installing Linux programs. Install scripts which hide the ugly technical stuff from the user, place an icon on the desktop, and thats all.
Instead of a "better" GUI, Linux needs a better install procedere which lets the user click and go.
One possible solution (and feel free to rip this apart as unworkable): Create a consensus document that sets forth interface guidelines, like Apple has for Mac developers. Not to create a rigid dogma, but to provide a starting point for interface design, so that one person or group isn't starting from one end of the spectrum while another group starts at the other. To create a common language for UI design. As for user feed back, well, a web based feedback forum, like /. boards, could allow end users to comment on interface features. This problem is not one that is insurmountable. It simply needs to be recognized.