KDEvelopers on KDE Users
An anonymous reader writes: "KDE developers spent some time this week on their mailing list discussing what motivates them and the extent to which user concerns figure in their decisions. Dennis E. Powell's column on Linux and Main draws excerpts from the exchange, in which he participated, and says that he believes a lot more of this kind of discussion is needed."
I tried a few times to get up and running with KDevelop. Have a KDE programmers book at home, tried every tutorial I could find.. And the results? The KDE programming book doesn't use KDevelop and the best result up till now is a KIO slave for hello world..
What I found to be the biggest problem with KDevelop is the lack of up to date documentation and tutorials. Whatever I found was always based on older versions, different templates etc. I haven't found 1 tutorial which I could go through from beginning to the end and end up with the results I should accourding to the description.
KDevelop is attractive to programmers who are not fluent in KDE, C++ and QT and lacking basic, but up to date and included, tutorials is IMHO one of the biggest things that stops new programmers from using it.
Nobody expects the spanish inquisition!
This article really exposes some issues about why many open source projects 'fail', or look like failures, in the eyes of many 'average joe' users.
No one is getting paid, therefore, things are only as good as what a developer wants, not what an end user may need.
Most of the comments I read focused on money. The problem is, I may *want* to donate money or actually pay for code. The way KDE in particular is coded, though, it makes it hard for others (the Kompany) to write software worth paying for on it (relative to other platforms). So there's a big disconnect there. If more care was taken with the underlying framework, it'd be much easier to have people writing apps that work with less concern for portability - the framework would help take care of that.
Tranisitioning from Win 95->98, or 98->2000 worked pretty well for most apps (excluding games - I dunno about those). People didn't need to go back and recompile apps and redistribute them, most just worked. Why can't it be that easy under KDE?
Back to the payment issue - many of these developers seem *averse* to ever making money from their efforts. Of course the developers don't *need* KDE users, but eventually the users won't need the developers becaus they'll migrate to something else. Without a critical mass of users, any project falls into obscurity. It's not impossible to imagine RH10, for example, not bundling KDE4 because early tests show *nothing* from KDE3 will work on it. "So what?" would be the answer from most KDE devs.
Instead of trying to capitalize on their efforts by creating something which is useful beyond their own immediate needs and longer lasting, many of these developers seem to wear it as a badge of honor that they are *only* in this for themselves, to hell with everyone else.
It'd be great to see something *like* Ximian for KDE - I prefer KDE to Gnome, but at this rate, Ximian seems to be going after user's needs more, and I may just have to switch at some point. DE aside, it's sad to see *SO MUCH POTENTIAL* being thrown away on projects that don't organize themselves effectively.
When you're 5, you have the attitudes and behaviours and respect for others that a 5 year old has (regardless of getting paid!). When you're 10, your attitude, behaviour and respect for others changes and is usually more mature. Same for 15, 20, etc. I don't see that same type of growth pattern happening in the KDE project - it's growing technically, but stagnating attitudinally(?).
creation science book
Open source coders are more interested in having fun than in producing usable software?? Stallman must be rolling in his gra..er...chair...
If this is a surprise to anyone,they haven't been using linux lately. It's a textbook case of having NO interest, talent, or effort spent on making something usable to an *end-user*. This article and the related discussion threads explain better than anything else could why that is so.
By contrast, look at Mac OSX. Apple decided to make thier next release run on a unix core, and voila, for the first time in 20 odd years, a damn fine user environment for Unix! Methinks it was about time someone gave a shit about the users instead of endlessly insulting them for not being 3l337 enough to use what they were given.
Rarest of all are requirements and architectural documents. Essentially there is no way to validate most Open Source Software because there exists no requirements or architecutural documents. Anything goes.
These factors make real, legitimate quality assurance an impossibilty. At best QA on Open Source Software consists of ad hoc bug fixes and low level "lint" style syntax checks. Without requirements documents, there is no way to achieve QA in-the-large.
For most people in our capitalist society, money is an incredible motivator.
I hate to say it, but it is exactly for that reason that the system works so well (not perfect, but the best for now). We are all like littles bees, which gather the more pollen they can and take it to their eeves. It is just that instead of pollen, it's bucks... In the long run, it's all the same. We strive to become bigger to feed our sense of survival and our fear of not achieving it. Money in the capitalist model is like a carrot at the end of the stick...
Well, not enough cafein yet...
Back to work!
I'd rather be sailing...
I think you're target audience has proven, on more than one occasion, that collecting information like that is frowned upon.
I disagree. It depends on who's collecting the information - do you trust them?
I don't like the fact that Windows XP seems to communicate regularly with Microsoft. But I'm happy to run the test builds of Mozilla that send crash info. back to the Mozilla team. I'm sure many others in the OSS community feel the same way.
Maybe. I know writing docu is not the most entertaining use of free time. But then again, most software I can get up and running with the README and INSTALL files plus tha man pages. A programname --help gives me usualy more than enough info.
Maybe there's not enough "end-user" docu, but for me there more than enough "docu" in general. (besides, what's the last docu you got with windows, office etc..?)
The real problem at hand here is that there's way to much information. If you want to get up and running, endless files with class-descriptions and nitty-gritty details are not what you need. A simple, but compete application step by step will do the trick a lot better. A tutorial.
And there's hardly anything more frustrating than trying to follow such a tutorial and finding that the files, are not there, that extra parameters are needed, that userinterfaces have been changed completely etc.
Nobody expects the spanish inquisition!
To most OS developers, their projects ARE "successful" because "success" is defined as having the project work the way they wanted to. Having numeroud end users is normally NOT the definition of success, nor is making something 'easy to use' in most cases either.
"If you want something that 'just works', go use Windows".
Actual quote from IRC conversations with different project developers over the past 8 months. I guess the attitude can't get much clearer. They don't WANT end users using their stuff, only themslves. WHY it's published on the internet instead of simply their ~/kewlProjects/ dir is beyond me, though.
creation science book
Good user feedback is essential to a non-commercial free software project, but bad user feedback can kill it. It is the difference between writing
"I love your software, but wouldn't it be cool if it could do XYZZY?"
and
"Your software sucks because it can't do XYZZY!"
The first kind of feedback makes the developers feel appreciated, the second make them think if this is really how they want to spend their free time.
So users essentially have the choice of whether they will be part of the solution, or part of the problem.
Some other user advice:
- Never make demands. It is increadible aggrevating when someone think they have a right to your free time. This also includes formulations like "your project must do XYZZY, otherwise it looks unprofessionel".
- Never make threats, even if you think of them as facts. This includes "unless you implement XYZZY, I'll have to switch to ". If you want to switch, just do it, don't advertise it.
- Never, ever try to take the user community hostage. E.g. "The developer isn't listening to the users, because he doesn't implement XYZZY."
Always remember, it is the developer who (perhaps) do you a favor by releasing his code. You are not doing the developer a favor by using the code. If you feel that relation emotionally stressful, gratis software is probably not for you. Find someone you can pay for the software (whether it is open source or not), in that case it becomes an ordinary economic transaction, where the two parties are equals.
There's even an online book referenced there (Although based on KDE 2.0 and KDevelop 1.x, but it'll still "show you the ropes" and then you'll be just that much more amazed by all the features in the newer versions. :) )
Ok, I'm a little pissed about this. KDE deserves heavy praise for its attention to desktop users' needs on Linux, not these cheap insults from the peanut gallery.
dep and his cheerleaders might have a point if KDE programs were difficult to use for "Joe User". IMHO, KDE provides the most User-friendly Linux desktop and apps out there. Given that, what is the point of claiming that KDE developers don't give a damn about users? The statement is a non-starter; it's so demonstrably false. Go check out #kde-user. Browse bugs.kde.org. Read application mailing lists. Hell, use KDE for an hour. Do all that, then come back here and tell me KDE devs don't give a damn about users.
Here's a question I'd like dep or others who buy his line to answer: If KDE developers really didn't care about users, then why would they ever make a release? All KDE devs use KDE straight from CVS; they don't benefit from releases at all. In fact, releases are a pain for developers. They have to halt development during a pre-release freeze, which can last months. During this period, they can *only* work on bugfixes. Often, these bugs are obscure or don't happen on the dev's machine. How can feature-freezes and stable releases exist in a world where KDE does not care about its users? In addition, why bother with i18n? Just write your app in English or German, and to hell with anyone who can't read it! And yet KDE is translated into 40 languages. Hmmm....
AFAICT, dep's just pissed because KMail no longer uses the stone-age address book it did back in the "good old days" of KDE 1.x. Because the devs said they weren't going to revert the addressbook, dep is now on some kind of anti-KDE crusade. Damn, man, get over it! Just put your addresses in a textfile, because that's all the old addressbook was.
Liberal (adj.): Free from bigotry; open to progress; tolerant of others.
There is a simple solution to this; help out yourself. This isn't directed at you personally of course, but at the whole GNU/Linux community.
Reading through Slashdot, there are so many people who can write fluently enough to write a few good tutorials. Whenever I figure out something which I consider badly documented, I try to at least put together a little HOWTO-style list of the steps I went through to get program X to preform action Y. Most of these are for my own personal use, but if I've had to spend a lot of time working on a solution, I at least try to clean up my little lists and release it. Most of the time, this takes only about half an hour at the most, and even if you only help out a few people it's worth it.
Most people report bugs to help out with free software, and this is an excellent way to help out, but writing little FAQs and tutorials are just as important. Indeed, lots of open-source development teams hold bug-days, I don't see why every now and again they don't hold 'doc-days'; fifty people writing a few thousand words of documentation for say, Mozilla could make a huge difference in one day.
--jon
Cleanstick.org: Dumb weblog about nothing
Even users that aren't morons usually aren't programmers. So a genuinely good idea can be ignored as well because of a failure to communicate. They don't know the jargon. They may not understand the program structure of the functions they want to change, so the suggestion of a good feature sounds like the rantings of the uneducated.
This is a fairly common problem in any development situation, open-source or not, even without users in place (ie learning from internal beta testing or getting the message to pass properly from customer to developer, or management to developer, or vice-versa). In the case of projects with a fairly large amount of people the solution is to find someone (or a group of people) that can act as translators, figuring out what the user wants based on the feedback and telling the developers in words they understand. Unfortunately, whether in a volunteer-based system or not, these types of people tend to be hard to find. Finding someone that wants to volunteer to do that would probably be even harder. Good places to find people to do things like that, though, tend to be with people that do documentation or user support (believe it or not, support personnell that are good at what they do eventually learn how to talk to developers, even if they can't get down to the deep dirty code structures). In short, if it's a decent-sized project, you probably don't want to just choose the programmer most familiar with the project to be the person getting the emails from all of those users, you may want to consider who is best suited to do it, regardless of their programming skills.
>> commercial software... Most of it sucks monkey balls. It's spaghetti, crap, driven by tight deadlines and endless kludges to fix issues just enough to meet the requirements. 3/4 of the stuff would get laughed of usenet if the code was posted
I'll second that. With notable exceptions, I also had this kind of experience.
Commercial software is only always good in marketing prospects.
Don't know much about open source yet, but things like KDE or Mozilla don't come out of the air, you know. My limited experience shows KDE evolving at an astounding pace.
If I were competing with them, I'd be very worried.
It's interesting to notice that nobody is arguing KDE is lame or doesn't work; this user ignoring thing (which I'm not able to confirm or deny) is indicative of a quickly maturing user-base. We don't look at it and say "Cool!" anymore, we demand it to get better faster and faster.