Quote:Original post by Oluseyi
Quote:Original post by Mayrel 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. |
Really? A more stable application isn't more usable? The fact that the user may suffer less data loss/corruption, or less lost productivity thanks to the improvement in corruption is not a usabilty benefit?
A more efficient application, in terms of memory usage, is not a more usable application? Improved performance with given resources, that's not a usability benefit? Maybe the program acts less like a sloth on a depressant, that's not more usable?
In that case, we might as well stop discussing right now. Your notion of usability is dysfunctional.
|
So what's
your notion of usability? My notion is that the
usability of a program is a measure of how easily a user can get the program to do what he wants it to do. I was wrong when I segregated usability. All aspects of software design are mutually recursive. A faster program can be used to do things that would have taken too long before. A more memory efficient program can be used to do things that would have required more memory before. Obviously, a program that doesn't crash so often can be used to do more, generally. However, these aspects are not
directly related to usability -- they effect usability as a side effect, but do not
make it easier for a user to do what can already be done.
Quote:
Quote: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. |
So, basically, we have a self-holding vicious cycle of crappy interfaces? Thank you for that illumination! Now I know that there is no hope for the usability of OSS, I can forget about Linux forever!
What a cop-out.
|
You missed the point entirely. The point is that OSS is usually entirely usable,
for the intended user. The intended user is a geek. They will usually have knowledge of the technical aspects of the tasks the programs they use undertake. Many of them could write programs that perform those tasks, given time. For them, it is not
excessively important that the interface be good, since they usually know what to expect from the program.
Quote:
Quote: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. |
The changes are mostly cosmetic.
I've used every major revision of KDE; it's still the same paradigm. Not a single change, not a single questioning of the underlying WIMP approach. Windows has introduced Wizards, task-based interfaces, etc, etc. What has KDE given me? How is KDE 3.x any different, except in aesthetic terms, than KDE 1.x?
|
KDE
has wizards, but it doesn't use them very much. The KPPP dial-up manager has a wizard for setting up your connection, for example. Gnome is slightly better in this regard -- its GUI toolkit features a wizard-alike widget, so you don't have to make your own. The lack of wizards is, again, caused by the fact that
most users of KDE know what they're doing.
Quote: Furthermore, are you suggesting that there are no non-developer users of KDE, or that their concerns should be ignored because of their lack of ability to directly influence development direction through code?
|
Clearly not. I'm suggesting that their concerns
are ignored because of their lack of ability to directly influence development direction through code, not that that's the right way to do things.
Quote:
Quote: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. |
Hold it.
What priority is assigned to usability bug reports in KDE? In most OSS projects, usability reports get automatically assigned the lowest possible priority!
|
Reports of the program acting incorrectly are considered more important than the program acting correctly but in a less-than-perfectly-usable manner. I don't think that's
inherently bad, but it would be better, and with larger projects possible, to assign usability problems to a specific usability-problem-programmer.
Quote: Look, I'm not here to bash OSS, or even KDE - though I don't care for it much. I'm asking how we can improve the workflow. Your insistence on taking some entrenched position and heading on random tangents per OSS-good-CSS-evil doesn't further the discourse, nor is it profitable.
|
I have failed to take an entrenched position. I merely pointed out that KDE provides for reporting of usability problems.
Quote:
Quote: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. |
Actually, by "Widget Proliferation" I meant the fact that Linux applications (and this isn't specific to KDE) typically expose every bit of underlying functionality through independent widgets - more buttons, icons, etc. Take a look at this KBear (FTP client) screenshot, for example. I mean, was that really necessary?
|
No, that's a badly designed interface. Usually, toolbars should be unified in the main toolbar for a particular window, and the filter text boxes should just be a button. The cause, in this instance, is the lack of a standard MDI widget, forcing programmers to implement MDI manually.
But not
all interfaces are so badly designed, and it's usually fairly trivial (in KDE, at least) to slim down the interface a little. My web browser, for example, has only a menu, 6 buttons, an address bar, a tab bar, the page and a status bar visible. It's very clean, all the buttons I use are visible, and the buttons I don't use are not visible.
Quote:
Quote:Quote:...excessive required reading... |
I don't know what you mean, there. |
Too much text right in the interface. Give a menu item a simple, verb-based label, not an entire sentence. And use common terminology, not "smbUmount share."
|
I don't usually find text to be too verbose in X programs. The longest menu item in this Konqueror window is "Save Background Image As...", which don't think could be shorter without being less clear. I think most people would agree that "smbUmount share" is a stupid name for a menu item.
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:A task-based UI sets up a number of activities a user typically wants to accomplish (say, the top 5 or 10 use cases) and guides the user essentially on rails through that task. Any Windows application Wizard would be a good example of a task-based UI.
This is in contrast to a command-based UI, where you have to know not only what you want to do but what command initiates that action. Task-based UIs are easier to use because they support exploration/discovery without intimidating the user (when properly deployed). The sheer number of options in a command-based UI and the terseness of the interface (due to space constraints) results in many users exploiting only a fraction of the total application functionality.
|
Win some, lose some. Task-based UIs are a good idea from the point-of-view of people that don't know how to perform a particular complex task that the programmer happens to have known to make a wizard for. But command-based UIs have the advantage that it's all there. It appears obvious that the desired solution is a combination of both. An example that springs immediately to mind is WinZip, with its Wizard and Classic interfaces. KPPP has Wizard and Advanced interfaces, which follow much the same principle. Traditionally, complex UNIX software has been text-based, and it's been relatively trivial to fit up graphical frontends which are custom-built for particular kinds of user. When complex software starts being graphical, the old concept of making frontends that communicate with pipes no longer works. That's a problem which can really only be solved by a widely-used COM-like system for scripting graphical environments, or moving the complex processing back to pipe guzzling daemons.
Quote:
Quote: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. |
Of course it has expanded functionality, but it still lives by those dated paradigms and principles. Open Source, in my mind, should have, by now, produced at least one working and usable alternative approach to computer software organization. Eliminating the distinction between operating system and application, for example, so functionality is simply added to the environment. That allows users to think in terms of what they want to accomplish, not which program they want to use.
|
Eliminating the distinction between operating system and application? I understand that to mean something quite different from what you mean, I think (, I hope). What you mean, I think, is that the shell, instead of providing a list of programs to be run, provides a list of tasks to be performed.. "Write a letter", say. Choosing that task might bring up a window with a toolbar for formatting options and a text area. You write your letter. The exact program that is handling your letter is unknown. It might even change depending upon what you do. When you've finished, you select from the task list on that window... "Write to file", "Print", "Email", "Fax"... When programs are intalled that know about 'being a place where text documents are sent', they get added to that task list. "Write to file" can itself display a wizard that lets you choose to store it on your home directory, in a special buffer area for later writing to a CD/DVD, to a floppy/zip disk or similar storage media, or it could display a traditional file browsing system.
Quote:
Quote:Quote:The whole traditional notion of "desktop" and "applications" is not set in stone. |
No, but it is set in people's minds. |
I disagree. I think that the notion of the desktop is a metaphor that people come to grasp, but is explained to them and processed in terms of higher-order, root concepts. Well, can we design an interface based on those root concepts instead?
|
Probably. Something like what I described above, if that's what you're thinking of, would be quite possible, if application writers can be made to cooperate. I still think it's important, however, to provide the traditional interface as well. I might like a task-based interface for things that I don't know how to do, but I'd still want an interface that gives me instant access to all functionality (i.e. lots of widgets) for those things I do know how to do.