On Mon, 13 Dec 2004, Jozsef Mak wrote:
What hard to understand is why open source developers don�t seem to recognize the importance of user-friendly interfaces. (There are a few notable exceptions to this like Firefox or Thunderbird, which are world class).
I don't think it's that they don't recognize the importance or that they are attempting to be cruel to users or anything, and I also disagree with the prevailing opinion that "coders don't understand usability design". Rather, I think it's because a) GUI frameworks have a default generic layout design that is easy to use, b) this generic layout is created to be easy for the programmer, not necessarily to make it easy for the programmer to make it easy for the user, and c) 'user-friendly' is a qualitative thing, not easily measurable, so it is hard to determine a given change has improved or reduced it.
However, that does not mean that it can't be done, only that it will require some effort to achieve. Just because it isn't the way one would wish does not mean it can't be that way, only that people (perhaps including you) needs to participate in improving that aspect. Whether that actually occurs depends on many factors, one of which is an attitude that it _can_ be done.
From the point of view of the designer the dialog boxes, panels, popup
windows are always nuisances. They interrupt the workflow and disrupt concentration. Therefore, it makes sense to design then as inconspicuous as possible.
One thing you'll notice as you get your feet wet in the project is that there is actually an on-going effort towards migrating functionality out of dialogs and into the canvas. For example, it used to be that text editing was always done in a dialog, however now this has been reworked such that some editing can be done right on the canvas.
It may look to you at first blush that there are too many dialogs or that they get in the way, but before claiming that no one recognizes the importance, please try out the release from a year ago and notice that there has been significant work towards improving usability. (Also notice that it used to be pretty common to be able to crash Inkscape by accidentally setting dialogs into invalid states; a lot of those crashes have gotten cleaned up.) Usability and dialog design isn't something that can be fixed overnight, and it requires people who care about it to dedicate themselves towards achieving it.
I actually would say that a number of Inkscape people are focused on usability, dialog layout, etc. as very important. Not everyone works on these issues, because there are other things (performance, new features, packaging, bugfixing, etc.) that are also considered to be very important, but we definitely have people like Bulia and Alan who are very gung ho and vocal on usability.
Regarding dialog design, in fact some of us are working on a major rework of the dialog code, to convert it from C/Gtk+ to C++/Gtkmm, because the current codebase is so verbose that it's difficult to maintain and improve. Once it's converted into C++, the belief is that it will be simpler to make large scale dialog design improvements. For instance, currently to implement something like dockability, you'd need to write separate code for each of the dozen dialogs, and keep all that code updated in sync as bugs are found and fixed. With Gtkmm, we'll be able to write that code once in a base class and maintain it in a single place.
This rework of the code is not currently being directed at changing the design/layout, though, but if you feel it to be important and would like to get involved with this (providing mockups of dialogs or even directly coding), this would be a good opportunity for that. Let me know, and join the inkscape-developer@ list. :-)
Bryce