Advertisement

Article: OSS S.O.S - How HCI Killed Open Source

Started by August 01, 2004 04:42 PM
130 comments, last by C-Junkie 20 years, 6 months ago
Quote:
Original post by Mayrel
It is no such thing. The article is clearly only talking about usability.
Is it? What is innovation in software, and how frequently can it be independent of usability? Software is about enabling people to do things, which means that usability is a pretty intrinsic requirement.

Quote:
There is also the issue of the us and them mentality, exemplified by the article and your response to it. The implication is that there is open source, which is all unusable, and closed source, which is all usable. Obviously that's not the case, there is much closed source software that is very badly designed.
That's a ludicrous extrapolation but, to play your game, allow me to accuse you (and Open Source advocates in general) of adopting the victim's pose. "You say usability isn't a core focus of OSS! Obviously, you must be implying that OSS is evil and all Closed Software is good!"

Get a grip. This is a debate about high-quality software only. Leave the bottom-feeders, be they Open or Closed, out of it.

Quote:
What makes a program usable or technologically innovative is not the terms under which its source is available, but the conditions under which it is developed. That is what this article cogently explains -- the OSS community does not foster an environment in which usability is considered as important as it should be.
And what is the result of that environment? A lack of usability. And since applications are about people and how they use them, this lack of focus on usability inhibits innovation.

But let me stop speaking in general terms. Let me take a high-profile OSS project and point out its lack of innovation as a function of a lack of a focus on usability.

KDE is Windows Redux. Sorta-Like-Windows-But-Not-Quite-As-Good. You heard me right, "Not quite as good." And why is it not as good? Because it isn't a user-driven development process. The direction of Windows has and will frequently change because of perceived shifts in the needs and habits of users.

Wait, I just remembered the ultimate example. Visual C# 2005 Express Beta collects usage data to help refine the product. This is a developer tool!

Case closed. Of course, there are an untold number of additional examples. Widget proliferation, excessive required reading and the conspicuous lack of task-based user interfaces in OSS can be identified in a mind-numbing number of applications.

How's about OSS and its advocates stop being defensive and identify useful changes from this criticism? I'm a big fan of OSS; I'm just disappointed with how unadventurous it's been, by and large. I mean, Linux is a reimplementation of a 40-odd year old operating system. KDE, GNOME and virtually all other window managers are implementations of a 30-year old interface paradigm. The whole traditional notion of "desktop" and "applications" is not set in stone.

Open Source, to me, is a huge opportunity to try real alternatives, really new stuff.
I don't understand why does some people gets mad about Open Source. Most Open Source projects are not made by multimillonaire corporations, and in spite of this, a great number of them are amazingly good/useful pieces of work.

They usually argue against OpenSource taking X11 windows managers as an argument, as if they were the most remarcable representations of Open Source. And even in this context, I fail to see what's the problem about KDE/Gnome being similar (or bad copies) of MS. Explorer. If copying an idea is so wrong, then clones of orginal games shuldn't exist either, no matter how worst or better they are compared to the original.

Open Source puts computer/programming knowledge in hands of everyone, and this is a great way of improving technology.

Saying that computer programs should always be closed source and their development should only be in the hands of one or two corporations is dumb and narrow minded. Everyone of us can contribute to improve technology, and Open Source is just another way to do so. That's all, no big deal.
[size="2"]I like the Walrus best.
Advertisement
Most open source apps have been playing catch-up for a number of years, now. It's only recently that they are getting near the stage where actual innovation is a real possibility. Though I've not investigated this myself, I've heard that some weird new open source environments do exist and are being developed, but as they aren't mainstream it can be difficult to track them down. If they classify as innovation, I wouldn't know.



So how do we attract usability experts to volunteer work on open source?
My stuff.Shameless promotion: FreePop: The GPL god-sim.
After reading the article, I see two themes mixed in the exposed problematic:
1- The difference of project structure and management between opensource project and private company project: team structure, development goals, quality goals and organization.
2- The consequences of large opensource project management: user interface innovation is questionned, exposed functionnality is questionned.

On the first part, the differences between a commercial project and an open source explain part of the problems exposed within the article:
- project goals: the private/commercial project is always user oriented (no matter what is the level of the end user). The end product will be sold to an average user who may (or may not) have a clue about what the piece of software may add to his own productivity. This is vital to a commercial end product to please and ease the work of the end-user, else there are no sales. The open source project does not have such a focus since it is freely accessible. This does not mean that an open source project will not be easily accessible to the end user, but that this may not be the primary goal of such a project. The team structure reflects this difference.

- team organisation: a company will structure its team into development team, user testing team and project management. There are milestones meeting to check the project evolution often composed of the lead developper, the lead tester and the project manager. The project manager is responsible for defining the functionnalities and goals, the development team is in charge of the coding and first level tests, the user testing team is in charge of stress testing the product functionnalities and interface. Note that the user testing team and the project manager have no knowledge of coding.
In an opensource project, all the positions are manned by developpers: they define the functionnalities, manage the project and do the user testing. This gives a bias in the project since everybody has a knowledge of the inner working of the product: thus they do not need to develop much the user interface (this leads to the smbUmount example in the base article). Note that in private/commercial products 60% of a project development is on user interface. In open source projects developpers prefer developping functionnalities over interface (let's face it: developping user interface can be really dull at times).


- project management: as we have seen in a company structure, the project organization is structured. The project is done with a definite timeline. The trouble is that projects get rushed: the end-user may have a great interface but buggy functionnalities (look at video games and patches issued as soon as the game is released). In an opensource project, there are no lead developpers since everybody shares the coding. It is often left to the project management to review the sources proposed and to do the end user tests. When the project has many code checks (e.g. 200 for the KDE source), does the project management team has the time to do extensive end-user testing ? Since an opensource project may not have a definite timeline (meaning it will be released wheb it is ready) end-user testing tends to be postponed.

On the other part, innovation for opensource projects is questionned. Eventhough there are great differences between company and opensource projects I do not think there is less innovation. Innovation may not be percieved by the end-user: look at your coffee machine, do you see innovations to the way your coffee is done ? I do not talk about gadgets (embedded clock, programmations) but about the filter for your coffee, the torrefaction, the water filtering ...
This is why in most projects there are huge efforts deployed to make the user aware of the innovation (look at soap to wash the clothes: if you did not know that soap A washes whiter than white because of enzym XYZ would you know the innovation?).
In a commercial software product all efforts tend towards the end-user: he/she must be aware of the innovation (nicer interface, a few bells and whistles ...). In an opensource project, there are no less innovation, it is just not always visible (faster drive access is visible ? quick sorting 3Go of data is visible ? OS increase in stability is visible ?).

Since there isn't less innovation, why do we still see the same interfaces ? This is because of the difference of project organisation and target: an opensource project inherently tends to target developper or user with solid knowledge. This is illustrated by the linux system: the learning curve is steep for people who want to manage their own linux box. An average computer user cannot succeed to create is own linux box without time and help of dedicated friends (and/or LUGs): trouble is that time is hard to get by when you have a job a wife and xxx kids (replace xxx by the number you wish to have ;) ). This is why developpers of open source projects often rely on tried and true user interface: they ease the end-user testing and concentrate more on the functionnalities.

My 2 cents.
Ghostly yours,
Red.
Ghostly yours,Red.
Quote:
Original post by owl
Saying that computer programs should always be closed source and their development should only be in the hands of one or two corporations is dumb and narrow minded.
Nobody's saying that.

The point of the discussion - the article I linked to as well as my and Michalson's criticisms - is that Open Source is being employed too timidly, not fully exploiting the opportunity for truly unfettered exploration, particularly in the area of usability. We (individually) posit that this is because the Open Source development model, dependent as it is on ego and with its predisposition to view code as all that matters, ostracizes non-technical persons. Take a look at some of the comments to Mr. English's article.

There is a very high level of technical elitism in the Open Source community. There always has been. The predominant attitude is that "if you can't figure this out, well, you're an idiot." Maybe true, but computers should adapt to people, not the other way around.

Open Source, it would seem, doesn't get it.
Quote:
Original post by Oluseyi
There is a very high level of technical elitism in the Open Source community. There always has been. The predominant attitude is that "if you can't figure this out, well, you're an idiot." Maybe true, but computers should adapt to people, not the other way around.

Open Source, it would seem, doesn't get it.


While this may be true, it is also true that Open Source projects are mostly driven by very technical people which their primary target isn't to develop a tool for fools or lazy people (to win markets), but to develop a tool where it's needed, where there wasn't one already.

"User friendlyness" takes a lot of research and hard work that isn't closely related to the functionality of a computer program itself. Anyway, great efforts are being made in this aspect and people like me (and much better than me) are working on providing new ways of interfacing all the great work of this "technical elitism" with the non-experienced users.

More than a matter of complaining it is a matter of getting your hands into the problem, and offering a solution for it. That's what Open Source means.
[size="2"]I like the Walrus best.
Advertisement
Quote:
Original post by owl
While this may be true, it is also true that Open Source projects are mostly driven by very technical people which their primary target isn't to develop a tool for fools or lazy people (to win a markets), but to develop a tool where it's needed, where there wasn't one already.


Ah, but that's not true outside the academic world. Remember that the origin of GNU itself was to try and create free versions of existing tools. What is the driving force behind OpenOffice, KDE, Gnome, Mozilla/Firefox, GNU/Linux, Ximian Evolution, and every other high profile OSS project out there? To gain market share from their existing commercial counterparts. And many of these high profile OSS projects have done well. But look at their interfaces, and what's the first thing you notice? The design isn't new. Most of the time, it's taken straight from the product they're trying to compete with. On the one hand it's a good move, but at the same time, it lacks any innovation. And the OSS projects which don't have a commercial competitor have entirely failed to produce usable interfaces.

Most, if not all commercial products are extensively user-tested before releases. They have large groups of computer-literate and illiterate people who are given the software to work with. Based on this research, the UIs you see today has emerged. OSS has never even attempted to try their UI designs on an average person. Worse still, sometimes they know that their interface is horrid, but they stubbornly refuse to change. Blender, for example.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Quote:
Original post by Promit
Quote:
Original post by owl
While this may be true, it is also true that Open Source projects are mostly driven by very technical people which their primary target isn't to develop a tool for fools or lazy people (to win a markets), but to develop a tool where it's needed, where there wasn't one already.


Ah, but that's not true outside the academic world. Remember that the origin of GNU itself was to try and create free versions of existing tools. What is the driving force behind OpenOffice, KDE, Gnome, Mozilla/Firefox, GNU/Linux, Ximian Evolution, and every other high profile OSS project out there? To gain market share from their existing commercial counterparts. And many of these high profile OSS projects have done well. But look at their interfaces, and what's the first thing you notice? The design isn't new. Most of the time, it's taken straight from the product they're trying to compete with. On the one hand it's a good move, but at the same time, it lacks any innovation. And the OSS projects which don't have a commercial competitor have entirely failed to produce usable interfaces.


True, just as fair as aero-spatial competition between Russia and USA last decades. Anyway, their work isn't finished yet. Just as Windows wasn't finished when they first started.

Quote:
Most, if not all commercial products are extensively user-tested before releases. They have large groups of computer-literate and illiterate people who are given the software to work with. Based on this research, the UIs you see today has emerged. OSS has never even attempted to try their UI designs on an average person. Worse still, sometimes they know that their interface is horrid, but they stubbornly refuse to change. Blender, for example.


We are talking about the same thing here, and the answer is the same, you can take Blender's source code and write the interface you think is appropiate for people like you and contribute with Open Source. The problem is that it is easier to complain for free about a free product than working for free for a free product.

By the way, I find Blender's interface quite good and more practical than many other commercial products.
[size="2"]I like the Walrus best.
Quote:
Original post by Oluseyi
Quote:
Original post by Mayrel
It is no such thing. The article is clearly only talking about usability.
Is it? What is innovation in software, and how frequently can it be independent of usability? Software is about enabling people to do things, which means that usability is a pretty intrinsic requirement.

This is a somewhat pointless point. Usability is only one of the aspects of software in which innovation can occur. An innovative new algorithm, protocol or storage technique can greatly improve a software product in terms of stability, memory usage and speed, but have no effect on the usability of the product.
Quote:

Quote:
There is also the issue of the us and them mentality, exemplified by the article and your response to it. The implication is that there is open source, which is all unusable, and closed source, which is all usable. Obviously that's not the case, there is much closed source software that is very badly designed.
Get a grip. This is a debate about high-quality software only. Leave the bottom-feeders, be they Open or Closed, out of it.

Ah, but it isn't. It's a debate about widely used open source software, and widely used closed source software. Quality doesn't enter into it. There is much not-widely-used OSS that is as usable as arbitrary closed source software. Unavoidably, open source is never used by as many people as closed source software. Closed source simply has too much market share. Also unavoidably, the people who use OSS are usually technically competent, whilst people who use CSS are often not technically competent. Therefore, it should not be surprising that OSS tends to be designed for technically competent people, whilst CSS tends to be designed for less technically competent people. OSS works because the users are responsible for the evolution of the product. The target audience are, for the most part, people who already know how to use the product.
Quote:

KDE is Windows Redux. Sorta-Like-Windows-But-Not-Quite-As-Good. You heard me right, "Not quite as good." And why is it not as good?

Of course, this is a value judgement. I think that KDE is better than Windows. It does some things badly, yes. Many of those things are unavoidable consequences of the fact that, unlike Windows, KDE is not an operating system. Many others are a result of people like me not really caring that it doesn't do particular things badly. Again, it's an issue of the audience.
Quote:

Because it isn't a user-driven development process. The direction of Windows has and will frequently change because of perceived shifts in the needs and habits of users.

That's plainly ridiculous. Like all OSS, KDE is the ultimate in user-driven development -- because it is the users that develop it. KDE changes far more often than Windows, because it is directly effected by shifts in the needs and habits of users.
Quote:

Wait, I just remembered the ultimate example. Visual C# 2005 Express Beta collects usage data to help refine the product. This is a developer tool!

What do you mean by 'collects usage data'? All KDE programs have a 'bug report' feature. People use this feature not just for reporting traditional crashes or errors in logic, but problems with usability. The developers responsible for the particular application you've reported a problem with personally respond to your report, and you have the option of being notified when the status of the bug changes, so you can know if it's been resolved.
Quote:

Case closed.

Uh. Sure.
Quote:

Of course, there are an untold number of additional examples. Widget proliferation,

Is this a KDE thing, or are you complaining about the fact that there's about a billion GUI toolkits for X? KDE's widgets are, IMO, just fine. The Billion Toolkit Problem, on the other hand, is a genuine problem.
Quote:

excessive required reading

I don't know what you mean, there.
Quote:

and the conspicuous lack of task-based user interfaces in OSS can be identified in a mind-numbing number of applications.

What's a "task-based user interface"?
Quote:

How's about OSS and its advocates stop being defensive and identify useful changes from this criticism?

Generally, you'll find advocate do accept valid criticism. In my reply, I acknowledged that OSS programs are difficult to use if you don't already know how to use them. That's the key point: on the whole, OSS isn't designed for the technically incompetent -- the developers of OSS don't care whether or not non-technical people can use it, because they're the users.
Quote:

I'm a big fan of OSS; I'm just disappointed with how unadventurous it's been, by and large. I mean, Linux is a reimplementation of a 40-odd year old operating system.

No. Linux is sort of based upon an ancient operating system. It has, as all modern UNIX-alikes have, greatly expanded functionality.
Quote:

KDE, GNOME and virtually all other window managers are implementations of a 30-year old interface paradigm.

So is Windows. That isn't an OSS problem.
Quote:

The whole traditional notion of "desktop" and "applications" is not set in stone.

No, but it is set in people's minds. The thing with usability is that people find it easy to use programs that are like programs they've used before. There's plenty of room for innovation when making a completely new program. But, generally speaking, all programs have already been written. There's no advantage in creating a completely new kind of user interface without any idea as to how to make it usable.
Quote:

Open Source, to me, is a huge opportunity to try real alternatives, really new stuff.

I'm not usually one to quote the Good Book, but there is nothing new under the sun.
CoV
Quote:
Original post by owl
By the way, I find Blender's interface quite good and more practical than many other commercial products.

Sorry, but you need to check yourself into an institution. [wink] I cannot get my head around Blender, I'm far more comfortable with 3D Studio.
CoV

This topic is closed to new replies.

Advertisement