John Gruber replies to Eric Raymond’s usability rants on Free Software, and we extend John’s view to a more broad analysis.John Gruber wrote a public response to Eric Raymond’s articles regarding bad usability/UIs on many open source applications. “Good user interfaces result from long, hard work, by talented developers and designers. The distributed, collaborative nature of open source software works for developer-level software, but works against user-level software. […] Technical documentation is also hard work, and requires talent to be done well. Writers need paychecks, too” says John. Short commentary follows.
Our Take: This interesting article reminded me why Be, Inc. employeed up to 5 usability/interface engineers at one point for BeIA and BeOS (an operating system known very well for its cohesiveness, speed and ease of use for those who have used it). Be, Inc. was in its heyday much smaller than Red Hat or SuSE.
To my knowledge, Red Hat and Ximian employ one usability engineer each (whose sole job is to bring a better experience to their products). MandrakeSoft has two people part-time (last time I checked). I have never heard of SuSE having anyone (except the respectful efforts of developer Waldo Bastian who has proved ‘sensitive’ to usability issues).
Independant FOSS projects will also need to be in search of individuals who are knowledgable about UI design, not just corporations. Every piece of GUI application that corresponds to a large scale and widely used software, it should see some “love” from a usability/UI expert. Documentation (end user & project specification) and QA areas of these projects should also see some “love” by people who know how to do these things properly. And developers should just do what they should be doing: architect (the developers who can actually do this properly) and program based on the specifications already layed out and the UI expert’s input.
And even if you get some stubborn developers in the FOSS community to accept this line of work (some of them just want their Freedom ๐ you will still need to piece the whole thing together. To create a cohesive product, you need to have all the people involved “on the same table” and *architect* things with many other surround projects in mind rather than just their own project. Creating completely independent projects from each other with little or no collaboration with other projects it only leads to duplication, inconsistency, terrible integration with the underlying system and worse performance than you would have if things were thought out more as a “whole” rather than individuals doing their little thing here and there.
All of the FOSS development community (professionals or not) should see their OSS work as a “platform work” and have a vision of where the whole thing is going and a common direction rather than “small time” hobby work. Today, I don’t see such a “common vision” on Linux (even FreeBSD beats Linux out on this with the server-oriented vision). Linus Torvalds is a great guy and he has a vision, but he mostly has a vision for his kernel, he hasn’t show us that he can “lead” other parts of the *platform*. The platform is what matters, because this is how you build robust products on top. This “leader of the platform” is missing today (and I believe there is a need for it): Havoc Pennington? Maybe, if he one day realizes than being “Free” is only one of the product’s features and not the Alpha and the Omega. Miguel de Icaza? Too busy with Mono. Matthias Ettrich? Too low profile.
I have said the following a few times online, but I will say it once more: Once, I asked my husband (ex-Be engineer) why BeOS was always “feeling” so fast. His reply was: “Because the kernel engineer’s cube was right next to the app_server engineer’s cube“.
These engineers would hang out together and spend many hours discussing face to face on how to do things that will end up being fast and stable and flexible (these “many hours” will translate to “days” if these engineers would be around the world and had to use a mailing list — we usually speak faster than we type ;). The same goes for all the other parts of the system. Apple, Microsoft (to a lesser degree as it is a huge company), Be, Inc. back in the day and even Sun have this great advantage over most open source projects too.
Now, get these XFree guys to work with the Linux/BSD kernel guys, the toolkit guys, the DE guys and even with the Freetype/Fontconfig guys to *architect* things *together* by pushing the envelope and *innovate*. And then we are talking.
sorry i should have previewed my comment above, i need sleep
infact i can take my original idea further
the user just needs to download any type of linux package and just type install whatever in the command line or double click in their DE of choice. To install a package.
This will then prompt the user with do you want this package to be available to all or just you ?
If they respond with just themselves then the package is processed with the pms the rdeb made ( or whatever ) the package then installed into /home/~user/Apps/
the system scanned for required libs by the prog, if no required libs available then they are downloaded and installed for the user.
If the user responds with global root password prompted for and the package installed in /usr/
as usual again going through the pms. The package name and version recorded and when user requests update, for the system. To check against a remote database a match with higher version to then do an update. The key is to make sure every package thats recorded is done in the same case ( like debian) and the version number is a necessity. If a user has downloaded something that isnt in the database the package is uploaded to the database. sort of like a p2p. Then another user needing same package can download the prebuilt package from the database. The packages if commercial need to have a flag to stop the upload.
This is getting quite complex already lol.
It wouldnt matter if the package is an rpm/deb/source tarball.
The pms, would auto create/convert the package.
With some clear thought i can probably start making a more thought out clear plan of what i mean. Then posting it on my site, maybe others can then see the pot holes with my thoughts on it. and email me corrections. Once we have a solid base with every contigency in place. We can probably start developing it.
Shouldnt take more than 6 months. Once we have the framework for the pms done it would make any package work with the pms.
The pms can be easily managed by the DE or console.
Sounds similar to the flawed windows concept, except screw off the registry. Use either a proper database or use xml. Either would be cool. like apt right now uses with plain text files.
dont allow binary packages to install any shite they like to the database only specific stuff. Such as dependency and versions. Again version numbers and package names can be parsed from the package in any format (dependency hunting for the old system of rpms will be hard however)
Does any of this make any sense to anyone ?
Contrary to opensource folklore that says open source development is uber-fast compared to traditional proprietary techniques, nothing beats having a couple engineers with offices right next to each other and a white board to scribble on.
Could this sort of whiteboard session not be accomplished with a netmeeting/gnomemeeting session? If you had some sort of tablet-pc interface, drawing on a shared drawing pad could take the part of the whiteboard and VoIP could be used to communicate. Quite frankly I don’t see why developers don’t use this method more to communicate and work out bugs.
Saw this at Slashdot, because slashdot linked to the osnews article and also linked to many other blog/articles that all point to Eric Raymonds comments.
Basically this is Microsoft’s Don Box’s comments.
http://www.gotdotnet.com/team/dbox/default.aspx?key=2004-04-02T05:4…
1- You can dumb down the system until aunt Tillie can use it. Problem is, when something goes wrong (as it WILL repeatedly!) she’s utterly powerless. No good.
2- You can teach the user the “working model” of the system. Not necessarily all the details. But the general architecture, what part contributes what, roughly, so he can go look under the hood, check the pertinent doc and fix the problem himself. Now you got an empowered user. You have more than a Sunday driver, someone on his way to become a mechanic. At least, someone you can change the oil.
The working model is what Windows power users are looking for in the sea of Linux doc and don’t find. Yet, it’s the key to developing a dedicated army of enthusiastic users (as opposed to, and to complement, the present army of enthusiastic developers).
Therefore, I support the idea of a cohesive “platform” instead of the present anarchic and poorly documented free for all.
Maybe Eric Raymond could be the needed catalyst, provided he is not left alone to his devives… ๐
on one sode you have the pro windows users and the other you have the Linux/FOSS users and then there are the cons, who play one side on teh surface but in a manner to support the other…
All of it is really rather silly…..
MS doesn’t innovate, they simple take and make claims to what others do….
FOSS…. well you might think Richard Stallman is hardline Free Software but compaired to someone who knows “Software will only become truely free when it is easy enough to create that any user can create it. — along the lines of holo-deck programming — let the computer do the hard stuff…”
The UI idea for which this article is about….its like talking roman numerals when there is existing the easier and more powerful hindu-arabic decimal system….
so why does programmer thinking in complex terms persist on the UI topic?
Vested interest in the field of programming of course….
Just like it was for the roman numeral accountants of the past….. blind to what all would happen once they let people get past such unneeded complexity….