Tuesday, October 09, 2007
My Name is Derek and I'm a Usabilaphobe
An interesting post on usability at humanized.com. Including the usual slag at KDE for having too many configuration choices.
Oddly enough, software held as examples of usability are python, emacs and Firefox.
This confirms my suspicions about 'usability'. It is a matter of preference. What I like and what the author likes are different. One set of applications, programming languages, desktop environments feel natural and comfortable to me. Another set feels comfortable to him. Maybe I'll call myself an expert and say that my preferences are the most human and natural, and studies prove it again and again :)
Yes there are good reasons to establish discipline in this matter. KDE developers probably don't need to, for example, design the main menu system in their app. There are common patterns that fit most apps, with some additions for specific function. Having common dialogs, some thought as to layout and common usage patterns is helpful. Probably the best way of doing this is technological, ie. having classes that are subclassed and extended if necessary. The HIG then becomes part of the codebase, allowing developers to focus on the particular usefulness of their app.
But lets get real here. The free desktop isn't going to all of a sudden get massive user uptake if we restructure our menus and dialogs. Even if it is perfectly done. If user interface was the key, Windows wouldn't have the massive market share, OSX would probably be seen all over the place. But that isn't the case.
There is a pattern I've seen happen over the years of using computers. Someone comes up with an idea, implements it. It reflects the developer(s) with the idea. I think like that, or rather they think like me, and it shows. I find their interfaces natural extensions of the function. The software succeeds, gains a following. Success breeds a desire to go after a larger market. The product is changed to attract new users, made 'easier to use'. The product doesn't catch on in the larger marketplace, which is already occupied with 'easy to use', lowest common denominator type products. Eventually it dies, and disappears. This has happened so many times, it is so predictable, so disheartening. Why does it happen?
Very simply that the developers ignore what brought users in the first place. Why do people use KDE? Probably because they like the way the interface works, they are attracted by certain applications in KDE. Possibly because as hackers they appreciate the underlying technology, ie. IPC mechanisms, the abstraction in ioslaves, the configurability on an individual and wider scale. I'm sure that I'm not the only one who sees great potential in KDE as a development platform. Maybe I'd like html rendering in my app without shelling out to a browser. Maybe I could use a nice full featured editor part within my application. etc. Then I look at the underlying Qt libraries, see the depth of features and elegance of implementation.
And, a well rounded set of applications that I can set up for less technically inclined users.
The biggest challenge for the free desktop isn't going to be attracting users. This is already happening. Note Ballmer's screed. The only reason he is saying this is because Microsoft is seeing bad sales numbers. Vista has so far been a dud. I don't remember, well, maybe except for Windows ME, users downgrading as they are from Vista to Xp. The free desktop market share is growing. The challenge will be in attracting developers.
And what does this have to do with usability? I propose that making usability a primary focus drives developers away. It absorbs energy and focus when, lets be real here, in most areas of free software the biggest problem with usability is either lack of features or lack of stability. Again lets be real. Software is an iterative process in all aspects, including usability. Having a chorus of 'usability experts' doesn't help the software get done. Nor is restructuring a working development community to fit some goal of usability worth the risk.
I suggest that KDE continue doing what it does best. Produce elegant API's, which allow for elegant and powerful apps. KDE should continue to embrace choice, with multiple implementations competing for interest and developers. KDE should continue to be open to new developers, allowing them to grow in skill and influence. KDE should continue to aim to be powerful and full featured. KDE should remember who pays the bills, who writes the software, who contributes, and value their contribution.
Let someone else be the most 'usable' desktop, and aim to be the most useful, powerful, elegant and full featured desktop.
Usability shouldn't be the one thing that rules them all... Contributors matter more than users, even though that shouldn't be an excuse to ignore the latter.
Reading a basic usability book will do wonders, a lot of the conclusions are actually reached by scientific methods and, if it floats your boat, you can think about these formulae instead.
I think usability is very important. First impressions are basically half of what usability is all about and if we want KDE and the FOSS desktop to grow we need the first impressions to be good.
Power of body, beauty of mind.
Usability is important whilst it doesn't reach gnome's obsession-like status.
I'd say: more integration, simple plugin api (I'd say 50% of firefox's success), and that more varied options is better than simply more options.
Lastly, I think mr. Arthur is right about the Usability book comment.
Keep up the good job! The beauty of KDE makes my day everyday..
Subscribe to Post Comments [Atom]
Links to this post:
Subscribe to Posts [Atom]