Five Fundamental Problems with Open Source?
meriksen asks: "I found a very interesting paper which I am sure will stir up a hornets nest.
Despite the growing success of the Open Source movement, most of the general public continues to feel that Open Source software is inaccessible to them. This paper discusses five fundamental problems with the current Open Source software development trend, explores why these issues are holding the movement back, and offers solutions that might help overcome these problems." What do you think of the issues given in this paper, and how do you think the Open Source community should address these issues?
"The lack of focus on user interface design causes users to prefer proprietary software's more intuitive interface. Open Source software tends to lack the complete and accessible documentation that retains users. Developers focus on features in their software, rather than ensuring that they have a solid core. Open Source programmers also tend to program with themselves as an intended audience, rather than the general public. Lastly, there is a widely known stubbornness by Open Source programmers in refusing to learn from what lessons proprietary software has to offer. If Open Source software wishes to become widely used and embraced by the general public, all five of these issues will have to be overcome."
*ducks*
For starters, the webserver should have been running apache, so it wouldn't have been slashdotted. Nothing worse than not having to read an article bashing the open source movement, because the IIS server was slashdotted....
The solution is to provide motivation to write for someone else. There are a lot of companies out there making a lot of money off open-source, selling hardware or services. If they want open-source programmers to write code differently, they need to provide some motivation for that change. One possibility would be an annual award program which could include - for example - a "best documentation" category. The combination of a cash prize (it needn't be large) plus the bragging rights for having won could provide the necessary nudge to improving open-source code.
===== Murphy's Law is recursive. =====
Open-source software does lack documentation geared towards the "common user". The documentation that is out there always seems to only understood by the geek.
The thing holding back more widespread adoption of Open Source is that it doesn't ship already-installed on new computers.
One serious problem is the lack of a standardized, easy-to-use (=click-and-point) installation program and the fragmentation of package management (rpm. deb. tar, whatever).
The owls are not what they seem
(I keed! I keed...)
i have to say, that my own personal reason for not using an OS that is open.... is because i can't figure that shit out. i've been spoiled by microsoft. make it more friendly, and more ppl will use it
Are hardly exclusive to Open Source development. Plenty of closed sourced projects suffer from the exact same things, and plenty of open source pojects do not.
Part of the problem, I believe, must also be the inadequacy of software download websites. In general Open Source distributions are tricky to obtain and install. The sites are difficult to navigate and provide too many download options that reqiure understanding beyond what most users posess. i.e., should I download the "source" or "binary" version? "Stand-alone" or "self-installing?" All of these are terms outside the average user's vocabulary. Worse, many simply link to those SourceForge sites where users are presented with myriad different versions of the same product--some not even stable.
GNU and other licenses are a barrier to open source since they preclude using the code for many users due to fears about being sued about alleged mis-use of open source code.
Religious blindness
.Net good, use .Net, write everything in C#, Java bad, GPL evil, etc.
Doesn't seem to me to be specifically open sourcey (sp?) to be religious about technical issues. I mean just look at Microsoft, they are a frikkin' technical monopoly:
John.
if it's cheap, you get what you paid for.
usability.
ESR's rant over CUPS is something we need more of.
The One Rule Of Chess You'll Ever Need: Don't play someone who carries a kit in their bookbag.
Yeah... 'cause proprietary software got it all right the first time. :)
I know a lot of people who can't/won't even try to install drivers for their Windoze boxes at home because it's still seems pretty damn complicated to them.
"Developers focus on features in their software, rather than ensuring that they have a solid core."
You are kidding right? This is probably so much more true of proprietary software (to bring up the obvious - there is no open source clippy). Except for that, it's hard to disagree with the interface and documentation arguments on the whole, however keep in mind the rapid development pace that some open source projects move at, if you look just at the 'stable' projects you will usually find much better interfaces and documentation.
One of the items this paper doesn't seem to mention is that with Open Source, you tend to have less R&D money, if any at all. This is what has kept the likes of Microsoft and Apple at the top. They can afford to spend the money on intuitive, user-friendly design. That, and it would help if open source items, such as Linux, were pre-installed on the PC when it was bought. I know it is out there, but not as strong as it would need to be to succeed.
-- johntracy.com, because everybody else is wrong.
Jeez why use amateur homemade garbage when there are excellent professional commercial products available from Microsoft!
It's the same stuff everybody always cites. I don't even agree with the "feature bloat" point the author makes. Furthermore, it's just generalization. No specific mentions of any notible transgressors---just blanket criticism.
- poor documentation
- config file editing instead of installation programs
- non-standard user interface
- lack of support - a mailing list does not equate to professional support - this is for both the kernal as well as user applications
Well written article, and she even forgot to write about the other problem of FOSS:
PROPER TESTING.
When by proper testing, I mean test cases for each and every OSS app is getting released out there. Simply releasing an app as a "beta" and asking for input from random people who will use your app on the web, is NOT how proper QA should be happening. Unfortunately, distros are not any better on this, who are supposed to be "professionals".
I think that the only issue with Open Source boils down to this:
The things that nobody wants to do, but somebody has to.
Nobody wants to think about documentation. Or user interfaces. These things are hard, tedious, and a hell of a lot more boring than actually coming up with stuff to "make things work".
It's the reason why Windows is pretty easy to use. Personally, I think that OS X is the preferred model that many business should think about: having an open source "core" (BSD or Linux, whatever) with standard interfaces, then having the companies business be working on the upper levels: the stuff you have to see, since that's what you can pay somebody to work on.
Novell is taking such an approach, I believe, along with IBM. The issues with how to handle memory and the things that 99% of the people never see, let that get put out there so it becomes stronger. Faster. Better, and if nobody "owns" it, then everybody can use it to make their business better - fosters competition.
But your job is to provide the "service layer", such as with Novell/IBM admin tools to administrate those underlying pieces, or Apple giving you a nice "standardized" GUI where everything just works with the rock solid core.
These issues in the paper are not new - but they're the things that somebody, somewhere down the line, has to fork up for. And that's where I'm content to let a business pick up that slack and fill a product niche on top of Open Source software.
Granted, of course, they play by the rules, and let the rest of the community in on what they did so we can all benefit and get better.
Of course, that's just my opinion. I could be wrong.
52 Weeks, 52 Religions with John Hummel
Abstract
Fundamental issues with open source software development by -> Michelle <- Right there.
I really agree with this. For example, there are a few software programs that I use and would like to recommend to people, but then I remember the long text based config file, or other small things that prevent the naive user from getting software working properly.
Little things like this make programming something about 10x easier (which is why most open source programmers do it, even I do it), but really do leave out the general public.
I mean look at the most popular open source programs (going by sourceforge). You have DC++, which has a beautiful interface, much better than its closed source counterpart (also more useful). You have Gaim, again designed with the interface and users in mind.
What is the common factor among the list? A pretty GUI. How many powerful console applications do you see up there? Very few.
The author definetly has a point.
Now if I can only get her to quit forwarding me those retarded chain letters we'll be all set.
"Avoid employing unlucky people - throw half of the pile of CVs in the bin without reading them." -- David Brent
Open Source seems to ignore this whenever it becomes inconvenient to pay attention to it. Yes, there are exceptions. But it is not infreqeunt to encounter somethign akin to, 'users of verions prior to X.yz must completely redo a whole lot of things because we changed underlying structures'
"I'd rather be a lightning rod than a seismometer." -Ken Kesey
Developers focus on features in their software, rather than ensuring that they have a solid core.
This motivation is even more present for commercial apps; developers are asked to add every feature that somebody suggests in a focus group, etc. for better advertising - e.g, We have this feature and $COMPETITOR doesn't! Many of the Windows security scares have been due to poorly thought out features becoming bugs; for example, using ActiveX or VBScript to "spice up" web pages or Outlook's tendency to "enhance" emails by displaying HTML
--- You shall know the truth, and the truth shall make you mad- Neal (not Cowboy) Boortz
One thread I've noticed emerging in the comments here is that of "but non open source stuff has the same problems". Why should it matter if the non open source stuff has the same problems? If it's a problem at all, should it not be addressed?
After all, addressing a problem that other guys haven't is a good way to improve the chances of getting ahead.
If it works in theory, try something else in practice.
The future of Open Source may depend on positively answering the question:
Oddly enough, the future of commercial software also depends on this question.
Can your grandmother make it work, use it and maintain it herself?
There is truth to this with regard to lots of open-source software, but it isn't necessarily true of all. And these problems do exist for many other programs, both Free and non-Free.
Take Mozilla and OpenOffice, for example. In my experience they are just as usable and stable as other programs, commercial or otherwise.
I'd tend to believe it's more a problem of developer attitude. Although this is often an issue in open-source projects but does not necessarily have to be an inherent trait of OSS.
I assume the author isn't aware that the code often contains comments that can be helpful (especially if they are in some language you don't know). Seriously though, I wish universities would put their English students to work writing docs for the piles of open source software out there, rather than sticking them with meaningless brain-dead assignments. Get a grade, and do something useful you could even put on your resume, cool huh?
I Am My Own Worst Enemy
The load-handling capabilities of a webserver have little if anything to do with the software and EVERYTHING to do with the hardware configurations and the speed and throughput of the connection. Are all Linux apologists as retarded as you, or do you make the extra effort to sound supremely stupid?
The article brings up lots of good point that in general I don't have too many problems with, but frankly I don't see how most of these are FOSS specific. For every issue he highlights I can point to just as much closed source software that exhibits the same problems. I think the basic arguement behind all of this is a profit margin helps fix these problems, when in reality they don't. There's pleanty of closed source software that's counter intuitive, badly documented, bloated and doesn't do exactly what I want it to do, and there are examples in the FOSS world where the developers actually do care about the above issues.
I actually think these are exellent points to bring up about *all* software, as most, regardless of development methodology, suffer from one or more of these issues.
Open source projects consistently do a great job at replicating stuff that non-open source groups develop. GNU/Linux itself is more or less a remake of Unix. MySQL reimplemented SQL. Samba emulates Microsoft's protocol, etc. That's because coming up with and delivering completely new things is hard. It usually requires pain, and some really unpopular decisions which fly in the face of the Open Source culture.
Of course, this effect is amplified with UI/highly integrated applications. When text is the input and the output, it's easy to glue things together with grep/awk and automate with scripts. But the user interface with text is simple, clean and unchanged after several decades. A GUI app inherently begs for some kind of library because few can (or should!) code this stuff from scratch. Fine. Except how often are you happy with the baked-in stuff for all but the simplest apps?
So once you venture from text, you suddenly face the obstacles Microsoft has tried to fix with COM/DCOM/DDE/OLE/.NET/ATL/MFC and so on.
The disadvantage Open Source had vs. Corporate-ware (and I mean *had*) is that chaos erupts with no unifying thing to keep all the GUI and inter-app stuff in line. It seems that the distros are now becoming that unifying force. The downside is that it is getting hard to tell the difference between RedHat and Microsoft!
Does it hurt to hear them lying? Was this the only world you had?
Using things like "Project X" is part of the problem. Just come out and say what the problem is and what the problems with it our otherwise trying to extrapalate your nit-picks with "Project X" to all open source problems is just going to fall on deaf ears.
We are waiting...
Of course! I think the World Science Fiction Convention should give a Hugo award to the Best Open Source Documentation.
Then folks like me, who program more than write, would actually have a chance of winning a Hugo.
On the other hand, I don't want my Open Source documentation to be mistaken for science fiction...
Almost without exception, the documentation is abysmal. I know, I know, so I should volunteer to help improve it. True, but a large arm of geeks would be needed to properly document every open source project! I don;t know what the answer to this one is, but it's a chronic problem....
No, the thing holding back more widespread adoption of open source is that nearly no one currently would want it shipped already-installed on new computers.
Make it good enough that ordinary users demand it, and adoption will come automatically.
I for one don't use open source because I loaded windows on my PC because it was easy and it is what I use at work. I would have no problem grabbing a linux distro and loading it on my computer but that would mean I would have to invest the time to learn it and to actually install it. The need to use open source just isnt there, windows provides all I need and I have the money to pay for it.
Open Source projects seem to have a lot of trouble with user interface design
Whilst I understand the sentiments behind this may experience is that nearly all projects "under development" share this issue. In other words, not a whole lot of effort goes into UI until the fundamental technical issues are resolved.
In many ways this makes sense, why put a whole lot of effort into something that will only keep breaking during the main part of the build.
Of course, this focus needs to change at the stage the project is approaching production readiness - and often doesn't. But I certainly would not get hung up on UI during a development.
-- Free software on every PC on every desk
the software is free, how can you complain? Pay for it if you want X feature.
"...There are still many things which software available for the Windows operating system does better than any present Unix-based system...."
And one thing Microsoft does better than anyone else is force you to accept an unacceptable EULA. Factor that in your evaluation, please. I will trade ease-of-use for freedom any day dude.
I need a /. brain checker... The last problems should be projects.
People constantly complaining that open source software hasn't dethroned Microsoft.
Who cares? Linux, and open source softare is not for everyone, but it does fill a need. If more people use it, great. If not, no harm done. Nothing that isn't done for profit should be considered a failure if it doesn't reach the general public.
UI Design is deceptively hard (because it should seem simple in hindsight?) and the early versions of much commercial software suffers greatly in this regard as well. Why do some get better? Because people that matter complain. When paying customers gripe you have to fix it. When people try your software and then never use it again you may not even know why... This extends to documentation as well.
As for feature centricity and self-oriented programming they probably are straight forward results of people creating things because they want them themselves...
There is a fundemental difference in software that is written by people who want the end result and software that is designed, coded, tested and documentented by different people or teams. Maybe this should motivate those of us who use open source to give some better feedback to the authors!
I think she missed the biggest reason of all here: Designing a good GUI is very hard. Wait -- let me further clarify that: it's very, very hard.
Designing a GUI from scratch requires a sense of aesthetics (balance, color, flow) and the ability to decide exactly what needs to be up front, and what needs to be hidden behind a menu, option button, or some such. Frequently the developer will have a fervent opinion about "this is the most important thing, it must be on top" whereas a good user interface designer can step back and see what will work for the users. A good UI designer will also run user acceptance labs to test their designs. Many open source projects end up with little more than "Hey Bill, would you check this out for me?" And Bill, being aware of the project from its inception, and having heard about it over the lunch table for the last five months, already posesses a deeper understanding of the task that prevents him from being able to adequately judge the design.
Apple, of course, has always been at the forefront of GUI design (at least as a commercial success, I'm fully aware of the contributions of Xerox Parc, et al.) I believe this comes from a strong, single, visionary designer, a rigid set of GUI design guidelines that must be absolutely followed, and a corporate mindset that the GUI is the most important aspect of an application. They undergo rigorous testing procedures, and countless user feedback labs. Microsoft hasn't ever caught up to Apple in that respect, although they do have a good set of GUI guidelines and some very strong products.
But nobody in the open source world wants to be "told what to do". Also, nobody in the open source world feels they have the authority to stand up and say "you must design your GUI in this fashion." Some projects, of course, will have beautiful, solid GUIs thanks to having a quality GUI designer on the project. But that currently doesn't pan out beyond the scope of the single good application. So the consistency isn't there, and it will never be there until someone puts together a GUI committee that has the authority to stamp "Tux Approved -- Good GUI Inside" on open source projects. It will require a single, strong voice. And that voice has to have a world of talent behind it. That's a mighty tall order for hundreds of grass-roots volunteer efforts to come up with.
John
If you're so notable then why hide behind an AC post?
blah, blah, blah
I would agree with the common interface as an issue, since most Windows programs all look, and behave the same. Having stated that though, this is not true as Lotus Notes on Windows is not the standard GUI of Windows. The new Gnome and KDE interfaces are also changing the common GUI standard considerably for Linux (or other Open Source) all the time.
People have a natural dislike of the open source software I think as they have trouble obtaining and installing the software with little hassle. Downloads really need to be grouped together to ensure the proper libraries and associated files are installed on the computer. Backward compatibility with libraries might help too. Too often I have downloaded an open source program, to only have to go to 2 to 3 more sites to download the components needed to make it run. Sometimes, the newest component is not compatible so then I have more trouble getting it going. The separate components is great as it reduces duplication, frees drive space and ensures that the one file keeps all my applications up to date.
I do not think that the open source is worse off than proprietary systems, it is just sometimes too much choice results in bad choices by some people. If John Doe makes bad choices and can not get his software running, then all his friends that think he knows what is he doing suddenly thinks that the open source software is too hard to use and install. However, John Doe just had enough knowledge to be dangerous, but a large enough mouth to discourage others from trying. Some of the other people may not have made the bad decisions and would have the software running properly.
Really is, in my opinion, the lack of people newbie users can go and ask, "Well how do I do this?". If the resident experts were versed in more than the M$ products they are resident experts in, that might fuel its adoption, given the article's other points considered too.
Until companies can rely on unofficial, internal helpdesks in their local gurus, wide-spread adoption at the desktop level will be very gradual.
Be very, very careful what you put into that head, because you will never, ever get it out. -Thomas Cardinal Wolsey
There are still many things which software available for the Windows operating system does better than any present Unix-based system. Rather than admit that Windows is ahead in some areas, the tendency is to just ignore those particular areas.
Don't people usually complain projects like KDE copy too much from Windows, or claiming OpenOffice is just a clone of Microsoft Office? And what about Mono?
I really can't seen much of a problem with open source projects not using ideas from proprietry software. Quite a few people would argue that they do this too much!
The pitfalls mentioned in the editorial seem to be more common to open source projects than proprietary solutions, and I believe the issue may be with control.
With proprietary solutions, there are full indepth analyses of market need, product placement, user targeting, etc etc, which as far as I can tell, open source projects lack. The mentioned problem of documentation is a good example of this: if the target user is successfully identified, it should be obvious that unless the user is, himself or herself a programmer familiar with open source "documentation", a user guide covering every feature, behavior, and interface should be created. One software engineering practice (to which I subscribe to) is to create the user manual *before* coding the program, and not changing it unless there's a damn good reason.
------- "From bored to fanboy in 3.8 asian girls" ----------
1. Improving and is nearly a non-issue these days
2. Documentation is more plentiful then most 'closed source' groups. If having less 'Dummy' books means less documentation, it's a negative I can live with
3. Doesn't MS Office count as a Feature-centric project? You can really put MSOffice in place of 'ProjectX' and it would sound the same
4. Sounds like a crappy project to me if the developers know of the problems but don't fix them.
5. There are lots of egotistical elitests, but I've noticed in the wild that there are less now then a couple years ago. If you punch everyone in the face and they all leave, don't be suprised when there is no one left to punch.
Overall it sounds like this guy had a bad experiance with A single project and decided to generalize it with all Open Source. I'd be nice to know what ProjectX is, then we all can get on them over it.
The Notes section seems to get the highlight of the paper.
"Some things have to be believed to be seen." - Ralph Hodgson
I wasn't aware there was a sociology behind the "open source" movement, the Free Software movement yes but I thought "open source" was born out of practicality and not sociology...
I'm sure I'll get modded to the 7th circle of hell for this, but I think the problem with the open source community is choice. There's just too god damned much. Imagine you're in a mechanics shop, you're the mechanic and you need to adjust one itsy bitsy bolt on an otherwise trouble-free sports car, you open your toolbox drawer to discover every possible tool you could think of to get this one bolt tightened...
There's the old addage, just use the right tool for the job... yeah, what if ALL the tools are the right tool for the job? What then? Use any? Arbitrarily? Why is wrench m400 any better or worse than z767? What's the difference? They both tighten the bolt, they both do a good simple job of it, so why have so much fragmentation?
Granted this is a two wrench example... in the open source community (which I think should be renamed the Open Choice Community... because you've got nothing but choices) you've got soooooooo many options, it's mind boggling. Not so much to a seasoned admin or someone who knows a bit of everything or the zealots that claim superiority to anyone with so much as a simple question to why use one over another... it's mind-boggling for mom n' pop, and joe-six pack and so on down the line.
Too many ways of installing software, too many commands to choose from, too many ways of doing things and simply viewing data.
Now there'll be those that say I'm opposed to choice altogether and that I'm preaching for the "one ring to rule them all" mentality, that there should be one way to do things, one software vendor, one hardware architecture, etc... but that's NOT what I'm suggesting. I'm merely suggesting that we scale back some of the available choices that are out there in the Open Source community... when we pare things down a bit and get to the fundamentals, we could truly kick the ass of the money hungry, FUD spreading closed source competition.
I'm just voting for a balance between the MS way of doing things (their way) and the open source way of doing things (too many to list). We've got toolkits and window managers coming out our respective asses... and that's great for choice... but choice just for the damned sake of choice... is stupid, the choices should be brought down to "good" "better" "best"... brought from an objective point of view, or a standards board, or something/someone... there are bits and pieces of all the different toolkits, window managers and programming languages that are useful, neat, exciting and important... let's start taking the best of breed and really make a go of it.
That last part may sound a bit "rah rah" marketing speak for this crowd, but I'm serious, no sarcasm intended. Let the modding down begin.
At first, this sounded very simular to a project I am working on. Then I relized there was a few things that our project doesn't have.
... intresting, 2 references to this project on /. today alone :P
I did some searching, and the only project his name shows up in is GForge
Use your head! RMS can't very well say he hates and blames Linus for taking the spotlight away from him in public can he? Just wouldn't be polite :).
:p)
(P.S. this is a joke, RMS is great
Didn't you RTFA?
The point is that some aspects of "Project X" share problems with other Open Source projects.
The author says pointedly at the beginning that Project X is an EXAMPLE, and not all projects are problematic, bad, or suffer from all of these issues.
The essence of the article is that just because a project has, or perceived to have, a technical superiority, useabilty and documentation are paramount to making it a success.
Think about it this way : I can use my Linux box as a DVR and save a small amount of money, but I can buy a TiVo and plug it in. The Linux version may have some superiority in flexibility, privacy, fair-use, etc., but it is in no way as imple to set up as my dedicate TiVo. (yes I know TiVo runs Linux).
Code can be split into parts and reused. A professional programmer benefits by having a large body of good open source code.
Documentation, on the other hand, is much more likely to be a one-shot thing. If a professional technical writer were to write, say, a terrific GIMP manual, and release it open source, it's not likely that they are going to get anything back that will help them on other documentation projects, at least to the extent a coder gets for releasing code.
Same for UI designers.
Basically, good open source documentation and UI design comes from people doing it as an act of charity, whereas there are good practical reasons for people to write open source code.
1. User interface design
The author had a good point with this one. A lot of open-source projects have rather bad UIs. I've had a lot of bad experiences with such UIs. User Interfaces aren't easy: making a good user interface can be hard. We really need more good UI designers, but they aren't exactly a dime a dozen.
Fortunately, the UI tends to be well-separated in most open-source apps, since many open-source developers have that UNIX philosophy of creating separate components that do one thing well.
2. Documentation
Very true. Many times I've been puzzled and wondered how to do something, and since the user interface isn't intuitive, turned to the documentation, only to find it scanty, incomplete or non-existent. There aren't a lot of people who enjoy doing documentation, which is probably the main reason for this.
My most recent experience was with KDevelop 3. It's a nice IDE, but it seems to be oriented around those who are already used to command-line development. Coming from a Visual Studio background, I was baffled, and forced to refer to the documentation. The documentation, while informative, was woefully incomplete, and also had some assumption of familiarity with command-line development. It would be nice if I didn't have to hunt for other documentation to understand an application.
3. Feature-centric development
This is not a problem just with open-source software, but with *all* software. Just look at the opposite of open-source software, Microsoft software. It suffers the same featuritus that open-source software can suffer from. This problem is all about project management, not the nature of open-source.
4. Programming for the self
While true, this falls under the user-interface and documentation areas. It's all about something being unintuitive and undocumented.
5. Religious blindness
This can be true in certain cases, but I don't see this as being a huge problem. Open Source is not the same as UNIX-only. There are plenty of open-source projects for MacOS and Windows. I think the main annoyance that the author expresses comes back to UI. Essentially, she's asking, "Why doesn't Linux have as good a user interface as MacOS X or in some places in Windows?"
Well, that article was rather short (figures, I actually read the article and find it wasn't worth the effort). I think two points that need some greater detail are as follows:
1. The big advantage of open soure - sharing and code reuse - just isn't happening. For example, I'm looking for a new OSS webmail program. I have certain criteria. There are something like 209 projects related to this on Freshmeat. Why? That is no more efficient than a couple hundred closed-source vendors doing separate implementations of competing products. What have we gained?
2. Choice really isn't, sometimes. When I am faced with two OSS projects that supposedly perform the same task, I often find that each lacks a function that the other has, and neither do everything they should. Why don't they team up and make a single, solid project?
I think the answer may have something to do with the inability of people with different skill levels to work together. Or that differing programming styles prevent two developers from ever agreeing with eachother. That's not comforting.
Fred
"A fool and his freedom are soon parted"
-RMS
I think, maybe, three. But I can't name them, can you?
This issue is a bit more complicated than you think.
I have to admit right up front, I didn't RTFA.
I did skim it, it's too long for the lame points it makes.
o Bad UI
o Insufficient Documentation
o Focus Features (Kitchen Sink Syndrome)
o Programmers programming what they want for themselves
o Religious blindness (oh Please)
Open Source folks freely give license for you or anyone else who cares to modify, use, change -thier work- for your use.
With only the restriction that they can keep the right to what they created.
Yup, shame on them for not considering the needs of the entire rest of the world.
Michelle Levesque isn't even open enough to share the name of the Open Source project being modified, I seriously doubt that Michelle Levesque will bother to share the fruits of the added value added by Michelle's team with the same Open Source world that the project originated from.
Golly gosh, Santa Clause brought me a shiny new electric train, but the one I asked for had a B&O Engine, a yellow caboose and 4 cars. The one I got has a CGW Engine, a red caboose and 16 cars.
This train set sucks, and Santa is a Fink.
I suggest caboose take a look at the huge number of Open Source projects that meet an exceed his lame list and quit looking at the free (as in freedom) glass of water as half empty.
They are rather related to zero-cost voluntary software developement, no matter if OSS or not. It just happens that currently both are often the same.
I'm currently develpoing OSS and getting paid to do it. Overall consitency goes way over 'cream-code'.
My partners don't care about dirty hacks as long as the result is usable and looks good. Thus I'm cutting corners in code-beauty. It's going to be GPLs OSS none the less.
We suffer more in our imagination than in reality. - Seneca
Open Source companies have tons of money. Look at all the kernel hackers they hire to work on stuff.
Red Hat spent $700,000,000 on buying out compiler companies and dot-coms, and then the reason their programmers give me for why their software has usability problems is "we can't afford an HCI department."
Linux companies like Red Hat (and Suse, bought out for $200,000,000) have tons of money. It's just that they don't consider usability to be very high on their list of priorities. To these folks, its only the technical stuff and server stuff that matters. Screw having a properly trained user interaction dept that makes their software easier to use.
Ergonomica Auctorita Illico!
You'd better belive I'm designing it for ME. Its not fun to design programs for other people. Thats a job. I wouldn't do that for free. If you would like to PAY me to make it work for you, I would be happy to. Of course it is open source, so if you don't like it you can change it yourself.
Well.. maybe. Or Maybe not. But Definitely not sort of.
I just read a fantastic article in This month's Discovery magazine. It talks about the importance of emotion and intuition in rational and logical behavior. They gave some wonderful examples of people who'd had brain damage to the emotional part of their brain. These people scored perfectly normal on every kind of measure for intelligence, but when they were confronted by the simplest choice, they'd either get stuck in endless loops of weighing pros and cons, or they foolishly forge ahead for totally illogical reasons. It seems that our emotional underpinnings are a critical and necessary part of our function.
What does this have to do with this conversation, you might ask?
A long time ago, at the very beginning, the folks who began the open Source movement, were geeks like us. They were ideologically committed to logic and promoting logic over emotion (even if not consciously, then unconsciously), you might even say that First Officer Spock, was their role model and patron saint. It put quantifiable items like "features" far ahead of warm and fuzzy elements like "Look and Feel". In fact there was a macho aspect, that the more it took for someone to learn the UI, the higher on the geek hierarchy (s)he was. There's still a huge amount of that kind of background thinking in the tech-geek community. The success of Apple was to unite geeks, and artists, and poets, and movie makers, and word smiths, and creative thinkers from many fields to create a best of breed information appliance that is elegant, simply, intuitive, accessible, and has a remarkably short learning curve.
We of the geekier persuasion, need to embrace the flesh and blood aspects of humanity, and woo some of the creative, artistic, warm and fuzzy folks over here to play with us. It's not comfortable, but the cross pollination, will make us produce better tools, more accessible to larger groups of people, and in the end help us. as well, it'll help the geeky at the process of becoming better socialized. We need to do more to play with the intuitive, emotional aspects of being human... or our tools begin to lose their value for the greater masses.
Event the most logical of geeks, see's the futility of that.
Genda
At the very first lecture of the Software Tools and Systems Programming class that I took, we were carefully instructed that the best software tools are small programs that do one thing well and interface cleanly with the other tools. This sounds like a philosophy which is perfectly suited for the Open Source movement: if you have many contributers and they all create one (or several) small programs that do one thing well and interface cleanly with the other programs, a very clean and powerful system can come out of it. And I believe that this has been proven by the durability and longevity of the Unix operating system.
i fully agree that this is a problem. projects like FVWM have it right. with many different programs (taskmanager and so on) on top of their core. All modules have their own manpage and are configured in the core or separate.
Better than closed-source alternatives
/. mostly because it's not FOSS. However, that should not exclude it from the list of browsers that kick IE's ass all day long.
That really needs to read, "Better than some closed-source alternatives."
Opera is an excellent browser that does not get enough love here on
I'm getting weary of hearing all Open Source Software lumped together.
There are so many many types of OSS for different uses and different audiences, the writer would not make the same generalization about proprietary software.
The article, and all 5 reasons OSS will ultimately fail, should have been directed only to Office software, and maybe related desktop application software like CD burning, DVD authoring, and audio programs to name a few... I won't be needing a bound glossy manual for my netcat, bee-yotch, thank you.
Hell, I don't WANT my mom finding either the firewalk manual, the tcpdump manual, or the Metasploit manual. To boot, I loved the days of super terse unix man pages and getting flamed by geezers on usenet for daring to ask a remotely plausible question. It kept the bar HIGH. Look what we have now. The lowest common denominator has been invited in, and now every half ass dimwit wannabe win98 fanboi thinks "Linux is awesome". Die, you rat, commie bastards.
1) User interface design
Good UI design is hard. A good UI designer might not even be able to code and hardcore coders generally don't make very good UI designers. It's simply not what they're interested in and so it gets only as much time and effort as is absolutely necessary. We, as a community have built some wonderful code, but not many in the community are actually UI designers. We need to find and motivate more of these people.
2) Documentation
Documentation is time consuming and not very rewarding for coders. As with UI designers, we need a large group of people who get kicks out of writing documentation and there are just too few of those special people. We need more of these people too. Trusting these tasks to the coders isn't enough.
3) Feature-centric development
Features are rewarding for developers and guess where they put their time.. Project managers are meant to drive the scope and direction of a project. Most of time, the project manager is the lead coder by default. Got to entice a few of these management types over too..
4) Programming for the self
This has an almost identical effect to #1 and the solution is the same. People who are good at usability issues must be found and enticed to contribute. Unfortuantely, we don't have much to offer in reward. Recognition? Nope... The coders/project managers get the credit for the released program. Money? Nope.. We're not talking about commercial software. Beer and Pizza? That's probably our best shot, but I'm not convinced.
5) Religious blindness
Blatently wrong, at least for a significant population of the community. Quite of few recent articles soundly debunk this.
So, it's not going to "fix" itself and there is not much we can do to alter the situation. People are doing this for fun. If it's fun to work on features rather than write documentation, that's what they'll do. Commercial software will always have an advantage in this respect because people are paid to do the work they don't enjoy.
The biggest problem with open source is Marketing!!!!
We have heard about open source software, but there is not open source marketing!!!!
There isn't anyone doing customer studies, usability tests, etc... Developers think they know it all and develop things according to what they like. No one there to say, "We should cut this feature because the gains over time spent isn't worth it."
The lack of focus on user interface design causes users to prefer proprietary software's more intuitive interface.
:), Apache, etc. No solid core? Or look at Sendmail: Security issues, yes, but enough stability to transport 90%+ of all the world's email, and more features than you can shake a stick at. Next!
Read: Microsoft? Anyway, bullshit. See GNOME. Remember also the comment that *no* interface past the nipple is intuitive -- it's all learned. Frankly, there's a lot of proprietary software out there whose interface sucks -- I personally can't stand Nero, Roxio's shit, or Windows XP's defaults, especially after all that time on 98 and 2000. Intuitive my ass.
Open Source software tends to lack the complete and accessible documentation that retains users.
Bullshit. See my Dad, or for that matter, most users WHO DON'T FUCKING READ DOCUMENTATION IN THE FIRST PLACE. Try working in tech support for a week. I do, our docs rock, and nobody fucking reads them. Admittedly, some docs do suck, but again, most users don't read them -- just like most users don't read their VCR or stereo manuals.
Developers focus on features in their software, rather than ensuring that they have a solid core.
HAHAHAHHAHAHAAAAAAAA!!!! Excuse me while I puke all over your fucking research. See, for example, Linux, *BSD (not dead!
Open Source programmers also tend to program with themselves as an intended audience, rather than the general public.
Well, yes, you actually are verging on having a point here. Most OSS starts as an exercise in itch-scratching. But usually, OSS is released with a notice like "Hey, try this out, tell me if you find it useful, or if you find bugs." Sure looks to me like these OSS programmers are looking for public input.
there is a widely known stubbornness by Open Source programmers in refusing to learn from what lessons proprietary software has to offer
Could you provide an example? Something more detailed than "you should copy Apple," since that comes right out of the earlier "proprietary software is more intuitive" fallacy, please.
What do I think of the issues raised by the article? Bullshit mostly; red herrings based on fallacies and faulty assumptions. Can we get someone who's prepared to write a rebuttal to TCATB instead, please?
Please, don't feed the troll.
I've seen this one a few times already.
The perfect sig is a lot like silence, only louder
I'm fed up of reading the same old bullshit... No examples or solid reasoning given, no real fair comparisons just crap! When I find the time I will write a half decent reply to a lot of this crap.
I did a double take on reading that. Are we still talking about Open Source? Because that sounds like typical of proprietary development to me, where all focus is on marketability, and to hell with solid software.
Mart"I know I will be modded down for this": where's the option '-1, Asking for it'?
Where's the documentation? It came with a flimsy document showing trivial stuff. When I do Start->Help I get tons of documentation but it's all 'fake' in the sense that it tells me stuff that's obvious. Eg. to Share a folder I need to right click on the file and select 'Sharing' et.c. Doh! Where are the docs telling me how to write a device driver? Where are the docs telling me how to manipulate junction points? This OS shipped with Internet Explorer which supports a bunch of programming languages like Javascript and VBS. Where are the docs about these? Where are the docs for the APIs in all of the DLLs all over the place? Oh yeah...I have to buy a separate product to access those. When my PC fails to boot what do I do? Where are the docs telling me about the different stages during the boot process? Are there any logs? What is the precise format of NTFS on the disk? Endless questions to which I can find no answers in the documentation that came with my OS.
Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
I love open source and appreciate what open source developers do. (Here it comes...) My one annoying thing is the amount of dependencies involved in getting something to work. If I want to install and run Project X, it really bothers me when I have to go and download/configure/install dependencies A through W just to get to X. As a programmer/linux weenie, I can get through it, but the point is, I don't really want to. I almost wish I could download a huge precompiled binary of Project X. Give me statically linked libraries and all that. I just want some convienience. I'd even take a huge source tarball with all the dependent libraries in the tree, so I don't have to fuss with different versions and all that.
This isn't meant as a knock on the people who work open source projects. I really have a lot of respect for people who do that. But this sort of stuff can't get past us in the geek community and out into the larger community until issues like this are addressed IMHO. There were some other posts that indicated that open source projects are not meant for the non-geeks. Well, I can only say that it seems true at this point.
The open source world's only "problem" is with people who think they know what open source's problem is.
So documentation is hard to understand. So you can't pointy-clicky your way through everything. Who cares? Your ease of use is not my problem. Open Source is exactly what it is because of the people who use it and make it work. Like "Jaywalk" said, "She points out that open-source is 'programmers writing for programmers.' Well, duh. Who else cares?"
In the proprietary world, if people don't buy the software you use, the software-maker goes out of business and the software goes away. But this isn't the proprietary world, and that's not how things operate here. If some backwater idiot doesn't like Linux because it doesn't come with a complimentary AOL icon on the desktop, it doesn't matter to me and the many others who *do* like Linux. Our operating system won't go out of business. Open source doesn't have a "problem".
And another thing, damnit, I wish people would get it out of their heads that GUIs are automatically more intuitive.
If aspiration is a virtue, achievement cannot be a vice.
> suspect that there isn't one single reason for
> the poor quality of user interfaces, but here
> are some explanations I've heard roaming the
> Open Source circles: geeks value integrity over
> beauty; the gender gap in Open Source
> communities; it's intuitive to the programmers
> so why would they fix it? (see Programming for
> the Self), the belief that a pretty user
> interface can always be designed later once
> they're done the real work, the belief that user
> interface design isn't real work, and several
> others.
I think the two main reasons:
1) Open source developers just don't think about usability - they think about functionality. It's kinda of like a blind spot that naturally develops when you spend all day coding.
2) Good user interface design is very hard. It is a skill that most developers don't have.
When you see a slick application like the Apple i-Apps or pro graphics and video programs, the reason they're nice is that they were designed by usability specialists, who are following interface guidelines and testing the interfaces on actual users.
There are just not enough of these people in the the open source community.
But this doesn't interest me. I don't like Windows, and I can't imagine liking a Linux based Windows clone that is just as easy to use as Windows any better.
The more Windows-like Linux becomes, the less I am interested in running it. I've mostly switched to FreeBSD (I used to be Redhat only).
I use the CLI, I edit with vi, I write lots of scripts, and so on. In my opinion, text based, scriptable interfaces have a flexibility and power that Windows lacks, and which I refuse to do without.
This is not to say that traditional Unix is perfect. I have spent a lot of time thinking about how to make the Unix user interface better and more powerful. I think there is a lot of interesting work that could be done on making Unix suck less. I just don't see building a Windows clone as movement in the right direction.
I understand that the general public doesn't want a better operating system. The general public wants Windows. So feel free to donate your time building an open source windows clone, but count me out.
Doug Moen
I have written a truly remarkable program which this sig is too small to contain.
Availability.
Most people simply don't know that GIMP and OppenOffice exist. Or that they can be installed on Windows fairly easily.
Installation.
Some open-source developers just assume that you'll have a compiler handy, and will want to adjust the Makefile to point to the right libraries (which you'll have to compile and install yourself...).
-... ---
I think the biggest problem for Open Source software is a clear business model. The GPL makes it so just about no business would want to invest millions into something that they have to give out for free.
Why don't these people *get* it? We write open source software because it's fun. If other people want to play, that's fine too. But you're going to have to play by our rules, because it's our game. Got it? Good.
That said, if the author of the article doesn't like the state of the documentation for the software she is using, perhaps she should consider improving it.
Don't whine. Do it.
Lastly, there is a widely known stubbornness by Open Source programmers in refusing to learn from what lessons proprietary software has to offer.
Not exactly - it's that learning is prohibited under US Law by Software Patents. The GIMP developers are FULLY CAPABLE of adding Pantone support to the GIMP/Cinepaint. They are PROHIBITED FROM DOING SO BY US LAW.
Patents make it illegal to learn lessons from the experience of others - something that humans do naturally and something that sets us apart from almost every other animal except a few closely related mammals.
THE PATENT ON INVENTION MUST GO THE WAY OF THE PATENT ON NOBILITY.
NO PATENTS!
here
I tell ya, while she raises some interesting points, I think that I use OSS because it isn't point-and-click for a lot of things. M$ has made their programs very easy and simple to use, as long as you're doing exactly what they envisioned you to do. Philosophical considerations aside, I find that open source software is much more flexible on average. While that may mean its very difficult to get anything done, at least I can accomplish what I need. A lot of the time there is no way to accomplish a certain, complicated, variable task with a given piece of propriety software. This is especially true for Windows and to a lesser degree OS X also. Panther's UI changes are a big step toward dumbing down OS X, which makes me less productive. I believe that while flexibility and ease-of-use aren't necessarily mutually exclusive, they're pretty darn close....Or maybe its just that the command line is just better for doing anything that requires thought or is out of the ordinary.
from a Mac perspective: open source is:
1. Hard to use / ugly
2. Poor / complex documentation
3. Slow / buggy
4. Hard find / poor support (for average users that think IE is the "Internet")
5. Lack of brand / identity
Mozilla is one shining example where this isn't true, another is GAIM project and its offspring on Mac. Another thing I couldn't live without on my Mac is Poisoned which open source helps. Safari is helped thanks to KHTML and I like KISSMac/MacStumbler. I use MPlayer / VLC almost daily too. But in general things are complicated and ugly w/ hard documentation that is all gibberish.
It's getting better but one problem is Linux tries to look like Windows. It should try to take more lessons from Apple than Microsoft!
I wonder if it is mainly the lack of maturity with the OSS world that keeps it from putting that final touch to their applications? I am not talking about the age bracket here but more the length of time this idea of open source has been around. Though that may be a factor.
We talk about how we develop open source software more for ourselves or other developers, but come on, I don't care how geeky you are, nobody wants to make their life harder. Command line is easy to produce and can be quicker to execute but it definately does not promote the bliss of ignorance. How is it that it is more important to understand what is going under the hood, then it is to get to where we want to be going. When I am trying to cut a new CD or create a new document or even program a new application, I want to already be there and not running CVS or something else because I don't have the right drivers or libraries or what have you. I want to be a blissfully ignorant of those things as possible, because frankly that is not why I am doing what I doing. I am not editing a document or creating a jpeg because I want to know how that works I am creating a document or editing a jpeg because those are the things that are important to me.
To get off that rant and to actually make the point I want to: Most applications in the open source world, even the ones with a couple of years on them, are still in the beta to version 2 stage. Still trying to figure out how to do what they need to do. They haven't had the maturity to add the needed user overlay.
Perhaps this is something that falls under the same category as giving support and building packages as Redhat and Suse do. Perhaps to add a better user interface and documentation would be a salable point. An added value to the package.
So let me get this straight:
You say that OSX is a great example of interface design, because real live people have told you so... and KDE or Gnome are poor examples of interface design, because of an imaginary scenario?!?!?!
For the record, I've put people (such as my mother) in front of a KDE desktop, and they've had no problems with it (in fact my mother said how much she liked it.)
Note that neither this, nor the author's experience actually has any bearing on whether KDE or Gnome are usable or not.
Using the exact same methodology in this article, I could prove that MS has no money, that the moon is made of green cheese, and that Iraq has weapons of mass destruction. (Hmm, come to think of it, maybe this guy works for the White House.)
Remember kids, if you can imagine it, it must be true!
*sigh*
Fundamental issues with open source software development
From the article :
This paper discusses five fundamental problems with the current Open Source software development trend
And later :
First of all, there will always be exceptions to every rule. For example, I believe that relatively few complaints listed here apply to the Open Source browser Firefox [2] which continues to surpass my expectations. I'm discussing general trends that I've noticed, not specific cases. Secondly, I don't think that these are unresolvable problems. The purpose of this document is to raise awareness -- not to mindlessly complain -- in hopes that the Open Source community may begin to change their mind-set about some of these issues and work towards improving them.
I'd argue that the last paragraph I quoted indicates that these are not fundamental problems with Open Source Development, but merely common problems with Open Source Development. The author seemed to overuse the word fundamental throughout the article. Sorry to be nitpicky, but the title suggested a very different article than what I found. I was expecting something more along the lines of, "Open source software will never be useful, because the open source development model is fundamentally flawed in such and such a way."
Of course that would have merited a very different response, such as, "You're clearly being payed by (Insert evil proprietary software company here)".
Other than the lousy title and the gratuitous use of the word "fundamental", this article seemed very mild, obvious, and full of information that gets regurgitated on Slashdot every two days or so.
"spoiled", or is it "retarded"?
Yup, open source has a few rough edges. Of course this may be due in part to the fact that many that use it are tolerant of a bit of DIY action. This is as noted simply due to the fact that tech savvy wrote it for the tech savvy. But in the last few years linux and its packages have improved by leaps and bounds. In time it will be more accessable to the less tech savvy. This growth is clearly happening and will continue as the open source movement matures and gets better at filling a market niche.
All the problems he has noted really are the hallmarks of a "Immature" package but as time goes by the worthy packages get better and "grow up". Take KDE or GNOME in point. A few years ago it was VERY clunky (still better than win 95 tho). In just a few short years with NO PAY these guys made something quite usefull, nay may be even intuitive. It has problems and as time goes I am sure they will be addressed. It is all in the process of maturation that the project shed the bugs and effects of bad project design to become a intuitive finished project. This is true for all softwear and maturation is not free nor instant, it takes allot of effort to do this.
When a software company devotes massive $$ to make a intuitive ap that nobody needs/wants then they go bankrupt and stop. In opensource it is different. Someone has an idea. A basic implementation is made. If it is good and the demand is high it will be polished by the many that flock to use and develop it. Then it will mature and become a product that is less cumbersome, those packages that are less need/popular stay basic implementations, "infants".
*I wonder what linux wants to be when it grows up?
Very true.
Most of the faults of Open Source people cite (like in the article) really have nothing to do with the concept of open code and absolutely everything to do with Unix Cultural Bigotry.
As Unix people tend to dominate Open Source, most of the problems caused by the Unix culture tend to be synonymous with Open Source.
Ergonomica Auctorita Illico!
Perhaps the problem with open source is the volume. There is just so much out there that it's hard to find the "nongeek-friendly" projects.
"Avoid employing unlucky people - throw half of the pile of CVs in the bin without reading them." -- David Brent
Concepts invented in the world of proprietary software are automatically rejected on the assumption that there's nothing that could possibly be learned from those who are competing with their movement.
It would be nice if he could point out some specific examples of this. And what happens when OS projects duplicate stuff in Windows because it happens to be a good way to do things? They get people bitching 'it should be different from Windows', 'oh you should innovate a different way to do it, don't just clone Windows' or some other rubbish. Christ, theres just no pleasing some people.
The interface problem is directly proportional to experience, and is often unnoticed without training, or without learning guidelines (apple's gui guidelines, etc). GUI building training and guidelines should be a pre-requestite for GUI building. GUI's also relies on the more visually artistic side, which is often of lesser focus for developers, for what it's worth.
The developer centric problem is often due to a lack of resources... when it must work ASAP, core functionality is implemented at the dev level and niceness is supposed to come later (but often doesn't. I see this in the gstreamer project, brilliant, but unusable for a novice).
Most of these problems can be minimized with forsight, dilligence, a good team of devs and a nice feedback loop to the users. It's perhaps also worthy to note that it's never the wrong time to learn and to push oneself towards better (coding) practice.
Clearly some distribution with a moderate following has to stand up and say: "We will cater to the desktop realm" and they want capital to bring in HCI brains and work on bringing that stuff into line.
And I'm not just talking abotu Helix or Lindows or Lycrosis here.
I mean Helix is Novell/Suse and they apparently don't have the cash for that now. Lindows is in it for the money, not advancing the state of the art.
So who else can step up to bat?
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
In this post, I use the general term "Violent Puppy Rape", though often I'm exclusively discussing consensual sex between adults.
I enjoy watching violent puppy rape.
Lumping the latter in with the former helps no-one, least of all the puppies.
One of the biggest problems the average user has with most open source software is that he can't figure out how to install or configure it. The open source java app I have been working on for 2 years has gone through a few different installers, none of which were very good. Even the ones that required licence fees that we tried out were crappy. Many open source projects require the user to compile and link the source code, sometimes even making users edit source code for configuration changes. This is either laziness or lack of resources on the developer's part, neither of which looks good from a user's perspective. Software that is distributed a binaries with install/run scripts are better, as long as you can provide scripts for each platform.
As developers, generally the first thing we do after downloading some new open source software is read the README file. Then maybe the GOTCHAS.. Most users won't or can't pay attention long enough to read the instructions in a wizard based installer, much less a 50+ README. Programmers tend to be fast readers in my experience, many other people are not. So, if you can, include a one click installer and make the program configurable at runtime through a nice, easy to understand GUI.
TallGreen CMS hosting
That is very true, in fact is the truest statement I've seen on this matter. That extra bit of hand holding really makes a lot of difference.
I recently installed a new CDwrite. Old one croaked. It would not work with the version of cdrecord + xcdroast I had installed which then meant going scrounge around for a new version and installing it (took a while). With Winshit I've have got away with bunging in the CDROM that came in the box.
Engineering is the art of compromise.
Open source movement is gaining popularity only on the server side, because on the server side people are writing their own apps, so all they need is hardware and an OS to run their programs. Google is the biggest user of Linux because they are running their specialized software on top of those computers. Operating System is the least important part of that configuration. As they have mentioned they could have used FreeBSD. In database applications, id management, web servers etc... are all important apps for the companies. The operating system is simply a standard for these people, so whenever you write for that operating system you can move it to another system and still run it.
On the desktop, this is not going to happen. The slashdot mob dream about this, but bringing software to consumers is 100-fold harder in almost every means. You have to provide a way for consumers to patch their systems, you have to make this automatic etc... Considering the fact that slashdot mob is making all sorts of wrong assumptions about Linux, in terms of stability, security, and so on Linux is so so so far away from consumers. Fixing these problems require a lot of energy and money. Somebody has to spend money to bring Linux to consumers. Sun was trying to do that, but it looks like they may not do it anymore. Sun was the only company which tried to do that, neither IBM nor HP tries to bring Linux to consumers, because they know quite well that it just won't succeed. If you think about it, if Linux had a chance these companies wouldn't wait a second, because they are far more powerful than Mandrake, Lindows.
At the end, as years pass by more and more slashdotter will find himself/herself chasing his/her tail. After 10 years for example, I am 100% sure that Microsoft will still be the dominant player. People are really too stupid to even comment on such a possibility.
The article is now mirrored here:
http://www.citizenlab.org/opensource/
Sticking it to the MAN since 1980
Nuff said
http://msdn.microsoft.com/
Seriously. All the documentation you could ask for, and then more.
...most documentation isn't even good enough to wipe your arse on, free, open source or otherwise..
It's no surprise people who write software for "fun" won't waste time writing 'boring' documentation. But there are two easy solutions to the documentation problem:
1) Implement a Wiki that allows people to document for you. Those of us who use OSS are probably more than willing to clarify (or add a few pointers) in the Wiki 'documentation' if we encounter and/or solve an issue.
2) Provide these new users with information on where the answers to common problems can be found. Between Forums, Google, IRC, and Newsgroups there will be few problems that haven't already been covered... even in smaller OSS projects. (I realize the IRC and Newgroups may verge on 'geek level software' but combined with a Wiki, the important IRC converstations stand a good change of being recorded somewhere that the 'lowest common denominator' can find.)
Basically, your argument is "if you don't like it, code it yourself," which has been debunked endlessly in the past. In fact, it reinforces the point that Linux and its related projects are designed by programmers, for programmers, which is something that sadly doesn't look like it will change any time in the coming years.
If you don't want users bitching about the garbage usability of your piss-poor app, keep your stuff on your private network and never release it, and then don't whine when your precious OSS isn't widely adopted by users. I'm sick of this whiny "you should be grateful for the privilege of using my app in the first place!" mentality. Why should I care if you volunteered your weekends to make it? You put it out online, so I can only assume you want it to be used. If you don't want it criticized, keep it to yourself.
The "you can't criticize because it's volunteer work" is never going to fly if you truly want a "Year of Desktop Linux."
That is just as valid as saying that the only thing holding back the widespread adoption of SkyOS is that Dell, Gateway, and the rest are not shipping boxes pre-loaded with that O/S.
If the product is not REQUESTED BY THE CONSUMER then it will never be put on the boxes! There was once a point in time when Windows was not pre-loaded on boxes, but did that stop Microsoft?
I think you're approaching this particular chicken & egg debate from the wrong angle. If the points raised in the article were all addressed then there would likely be the customer demand to pre-load and ship Open Source software.
(A close second to why that is such an absurd statement is that if the box makers could simply load OpenSourceWare and ship, then they won't have to pay any licensing fees and will make more $$$ -- which is something they are ALWAYS looking to do. Clearly, not enough people will buy machines that are configured as such or we would be seeing "Dude -- you're getting a Dell with Linux!" commercials.)
Go to MSDN and read up. For instance, making a Windows device driver is common knowledge you can easily look up anywhere.
I don't see what Windows not shipping with programming documentation has to do with anything. That would be a waste of space since 80% of users would never bother with it anyway.
I can't say I'd agree with anything in the article.
The points about KDE and Gnome are totally the opposite from all of my experiences. OS X it utterly counter-intuitive, especially when you don't have a scroll wheel or a right-click! Open Source interface design varies, I'll agree with that, but I wouldn't class it as fundamental problem.
Documentation in Open Source projects is world class! A wealth of HOWTOs, extensive in-project documentation, an amazing community - its all there. Compare this to Mac OS and Windows where the "built in" help is meant to guide you through. Trying to do something other than click on an icon in Microsoft Windows? Want the documentation for it? You're out of luck...
The whole article is pure insanity. It seems like the author holds some sort of grudge against certain Open Source projects!
What holds Open Source back is a lack of a coherent marketing campaign with extensive brand awareness.
Ms Levesque in her article makes good points only if one is willing to oversimplify, as she did.
One should perhaps consider two seminal projects: Mozilla and Firefox. Both come from the same [professionally developed] code base, yet one is bloated yet very usable (Mozilla), the other is lean geeks-only [even I use it...] and unintelligible (Firefox), because driven by just 1 (one) core developer on an ego trip.
Methinks the problem is not so much the business model, rather the development model. Look at Linux: a swarm of developers, but only one central control (Linus Torvalds) who decides what gets into the kernel and what doesn't, though after reviewing zillions of possibilities.
Folks, we are looking at group dynamics, not at software-please go get some brilliant sociologist stat, please... Maybe they can tell us something really useful, not the class inheritance gurus...
Thufir Hawat
Part-time Mentat
A well designed program does not need documentation.
Actually, the definition of "good" for a piece of software is that it does not require documentation.
notepad.exe is good, for example.
emacs* is a little worse...
Cheers...
~Ola
I would volunteer for UI design. But there's other things like widgets that need to be set up as well. And we can't forget the lovable copy & paste issues (and not just that it doesn't work, but that the keyboard shortcuts are *NOT* the same across applications!).
Someone needs to lead, make some decisions, and people need to follow. If no one follows, we'll still have some apps with good design and some with bad.
Microsoft is a platform monopoly -- they could care less what tools you use as long as you are targeting Windows/NET. Their tools are largely agnostic to what language you are using.
Open Source tends to be full of language and tools bigots. Use Eiffel for Gnome instead of C! Use Python instead of PHP! Use Perl instead of Shell! Use Lisp for everything! Don't use Mono for anything!
Since there's no standards for language bindings, this leads to a tower of babel and a lot of interoperability issues.
"Developers focus on features in their software, rather than ensuring that they have a solid core." why the fuck would we want to change this practise? OSS strength is in solid stable systems, purely focusing on flashy gimmick crap is WHY most windows software SUCKS
If you mod me down, I will become more powerful than you can imagine....
I guess it never occurred to you that something could be both powerful and usable. Just because someone makes a better desktop doesn't mean your precious CLI would ever disappear. Why would one magically invalidate the other's existence? The CLI would still exist, you could run the desktop if you wanted or don't bother. Or run something that fit your needs.
You're whining over nothing--just an elitist mindset.
Not that I disagree with you about how people are just remaking Windows on top of Linux--it amazes me people are actually ripping off start menus, taskbars, and integrated file/net browsers. All the poor elements of Windows, meanwhile as they criticize it. Sorry, I don't like that it takes seconds to load a Home folder.
One interesting fact which is underlying in all the 5 points is that Open source still just caters to the more than computer literate GEEK.Most Open source programs still make a lot of assumptions and that creates problems for the average joe.
That is why most of the open source software is just used by geeks and normal computer users have'nt even heard of a majority of them!
Lord of the Binges.
There are plenty of applications which exhibit all the flaws mentioned by the paper -- I don't disagree with any of the summary points.
Most of those applications are in-house proprietary business applications, not open source. The author is complaining about a general problem with the politics and pride of software development, not open source methodology or products.
If someone chooses to develop a tool or product that meets their personal needs, and offers it up for others to use or extend, they aren't typically getting paid for it.
If you don't like it, extend it, fix it, or hire someone to do so. Don't dump your personal application requirements on community members who are just trying to share what they have.
You want professional UI designs? Hire some developers to fix your favourite open source project, or fund the existing project development team. My idea of a professional UI is basic, plain, and functional -- no skinning, no beeps, no video, no candy.
Nothing pisses me off more than someone who demands the world for free, then bitches and whines because they can't have it without putting in an effort.
I do not fail; I succeed at finding out what does not work.
I don't get why people obsess over developing more and more sidebars and button panels while forgetting very basic desktop elements like binary installation/uninstallation APIs. Those should have been in place by Gnome/KDE 2.0 in the 90s. After that should be a unified GUI toolkit akin to .NET or Cocoa in its level of intuitiveness. This ridiculous situation where I have to install QT, KDElibs, GTK, Gnomelibs, Gnomebase, KDEbase, etc. just to be able to run each other's apps, is ridiculous and so hilariously unprofessional (especially in the way people seem to overlook that fact).
Same thing with how XFree86 took a decade to be able to change its own video resolution (not the same as the keystroke combination which didn't change resolution in the way that RandR/Windows/etc. does...believe it or not, the user might have a reason to change resolutions and that is their choice).
1. UI Design
I'll certainly agree with this one! Discounting the Mozilla family, from what I've seen, a large portion of our OSS has GUI's that blow chuncks. Referring to ESR's recent rant I can see where this thought comes from. Quite often, even in the major distro's, UI's will act with random flakiness at a minimum, and crash with some regularity, but at least they don't take down the whole machine.
2. Documentation
Ok, but only because the UI is so poorly designed you NEED dox to figure it out. In all my years of using Windows programs, I can't think of but a time or two when I really ever needed dox to figure it out, but on OSS stuff I find myself digging through them all the time, simply because the UI isn't intuitive enough to 'show me the way'.
3. Features
I'm not so sure about this one, at least on command line programs and daemons. Options are what it's all about...making it do more with less! more bang for the buck! I'ts back to #1 again for me. It's really mostly the GUI programs that exhibit this 'problem'.
4. Self
Yes and no. Quite often, the only reason the OSS version exists is because someone wanted/needed more features than the existing proprietary version supplied, and that's all the reason one needs to write it. The solution here is really one of get your own hands in there and add whatever enhancements(I hate that word) you feel are needed and improve it for everyone....
5. Religious blindness
Again, back to #1. Proprietary software has UI designers and marketers that we seem to not have. Although I can't see how much of anyone can avoid being exposed to Windows programs on a regular basis even if they don't use it at their own home of work. With 90% on the desktop, that means 9 out of 10 pc's you touch are running it
I'd say overall we need to solve #1 in a bad way and then these other 4 will domino into nothingness.
(Stolen sig) Remember: it's a "Microsoft virus", not an "email virus", a "Microsoft worm", not a "computer worm
Disclaimer: I have not read the article, but the gist of the post is reasonably clear and see things the way I see them... so it must be right!
How many open source projects have non-developer, domain experts with significant roles in their projects? I know there are some efforts to solicit this kind of input, but it seems if you are writing a word processor or an inventory management program a project would do well to recruit end users that are true experts in their respective domains. Even to the point of having them on the project's top management committee. Sure they would probably have to be categorized as 'power users' to be effective and they should be fairly senior (as to understand the big picture, not just their own direct perspective.)
Also, how often do usability studies happen going into a release? It's one thing to get something programed, but another altogether to ensure the good intentions of the developers are really good in a more absolute sense.
Just some thoughts.
Yup it sure has been now... so when can we expect to see the corrected article
Donald 'Duck' Dunn: We had a band powerful enough to turn goat piss into gasoline.
i mean come on how many emacs or vi is superior for everything posts do you see here.
the fact that most geeks pride themselves for being dificult to understand and foster a voodo computer guy aperance is why opensource will never be taken seriosly.
so as long as probramers and it people are trying to ubergeek eachother and their user base. open source will never fly.
Problems with Open Source Software. It can't be. Not true. *Plugs ears* La, La, La, La, La, La, La. I can't hear you!!!
(Coming back to reality) OSS does have problems. In my experiences the problems are not techical but are with the interface. I started using Linux in 1998 and over the past six years the UI has improved. Linux is a mature OS and can no longer be considered a hobby OS but with that being said the interface, (KDE, Gnome, ect.) is still not as clean as Windows.
I think the article is pretty accurate.
The first four problems are natural outcomes of what you'd expect if you left a bunch of coders alone to work on projects unburdened by user or employer expectations.
Most programmers are happiest writing new features (as deemed by ourselves), preferrably using the coolest technology possible. We don't like fixing bugs, maintaining old code, designing UIs or writing documentation.
We shouldn't find it unexpected that there is a lot of feature rich but buggy, incomplete and poorly documented open source software out there.
Development tools suck. The sheer amount of hackery that is needed to even get even a simple form on the screen (let alone organize a big project, produce the makefiles, etc), makes focusing on UI, easthetics, ergonomics and usability very very difficult.
We still battle with memory leaks. Show me an open source language with good and clean syntax, with a nice and open/free development environment, which is stable, cross-platform, fast, employs all the latest software development techniques, has a good number of cross-platform libraries and it is correctly documented. Is there such a beast ? nope. OSS still struggles with C/C++ , memory leaks, compatibility problems, and Gnome (the situation is better with Qt, but Qt is not entirely OSS).
At least the big companies can afford to have primitive tools, since they can pay for UI designers to come up with the GUI. But the load is very high for an open source programmer (or a team of programmers).
When open source software is no longer a swiss army tool for the computer geek, but a tool for people to do their work, it has no chance of being adopted by the masses.
We clearly need better tools (a better programming language, for starters).
And maybe that's the problem.
I'm one of those guys who can't wait to take a hammer to the options and smash sh!t like that Clippy into the flaming embers of hell itself. Don't hide stuff from me, show me fully qualified paths, give me dangerous options, don't tell me what to do, don't hold my hand, I don't want your useless tip of the day, that kind of stuff. And I hang around with people of a like mind -- my friends are all techies, and they, of course, feel the same way I do about Clippy (I think.) It's an evil blight upon computerdom, foisted off upon us by Darth Gates.
So you might say I was more than a little surprised when I was setting up Office for my wife and I was going in to turn off the "dog" agent (one of the Clippy variants) when she said "Oh, don't turn it off. I like it."
Stunned silence. She liked it. You could have knocked me over with a feather.
Here I was, having spent the last thirty-one years of my life learning how to use and program computers, bursting at the seams with pride of my "|\/|4D s|<i11z", secretly laughing at those people who don't know enough about computers to even turn Clippy off, only to find that my wife of twenty years uses Clippy. And she likes it.
Fortunately, I was too stunned to open my mouth and say something that might have been hurtful to her. It gave me time to think about what she said. She liked it. She found it useful. And I consider her to be a very intelligent woman.
So, now I at least understand that there is a place for Clippy, at least among the vast majority of "users" out there. And Microsoft apparently understands that, too. Open source developers? We're still mocking Clippy. But we should be learning from him.
John
From the abstract, emphasis mine:
Seems they are only "fundamental problems", if everybody accepts the premise that the highest goal is to become the premier choice of "the general public." I personally don't agree with this agenda at all. In no particular order: Innovation? Quality? Free-as-in-possible-to-use/distribute/complete-acc ess-to-understand/modify/contribute-back-to-the-co mmunity? Etc.
In any case, briefly looking at the list of these "fundamental problems":
1. The lack of focus on user interface design causes users to prefer proprietary software's more intuitive interface.
Do you agree? Is there consensus on this? Is that really a fundamental problem? I'm on fluxbox when I can choose, but are KDE/GNOME/et al. so divergent and/or different from Windows or OSX?
2. Open Source software tends to lack the complete and accessible documentation that retains users.
Huh? As opposed to what, having the same amount of documentation of e.g. the Windows APIs as Microsoft's own coders (who are the competition - Office apps, media players, browsers, etc.)? Oh, wait - it's talking about user docs. Ok, but isn't that always a problem, everywhere? The article offers "Documentation should always cater to the lowest common denominator." The best doc you read was a dumbed-down so anyone could understand it? I'm unconvinced.
3. Developers focus on features in their software, rather than ensuring that they have a solid core.
Feature-creep is hardly more prevalent in open source?!? "Shipping the prototype" is such a standard practice in the closed-source corporate world it's not even funny. Additionally, the article writes about the small 'core' tools doing few things well - I thought that was a fundamental design principle in *n*x.. and subsequently GNU/Linux, BSD, etc.? E.g. mplayer doesn't contain any of the bloat found in MediaPlayer or RealPlayer (been a while since I saw them though, they might've become better..?).
4. Open Source programmers also tend to program with themselves as an intended audience, rather than the general public.
I don't understand this at all, what is the problem? When did Joe User become more important than making the software do what you want? And making it free, Joe User can use it to his heart's content - within the terms of the licence under which you release it. Why is creating software to solve your problem a flaw? If your motto is "General public acceptance or death", it seems to become one..
5. Lastly, there is a widely known stubbornness by Open Source programmers in refusing to learn from what lessons proprietary software has to offer. ;)? But seriously, is it so? Stubborness in hating/flaming Microsoft, etc., perhaps, but surely not using ideas from them (the GUI, Mono, and so on)? If anything, I'd like to see even more divergence from "industry standard 'best practices'".
One problem might be lack of source
668.5
Alot of what was said I agree with, alot I do not, these points annoyed the hell out of me though.
"The most common response to this complaint is "if they can't understand it, they're not ready to install it," but then how are they expected to learn? Documentation should always cater to the lowest common denominator."
This is founded on two MAJOR misconceptions which I'll address in reverse order. Documentation should always cater to the lowest common denominator... why is that? Documentation should be be complete, not concentrating on ANY particular level of user. Documentation for idiots is what proprietary software has, and it's worthless which leads to my second point.
If they can't understand the documentation they absolutely aren't ready to install the software, your average computer user has no buisness installing an OS and/or software for that OS, that's what technicians are for. If someone would like to learn and be qualified to install program x (which by no means implies they are then qualified to install program y) then they should lookup and learn what they need to in order to understand the documentation.
With that said, most projects DO have lousy documentation, not only is it incomplete it's also generally inaccurate, sometimes blatantly, wrong switches given in example commands, sometimes outright wrong commands to do things like flush the cache of proxy x etc. This shit does need fixed.
"Also, anyone who has ever had to debug a problem in Open Source software knows that the answers don't lie in Open Source software documentation: they're found in Usenet articles, bulletin boards and chat logs."
And this is different from proprietary software how? I've seen few (read none that come to mind) proprietary apps which have good documentation. Most cater to things which are painfully obvious to anyone who can understand the documentation and completely ignore any actual useful content. As a result google provides your real documentation whether it be proprietary or open source.
Project X has fairly lengthy documentation, which isn't always the case in Open Source projects.
What the individual does not reveal is that Project X is MS Windows. We know it comes with tonnes of documentation--starting with the EULA.
Besides, we all know that open-source, be definition, comes with more accurate documentation than any closed-source application could ever. I mean, open-source has the code there for anybody to read. Nothing speaks more to what the application does than the source!
What those who want activist courts fear is rule by the people.
"You get what you pay for."
With very few exceptions any software publicly available for free is likely to suffer from the exact same problems, Open Source or not. I don't think this is an issue specific to Free Software, but rather software as a hobby. It just happens that there's a lot of Free Software being released as a hobbyist effort.
I Browse at +4 Flamebait
Open Source Sysadmin
If you have to work for any company who wan't a pretty cheap system, you'll probably be paid to make a pretty user interface for a free/open source software. So the end user interface is just, most of the time, just in the todo list. And most of free/open source programmer prefer writting a UI than a whole program, because in the whole program, they're going to write the UI anyway. Most of free/open software used as desktop software is significantly comprehensible for a sysadmin who install the software for the users. If developping countries using free/open source, it's probably because no end user try to recompile their X server before using it. Ever used Portage or RPMs ? Feature centric developpement is all but normal when people are coding for fun. Don't you know the old trick : /* function cool3dGraphicsWithThunderAndLightning(void) { ...
}
*/ ???
And the religious blindness is just as astonishing. Don't you that mono's developped by sleepwalking coder ? And does the KDE have a winxp like interface ? And does mac os X have applet running in the task bar like gnome ? Most of the people that are adding function at late nights don't care about the ms-likishness of the thing, they're just knowing that they're going to save two keystrokes per months.
Ignoring the problem as it relates to a medium to large vendor of Free Software for a second:
If I write an application to suit my needs, I will use alpha and beta versions myself, and address any problems that come up. There's no way I'm going to write test-cases and go through a formal testing procedure, because I'm not motivated to produce a mature and complete application...just to do the bare minimum to satisfy my needs.
As for "asking for input from random people who will use your app on the web", who better to do it? People who are using the software are on many disparate platforms, which may not all be available to a developer. Those same people have just as much interest in seeing problems fixed quickly as the developers..possibly more so. Why do proprietary software vendors release beta versions of their software for interested parties to evaluate? How are *they* any different? Because those betas are released under NDA and not to anyone who wants to use them?
Good question. The answer is that I am doing it for myself, but it can be useful to others. Before the age of the public internet I actually rewrote a couple utlitlities which are now free. I would have like to have just used one that soemone else had written or taken what they had done and change it to fit my purposes. Thats usually what I do with free software, so to be fair I release back what I've done with it. Usually people probley ignore my contributions, but some of it can be useful.The point is that we as a soceity advance faster if knowledge is free.
Well.. maybe. Or Maybe not. But Definitely not sort of.
Is there something wrong with that?
Clicking on icons is no easier and no harder then typing a single command to install all of your apps (I would actually argue that typing the command is easier), it just depends on what the user has been previously exposed to.In fact in linux, I would feel uncomfortable clicking an icon on the desktop to install anything, just because I've become so accustomed to the command line.
Normal people that live most of their lives in the real world are accustomed to turning a knob or pushing a button to achieve a result. Therefore it follows that pushing a virtual button (an icon) on a screen will be more easily understood and accepted by a user. You don't walk up to a real door and type "open door" to open it, do you? Why should people be expected to learn the computer's commands, instead of making computers work more like people do?
Also, a DLL failure on the part of the installation package has nothing to do with clicking vs. typing to install an application. I've seen more command line installers that don't even give you a reason as to why they failed, but that's not the point.
Humans will always "get" clicking faster/easier than they will remembering some command that they have to use once in a blue moon.
We may as well just call it Project X11R6. We all know what X is, Michelle Levesque.
None of those are fundamental problems with open-source software at all. My open-source software (Audacity) may not be perfect, but it doesn't suffer from most of those problems, and it's very popular (millions of downloads). Mozilla, especially FireFox, doesn't have those problems. There are hundreds of other smaller, special-purpose open-source programs that are easy to install, easy to use, and have great documentation.
So clearly it's quite possible to create open-source software with all of those qualities.
But anyone can make open-source software, and open-source software can survive and be moderately successful without any of these traits. This is a good thing. Unfortunately it means that for every stable, easy-to-use project on Sourceforge, there are a thousand unpolished or impossible to use programs, and that's not counting things that are just plain unfinished or in beta-testing. People need to realize that:
1. Open-source software can be just as good (and better), easy to install, easy to use, well-documented, stable, and supported as any commercial software. It requires a lot of commitment from many people to bring it to this level, but when there's enough demand, and a usually a few generous sponsors, it's quite possible.
2. Most open-source software is not at this level. That's okay, nobody is forcing you to use it. You can either contribute (either help improve it or document it yourself, or pay someone else to do it) or you can find another solution.
Firstly, I think the author is WAY off with the comment that open source software is feature driven. I believe the contrary is true. Open source software is design driven because of one of her other points - it is made for other developers. You will not gain much in terms of bragging rights if your underlying architecture is sloppy, especially when everyone gets to look under the hood. And so what if is is made for other developers. I like the UNIX philosophy and the command line and so what if she doesn't! Open source software is kind of the kit car of the software world. If you are into cars you love to tinker but if you just want to go to the store you don't want to know where the manifold is. Its all about CHOICE.
rootsmith Inc.
... taking open source software, gift wrapping it, and selling it to the masses.
Hence, companies like Red Hat are able to turn big bucks in profits.
While the inner hacker circle may have the above mentioned faults, the "gift wrapping" people are able to make enough cash to compensate for that.
The radical sect of Islam would either see you dead or "reverted" to Islam.
You don't get it, people don't want to learn anything new. People want to walk up to the thing, put a blank disc in and *click* burn.
If you are spending all of your time learning the computer's way of doing things, then you're spending less time making the computer do things the way that you want them done, and you're wasting everybody's time.
GUI's are the way to go because in the real world, you interact visually. That's why you have eyeballs and hands.
UI Designers talk big but when it comes to helping out the Free Software community, they are nowhere to be found.
Thanks for nothing!
First off, First Monday touts itself as a peer-reviewed journal. I have to say, that this is probably the shittiest article I have ever read in a peer-reviewed journal (related to serious technical material---most soft science journal are essentially worthless). First Monday just got added to my list of journals to not waste my time reading
These same 5 attributes exist in the closed source world. I'm sure many of you have used closed source software with poor UI's, documentation, feature-centric, etc. These problems are present in all software. Perhaps they are more prevalent in open source software, but that argument would have to be well-researched to be convincing, unlike the slop in this article.
Just do a "s/open source/closed source/g" on the article, and it still makes sense. Even the part about religious blindness is applicable to closed source developers!
How about insulting market speak passed off as documentation? For games, docs that are not included so they can be sold separately in hint books? Docs for motherboards? The worst documentation I've seen recently was for some blade servers from IBM. Among other things, IBM didn't make it clear the servers, intended for the US market, required 220 volts. Also don't care for the patronizing tone that tax program interfaces adopt.
Just ask Microsoft what Office is:
Microsoft Office XP Professional puts the features needed within easy reach at all times. Working alone, experience a smarter way to work. Working with others, collaborate more effectively. And increased reliability means never looking back - which is perfect, because your best results lie in front of you.
Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
People's mentality is that the software they use is 'someone else's problem'.
Open Source doesnt work like that.
Until people realise that they have the ability to change their own software for the better, and get off their asses and do it, then they will of course be better served by paying for someone else to do this stuff for them.
Open Source owes you nothing.
So keep saying it will never catch on, keep saying it wont ever be as good as commercial alternatives, keep whining, bitching and moaning, i hope that wasting your time and energy like this makes you happy.
Meanwhile, the people who are actually working on Free/Open Source software will simply continue to get on with it, the same way they have been doing it, and quite successfully, for years now.
I gots ta ding a ding dang my dang a long ling long
The further problem is the usability is a function of research; it usually costs money. At the very least it needs a number of users giving adequate feedback.
I've tried but to date my experience has been a negative one. Even in the paying software community usability and UI design are relatively low status activities. Engineers and the often resist the fact you are basically making more work for them. In OSS, without the influence of an insightful management, status is very much all. As such its not a social structure that promotes usability very well.
Now if only I could set it up in a "Neko" mode where it can play "chase the mouse" with the mouse pointer...that would be cool.
Note that what I am talking about has nothing to do with the help system. I suspect that the majority of the people who actually "like" the Office Assistants are probably fond of them for toy value, not as a way of searching for help. I seem to remember that the "Dogz" and "Catz" system toy programs were somewhat popular a few years back. Those programs still seem to exist... http://petz.ubi.com/.
Knowledge is power. Knowledge shared is power multiplied.
- P2P is a black market
- Black markets are a normal reaction to fixed pricing
- The RIAA has dug it's own grave by monopolizing the music industry
- P2P is not the first music black market to come about. Simply the most effective.
There is also the Music library upgrade factor. Every time a new technology comes out the recording industry reaps huge profits because consumers have to re-purchase the music they love. Most have already upgraded their music library from Tapes to CDs. the music industry has been desperatley in need of a new technology that is advanced enough to encourage everyone to upgrade their music collection. Along comes MP3. (see above monopoly)By looking at slashdot through your negative slanted lens and seeing nothing but faults you are committing the very same biased assumption that you accuse
"I can not bring myself to believe that if knowledge presents danger, the solution is ignorance" - Isaac Asimov
The probelems pointed out in this article have brought up much discussion of motivation. It disipoints me to see that Free Software is being assoicated with this article. Many of the comments on Open Source lacking real motivation to focus on making applications everyone can use are correct. They do not apply to Free Software however. Those of us who assoicate ourselvs with the Free Software camp are motivated by giving users Freedom, not personal gain or satisfaction. It is here that we see Open Source become week, once stipped of the philosiphies behind Free Software it becomes week, and as the author points out becomes more of a closed comunity, not wanting to let others in (reminds me of propritairy software a little).
I remember RMS saying that he wanted the GNU system to be easy to use, like the Macintosh, and that the goals of the GNU system were delivering Freedom to all users, not just software developers.
I often think of GNOME and KDE as the Free Software desktop, vs. the Open Source desktop. While KDE strives to pile on features to create a geek-centric UI, the GNOME project more and more moves towards simplification, standardization and generally making a desktop environment that is easy to use. Obviouslly GNOME has a long way to go before it can compeate with a GUI like Apple's MacOS X environment but the changes are visible between recent changes in 2.4 to 2.6 (clearner, simplified UI). The thing that strikes me as odd is that many people are against the changes occuring in GNOME because it's becoming "too user-centric". Funny, I always thought the goals behind Free Software was to produce Free Software everyone could use, not just the select few.
rps
From experience I can attest that all these problems can be encountered with closed source software as well.
/. knows that MS doesn't dominate the market based on technological merits. When MS was a smaller player what set them apart and catapulted them to the top was one key innovation: Bringing modern marketing techniques to the fledging PC industry. Unless Open Source software can match them on that end the revolution will be delayed indefinitely.
But software vendors can overcome this hurdle with professional sales organizations.
Even if your UI is weak, your documentation lacking and your product only half baked you can close sales well exceeding $100K. And this is from 1st person experience being on the selling side.
So did I help to rip off my customers? Certainly not. The value that they were able to derive from the product still by far exceeded the cost and they knew that we'd stay with them through-out the implementation and were there to help them to get their feedback incorporated into new releases.
One could argue that this only applies to big enterprise scale software and make the case that there always will be room for proprietary software (what developer wants to write for instance ERP software just for fun?). But I don't think that is the lesson to draw from this. Rather I believe that selling and marketing is what holds OSS back more than anything else. Economists will tell you that you will always sell more products at a smaller price point. People with real world experience know that this is almost always BS. Demand has to be created. The mainframe distros of Linux cost thousands of dollars but sell quite nicely. OSS needs a business model that allows to make lots of $ that in turn can be invested in marketing. Pretty much everybody here on
While I agree with much of what the author says I think she needs to take into account the reasons behind some of these truths.
1. User interface design
I see bad interface design not just in the open source world but in the commercial world too. I have seen absolutely horrible interfaces in Medical, Legal, Law Enforcement, ERP, and CRM packages that cost hundreds of thousands of dollars. The cause is not the development philosophy. The cause is inexperience in designing a good GUI. If you haven't been forced to do it a few times and internalized the lessons you learned, then you won't build a good interface on your next project, and it doesn't matter whether you are working for CA, EMC, or just for the good of all mankind.
2. Documentation
Open source project teams are often nothing but programmers. Open source projects change quickly so keeping documentation for end users in tune with the code would be a waste of time and motivation. End users trying to use version 0.62 of Project XYZ shouldn't expect a finished product. This would be like trying to use the Windows NT 5.0 beta in a production environment and then complaining that it doesn't work worth a damn and that the documentation was written for Windows NT 4.
3. Feature-centric
This is a valid concern, I believe. It is a fact of human nature to want to do the fun, cool, high profile stuff and leave the dull tedious bits for later, and to top it off many OSS projects are being written by college age kids who expect instant gratification or they lose interest. Code monkeys on commercial projects ultimately have to answer to management. This tends to keep them more disciplined. OSS developers must have the self discipline to run their project the way they would if their career depended on it.
4. Programming for the self
This seems mostly a rehash of her User Interface arguments and my comments are similar to what I said above. I really like the way she spoke of a 'target audience' though because building a user interface really is rather like writing a paper or giving a speech. How well it is received depends on how the audience perceives it, not how the speaker or writer conceives it.
5. Religious Blindness
I completely agree with the author here. I have never seen an "innovation" in Windows that I didn't first see somewhere else. Why should OSS projects turn up their noses at the Windows interface when much of it was taken in bits and pieces from Linux/Unix/Mac/OS2/whathaveyou in the first place. Emulate the interface that 95% of all computer users are familiar with now. We can get jiggy with it later.
I agree with the artile completely. I have just one exception to the rule:
MySQL.
Well built for what it does, great documentation, user interface via SQL and MYSQL on par with or better than similar products.
Of course the level of UI needed for those types of products is pretty low, but still it's well done, as is the documentation and the book by DuBois.
Did you read me ask for a 'Year of Desktop Linux'?
Nope and it wouldn't or shouldn't be Desktop Linux, It would be the year of Gnome, or KDE or something else Linux is the Kernel, not the Desktop, and the OS is GNU, not Linux.
As for not wanting my code criticized, I could really give a flying F---!
You can be grateful or not for using my garbage app, use it, or don't I don't care, it's written by and for a community of developers for our own purposes, if it fails to meet our needs we'll quit working on it.
Anyone (yes if you don't like it code it yourself, or look elsewhere) can continue on with it when we quit, or even fork it and move in the 'right' direction if we won't.
You the user retains all the rights, and more that you get with closed source on making choice, heck you can even choose closed source the worlds big enough for both.
There is a claim that Michelle makes that just yanks my chain.
The claim is in the title of the article 'Fundamental issues with open source software development', it just isn't so.
The 5 items are not 'Fundamental issues', they are issues for concern and they will all be solved when critical mass is reached and a 'Open Source Best Practices Seal of Approval' is developed.
But be ready for the bitching, and the lawyers when it is.
Until then the seal of approval is usage as it is for Apache, Perl, PHP, MYSQL, and Mozilla, the very hih quality applications that Michelle chose to exclude in the note for the supposed reason of '...some of my statements do not apply to them. I made these generalizations for the point of simplification, and not for any political motivations.'
Actually they were left out because if they were considered there wouldn't have been cause to produce the FUD title, and it would have taken much much more woork to write an article with the appearence of validity.
My prefered OS of choice is Forth, I don't shove it down anyones throat, I don't sneak it into thier systems or deliver it in fancy coloured envelopes via postal mail.
IF you want what I write with it, you'll accept my
o simple UI
o my extensive and mostly un-needed documentation
o the list of features that were deemed useful,
o Programming for myself (and others with the same needs)
o my Religious blindness (join the faith or go to Redmond)
o My price to get it your way, because it's GPL not 'free' as in beer, but free as in freedom
As an Open Source author there is only one Fundamental issue that I can see as un addressed and that is ownership of code routines, right now they are tied up with the app they are found in, even if the app is unrelated to the new use.
I'd like to see a variation on GPL that can be used for code routines and alogorithms and allow open source to rip the face off old methods of development by reinvention and obfuscation.
Michelle's points are by and large valid, just misrepresented.
But should we even target "non-technical" users? I've always thought that open source was better for programmer types, and people who like fiddling with stuff. The core open source philosophy of "If you don't like it, fix it" loses all meaning when you apply it to people who have neither the time nor the skills to fix problems.
Personally, i think OSS should stay the way it is now, with it's focus on programmers. It already does this well, and focusing on the desktop will only take minds away from improving it. Let companies like Microsoft deal with the clueless end-user types.
And the l33t shall inherit the 34r7h.
The primary reason OpenSource is rare 'on the desktop' has virtually nothing to do with whether it "can do this" or "can't do that" or has "too many ways of doing X". The primary reason that people "choose" Windows on the desktop is because "pretty much everyone else uses it".
I promise you, less than 2% of computer users even know (or care) enough to even be able to tell you that they "don't like Linux because of package management fragmentation". Puh-lease!! 98% of users are like "uh, everyone I know uses dis 'Windows' thing, wods dis 'Linux' thing anyway, never heard of it". These people are not "choosing Windows" in any sense, and especially not based on rational technical analyses of which OS does package management better. My sister uses Windows because that's "the standard", she has never even tried Linux, she certainly isn't going to be telling my anytime soon that she "didn't like Linux because she couldn't find rpm on the Debian system she tried". Get real.
Linux doesn't "need" anything other than critical mass. Good luck. The only way this will start happening is if e.g. large corps and governments start standardizing internally on Linux-based desktops.
In French, "Michelle", can be an man's name as well as a woman's name. The only clue that the author is a woman is the text @ the bottom. If that fellow's only fault is not reading the bottom, then I won't complain.
testing out my trending skills
I recommend you try reading something by Don Norman.
"Since the beginning of the hacker age, programmers of all types have been "unfortunately intolerant and bigoted on technical issues" [8]. So when it comes to devout Open Source programmers, there's a strong tendency to immediately reject all proprietary software and anything to do with non-Open Source programs."
I was in #Linux on the Undernet recently, which is a good case in point. First of all when I tried to enter the channel I was banned on arrival because my nickname contained a | character (the nick without that char was taken) and then on attempting to enter the channel again a few days later I again found myself banned on arrival with no reason given. Even while I was in the channel, the level of elitism and snobbery expressed in a number of people's remarks was sickening...and I can well understand how new users can be put off by it.
While it's true that not everyone in the community is like this, (irc.linuxfromscratch.org has some very helpful and friendly people) Eric Raymond in particular has come across in his material as one of the most deeply narcissistic human beings I have ever heard of. Yes, a lot of his writing is very insightful...but it could have been a lot more so without the attitude. The man desperately needs to get over himself.
I realise that this is a side-effect of the hacker culture in particular...when motivations are based on ego gratification, the egos in question are bound to get rather large. I remember seeing this element in the film Hackers a bit back (and flame me if you like, but I've read enough to know that that film wasn't an entirely baseless portrayal of stereotypes) and thinking it was deeply sad that the entire motivation behind people in the group seemed to be a game of oneupsmanship...who could make themselves look the most "elite" by essentially drawing the largest amount of attention to themselves with computer-related practical jokes. It wasn't about simple "crimes of curiousity" either...A lot of the time it involved doing things which were genuinely obnoxious.
As I said, I'm aware that not everybody in the Linux community is like this...there are a large number of humble, friendly, and patient people doing some fantastic work towards promoting the operating system. But at the same time, there is also a small minority (it always seems to be a small minority) who consider themselves just too freaking cool to want to deal with anyone else, and also the last holdout of human intelligence...when quite simply, they aren't. A Linux user's fecal matter stinks just as much as a Windows user's does, and I believe the fact that there are Linux users who don't realise this to be the single greatest issue holding Linux's mainstream adoption back, more than usability or anything else.
This is exactly the kind of misunderstanding that causes UI design to be swept under the rug by most open source projects. UI design is not a matter of pretty icons - its about avoiding creating software that actively discourages people from using it.
"It's Dot Com!"
text based config vs gui/app based config
/usr/local so perhaps that shouldn't be the default, or worse ONLY place the installer looks if the app in question is a plugin or some such.
Why is this is a debate or an issue? Why do most projects still get this wrong? Having configuration stored in a text file is absolutely the way to go, this has tons of benefits, probably the biggest and least mentioned is that the configuration can be passed around or backed up. So although you spend 3hrs configuring server x and services, you then backup the conf files to a floppy and pop them back in place the next time.
Text config is also the most flexible way to go, you always have the most power and control (or potential for it anyway) with text config. That's great, it covers half the battle.
What does that have to do with the absolutely neccesity to have a configuration program? At the cli I should have two options, the text file direct or ncurses configuration app which offers 99% of the functionality available to me by editing the file directly and does so in an intuitive manner. At the gui I also have two options, the gui based configuration app which works like the ncurses one and editing the file directly. Alot of projects come close (although usually they offer one or the other) but they make said app a one time shot, rather than say, letting me configure, and then *gasp* later modify rather than completely start over my existing config or manual modifications.... and this is produced by the same people who already wrote code to parse the config file and read in the values!
The other issue here is conformity, despite configuring dozens of apps via text file every day about once a week I encounter a new style/format of config file. We need to come up with a standard for this. We also need to work on defaults, I've yet to encounter a project with even vaguely reasonable defaults... defining reasonable as the most commonly used values. As an example, neither postfix nor sendmail actually come "out of the box" configured for the most common mail setup, to use the already set host value, and relay for the most commonly used private subnets (namely 192.168.1.0 and 192.168.0.0) and use mbox files. Other configurations are exceptions rather than the rule and 90% of those exceptions would require no more than a change to who to relay for so why don't these programs come with this default config out of the box?
Installer, binary, source, wizard...
I don't see a real question here either, the answer is all of the above again. The source code of course should be available but is hardly the format of consumption for end users. The binary should be available (at least an rpm that doesn't have dependencies or has them packaged with it) and an installer wizard which helps you arrive at your initial configuration, put things where they should go and install any dependencies which the program needs with just a few clicks or key punches (after all there should be an ncurses version of the installer as well). Nvidia has a good concept with downloading the source if the binary doesn't match the system which the app is being installed on.
Someday someone will figure out that there really aren't many distro's that make use of
Documentation
There should be some! Most I've seen doesn't cover the whole spectrum, either it's for idiots, or it's for programmers or the worst, it's outdated and inaccurate and/or wasn't even vaguely accurate when it was current. For an example, look to grub documentation on installing the bootloader from the native command prompt, you'll find two different general sets of commands to use, the most common method found on a google does not work on any version of grub I've EVER encountered but is faithfully repeated, the commands listed outright wrong.
Generally a basic, and advanced USER guide which don't reference source code or compiling at all. And then a seperate set of programmers documentation kept as curre
Try building a program like Photoshop with only a command line. You'd have users typing commands like "SetPixelColor 100, 50, FFFFFF".
Windows is appealing because it's the GUI environment that has the best combination of speed and features, and has the most developer support, therefore it has more+better programs. Pretty simple reason if you ask me.
Choosing the Wrong Tool for the Job. Common mistake people (for some reason esp. academics) make when choosing software. At least with open source it generally costs less to back out.
I agree with everything said in the paper. In fact, I have been arguing those exact same 5 points for several years now.
Admittedly, in the last few years there have been real strides made for free/open-source software -- the GNOME project is the most vivid example, keeping true to its philosophy of simple, usable programs. I am particularly fond of applications like Epiphany, SoundJuicer, and Totem, all of which take a simple, user-oriented approach toward the tasks they perform.
As for advice, I would say that more projects simply need to take the advice the author of this article gives. Spending more time trying to avoid the five pitfalls outlined in this article is really all they need to do -- the real problem is that they're usually just not aware of these issues, or if they are, they don't care. If they want to make their software usable by others, they need to fix the problems.
The one thing I disagree on is the lack of documentation. I don't disagree that documentation for most free/open-source projects is poor, but were the program intuitively designed, it would be unnecessary. How many people read the documentation for a Mac or Windows system? Not many. I'd rather the developers spend time making the program usable than documenting something that is not.
and CUPS actually has very little to do with fundamental design problems of KDE or Gnome. Used KDE lately? It may have a lot of options and complexities, but it isn't THAT much harder to use than Windows. Now look at GNOME. Maybe the KDE people have better frameworks in place than Gnome, but you can't argue with Gnome's usability. I would say that Gnome is even easier to use than Mac OS X in a lot of ways, and easier to use than Windows XP in *every* way.
If you're having problems with Gnome's usability, first make sure you're not using some bastardized version of it like Mandrake 10.0's. (Bring the flames on!) The stock Gnome on my Gentoo box is very clean, very simple. (Obviously Gentoo isn't an example of good user interface design -- I'm just talking about it's Gnome).
No, the problem isn't the GUIs, it's the underlying OS. Linux needs to automatically mount/install cdroms, digicams, scanners, etc. Don't worry, though... D-BUS will help with all of this. ESR's rant was way misinformed.
Especially in the open-source realm, it would be free and easy to interact with FireFox or Mozilla... they could include custom skins that mold FF/M to fit their vision of the application.
Not to mention the raw number of highly talented Web developers out there who could use Application UI design to pad their portfolios.
Or the fact that it would be stable, fast, and might introduce a few more people to Mozilla?
In summary, why aren't more projects seeing the possibilities of web-derived methods? HTML was designed to be efficient, fast, low bandwidth, low processing... What part of the picture am I missing?
Self-referential sigs are rarely entertaining.
I heartily agree. (Mod parent up!) Repeatedly using the word "fundamental" to mean "major" makes her look a bit illiterate. It is nearly as annoying as people using "exponential" when they just mean "rapid".
I also think it's pretty damn funny for her to quote ESR
describing hackers as "unfortunately intolerant and bigoted".
It's also kind of amusing for a pseudo-socialist to talk about religious blindness causing people to ignore working solutions.
This kind of rant has occurred so many times before: the bits that were good weren't original, and the bits that were original weren't good. In fact the bad bits aren't particularly original either.
In conclusion, to Michelle: shut up and code. (Or write docs or file UI bugs, that's good too. Stop whining.)
Ack...yes, yes...v. bad analogy, but it was only intended to be humourful. Apologies to PETA/RSPCA etc.
Maybe a better one is...the difference between sex between consenting adults trying for a baby and sex between consenting adults who just want to spread some love in the world.
A pre-requisite of a program being Free Software is that the source is open, this is pre-supposed by the 2nd and 4th freedoms. The reason for the source of Free Software being open is ideological.
The reason for "Open Source"(N.B. capitals) software having open source is one of practicality/necessity/development methodology.
She clouds the issue, well aware of the "political" implications of doing so, why? Why not just drop the capitals from Open Source? Or better still, use the respective terms as befits the situation.Instead she relegates Free Software to a footnote and expounds on the "sociology"(hah!) of Open Source software.
Ya know...is all...
Now it's time to catch up with distros that are way easier to use than XP and have interfaces that also do much more:
The Free and Open source comments quoted were true when they were written, but are not anymore. People really have gotten into the works enough to make many usable and easy interfaces. Like other "Free software will never do X" arguments, this one was false.
The gentle reader may remember these famous predictions. Free Software will never:
As free software generated billions of dollars for big and small companies alike, runs on all manner of hardware for all kinds of companies that demand scalability and stability, we could be sure easy to use, polished interfaces were right around the conner. They are here and available to anyone with a good network connection.
Michelle, download and run Mepis today.
Friends don't help friends install M$ junk.
If you don't like it, extend it, fix it, or hire someone to do so. Don't dump your personal application requirements on community members who are just trying to share what they have.
So what you're really saying is "hey, you didn't have to pay for it, so just sit there and shut up about how bad it is. We don't care about your problems with it and we're not going to fix it. If you think you know so much, why don't you go fix it?"
Why, yes. That's exactly what they're saying.
And why not?
People ARE getting their very useful stuff for free.
The authors wrote it to handle the problems THEY care about.
It took a lot of work to get it that far. Making it easy to use and fitting it into a common interface style with a bunch of similar problems is a LOT of extra work. Satisfying every critic takes still more - and is often impossible.
If the problem YOU care about is ease-of-use, why DON'T you do something about it, rather than bitching? Source is there. Have at it!
Put in all that extra work, do a GOOD job on it, and the original author might just adopt it into the future mainline and give you major contributor credit. If he doesn't, publish your patches, or write a wrapper. Or FORK the bastard and port his future changes into your fork as he releases 'em. (Either that will be easy, or you didn't make your changes well, which might explain why he didn't merge your stuff.) If your version is enough easier to use than the original, yours will be the one that's widely adopted.
A little constructive criticism may be handy if the authors' designs are awkward to use but easily fixed. But when fixing them would take lots of work, constant whining without contributing labor is just a pain in the butt. And it's more likely to make the author drop the project than spend still more effort changing it to conform to YOUR preferences.
When somebody says "If you think you know so much, why don't you go fix it?" HE'S JUST INVITED YOU TO JOIN THE PROJECT!
Put up or shut up!
And people wonder why average users consider OSS proponents to be arrogant and egocentric?
What do you expect? These are people with exceptional skills who are working, not for free, but for ego-strokes. Of COURSE you get arrogant egocentrics. They're in it for themselves, to make software THEY like. If they make an exceptionally good tool that achieves wide adoption on its merits they've got a lot to be arrogant about.
Get used to it.
If you want it done YOUR way you have to PAY for it - in coin, in work, in resource contributions, or in encouragement. TANSTAAFL.
And if you're going to live off other people's charity, biting the hand that feeds you just makes you hungrier.
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
Open Source tends to be full of language and tools bigots. Use Eiffel for Gnome instead of C! Use Python instead of PHP! Use Perl instead of Shell! Use Lisp for everything! Don't use Mono for anything!
They aren't bigots. They are advocates. What you are seeing is a healthy, thriving compiler ecosystem, with new languages and ideas struggling for dominance and survival. Microsoft killed most other languages by choosing to support a very specific set of languages in Windows (C/Win32, C++/MFC, C#/.NET, VB/scripting), and crushed all the other Windows compiler providers, and there are no alternate compiler vendors because Microsoft crushed them one by one. It reminds me of the pretty, crystal clear pools you see after chemical runoff, where there are no organisms because everything is dead. Without competition, there is little reason for improvement.
Why (to name a case that's close to my heart) is MSIE stagnating and still lacks support for PNG alpha? Because everything else is *dead* and it has no serious competition.
May we never see th
Quite often at slashdot there is mention of "dumb-ass users" and the like.
...
Presumably, these "users" include those who drive motor-vehicles but who don't know the firing order of the vehicle's cylinders, or the degree of ignition advance at a specific number of revs.
Likewise with those who enjoy air travel but don't know the degree of flaps required for landing the jet they're in, or the stall speed, say, at 1000 feet, for a fully laden 747 (Whoops, almost forgot, I'd need to know the relevant barometric pressure, to correctly know that one).
Or those who watch television, but don't know the refresh rate, or the specifics of frequency modulation.
Awwh, heck, what about those who even just use mains electricity in their homes (e.g for computers), without knowing the the local step-down transformer specifics.
Or those who
Golly, there's probably a lot of dumb ass users.
But not, of course, as we all know, at Slashdot.
I want any of the unwashed, braindead, fools out there using my geek software? My thoughts keep it hard to learn so windows users get Pwned. In other words keep the masses st00pid so we can rule them easily.
quote: "linux is so hard to learn" -yazid_5000
There are a few things that ive noticed that could really improve the visibility of open source software (imho, as always):
.nfo files here, more like a complete - end - all - be - all of information right inside a mini browser that pulls in things like data from google.com via a webservice and www.everything2.com for simple word definitions. Something that could educate joe blow as he went.
a.) SourceForgeMart
an open source client for any platform, that hooks into a "trusted" source, such as sourceforge, and allows joe bloe user to click and install over the web in one shot. I know, i know, they can click on a link, download, find the exe/zip, execute it, config it, and then run it, but if you want to ensure the future of open source, usability for the masses is crucial. MS is going to have a really hard time selling "MS Widget X" when joe blow can just open their SourceForgeMart browser, search on a topic, and click on "Get It", and then be using it in under 30 seconds. the ultimate in on demand computing, and in reality, what comcast/blockbuster want to do with movies. If that were to occur, and the "SourceForgeMart" browser became as common as the web browser (or was incorporated into one), ruling the desktop would not even be an issue.
b.) user interfaces
lets face it, as much as we all love Teh Gimp, its user interface could use some work. It can be clumsy, but as superficial as it is, I really believe that is what is holding it back. I keep wandering back to adobe ps, as much as i hate to say it. User interfaces have to become a focus in open source land. Some people are going to kick and scream "real geeks dont need shiny icons"; they need to face the fact ---
the user interface is the "merchandizing" of the open source world. it is the marketing, the distrobution channel, the shiny salesman that greets the user everyday, and as I've learned the hard way as an entrepreneur, these things are very important if you want to keep on keeping on.
c.) Documentation and User Manuals
when someone else gets something right, you have to tip your hat to them; MS got documentation right with VS.NET; its built in, autogenerated (hate to be the company that was selling that as a plugin before VS.NET, ouch) --- open source needs to take that to the next step, and create a framework that not only plugs into sourceforge/freshmeat, but its complete and integrates itself into those shiny new user interfaces that all you open source people are building after reading point b (sic). I could see it being composed via a web tool integrated into source forge and being delivered via a web inteface/service into the app as needed. And we arent just talking
If someone were to create this standardized documentation and article/help publication framework (ive commercially done something similar...), made a renewed (and even standardized? no?) commitment to shiny interfaces, and wrapped it all up in the SourceForgeMart (TM) browser, I believe thats what they call a "Turnkey Solution"
/Ant
Thinking back a few years to when I was newbie to Linux it was a hard road to get things going how I wanted them.
Initially I wanted things to work just the way they did in Windows, that's what I was familiar with. Learning a new way (even if it is a better way) was difficult. Especially when the UI was inconsistant between applications. Of course the UI I use most now is the command line which suits me just fine. But for a new user... I don't think so.
The other thing that made the transition difficult was the docs. My most common action after reading a doc was to sit back in my chair and exclaim "WTF!" There is a lot of jargon you're expected to know if you read the docs that new users just don't.
...Then the users will buy less support...
.... "how can nothing have value?"...
sure things can be made easier and better documented for the users and the fact MS has had a 10 year start over linux should say alot that linux (and FreeSoftware) is closer to what MS has then that ten year difference.
But it still comes down to selling support.....
In a way, FOSS is like MS in that of holding something back from the users in order to invent reasons for the users to buy.
I say software will become genuinely free the day it becomes easy enough for the typical user to create whatever level of complexity and power they want within their limited resources of time and knowledge. And that is something that is going to happen.... similiar to the public usability of numbering systems and math.
Once upon a time there was such a level of complexity in the then current numbering system that only experts and accountants who specialized in it, could preform what is now considered elementary math.
But then the Arabic decimal system was combined with the concept which stated that "nothing" could have value as a place holder (a rather simple concept but made hard to accept by those who didn't want the general public to be able to do what they did and far more easily... for themselves...)
That value of nothing concept is what we know today as the "zero" --- 0
without which we could not have done the math to figure out computers, not to mention using it to represent "off"
It took three hundred years for the elite Roman numeral experts to let go... and let people do better for themselves.
And that is what is happening now in the software industry... the elitism of programmers, proprietary or open.... no matter, each has its own inherently motivated built in limitations.
And its really rather easy to see thru it (for sure in hind-sight - as the concept of zero, now is easy to see thru the limitations of roman numerals.)
Programming is the act of automating complexity, complexity which is often made up of other prior or pre-automated complexity, and all done so in order to allow the user to use and reuse that complexity in a simple manner.
And it is very much a recursive act that contains a small set of identifiable inherently common fundamental human actions that most certainly can and already mostly have been written into functioning code. Code that provides general automation abilities that anyone can learn, simply by recognizing the fact they preform these very actions all the time themselves... with or without computers.
And who but the (to use an analogy)..... roman numeral accountants.... will argue against it..... perhaps saying something like
Oh, but programming is to complexicated.... right?
only I do know otherwise!!!
And because of what I know, that leaves only money extraction issues via keeping something from the users and causing them to pay for pieces of it... like the simple truth of the zero was kept from the general population...
The author gives some arguments why Open Source Software cannot be used by the common people. Is she implying our goal is to achief world domination?
Well, I like OSS, I use it all the time, but I see no reason why non-geeks should do so too. The only really bad thing about proprietary software is that most of it is owned by one company. And that causes problems when it comes to defining standards. But if it wasn't for the proprietary Word, Excell and Windows Media documents: why would we care that 95% of all computer users are using proprietary software? Does it hurt us? Most open source programmers have no advantage by the number of users. TV stations are being payed according to the number of viewers, OSS isn't. When a programmer uses OSS, and he adds code to the project, then we have win-win situation. But if 100 milion simple users use OSS, we're not getting payed, we're not getting any new code, but only millions of mails with questions that are already answered in the READMEs, FAQs or documentation. So to me it's not important that everbody uses OSS, the only important thing is that companies and OSS developers can agree on some standards, so that it's possible, and will keep being possible in the future, for users of different software to communicate with each other.
This is one lame signature, please read the message above instead.
She says:
If I'd put the same person on KDE or Gnome, they probably would have spent half of their time fighting their own intuition, and the other half wondering why they were being forced to sit in front of such a clunky desktop when their Windows XP computer worked so much better.
Emphasis mine. She may very well be right on this point - but she has not a shred of evidence to back this up! She's just asserting that MacOS X is easier to use than Gnome or KDE and then using this assertion as a club to bash open source!
This isn't science. It isn't scholarship. And its not worth reading. The article is drivel.
Avoid Missing Ball for High Score
- User interface design. Few open source projects have a user interface; the majority are utilities or libraries where a GUI is superfluous. What she has focused on is the tip of the iceberg that is relevant to casual computer users.
- Documentation. This is a valid point, but it is blunted for the same reason. Nine times out of ten, another programmer wants to see working code, i.e. examples, rather than documentation describing how it can be used. The myriad new uses for some obscure functionality can't be anticipated by documentation writers anyway. However, you must crawl before you can run or walk, so an introductory doco is often beneficial, if only as a means of triage to sort out which project has the functionality you want.
- Feature-centric development. This too has a grain of truth, but is mostly the result of programing for the self. When you absolutely need a certain feature, and are focused on it, there is only a miniscule chance you will find and fix some other core functionality problem.
- Programming for the self. OK, this is an arrow straight to the heart of the matter. Can a collection of self motivated individuals produce something of lasting significance? Would there be a Notre Dame cathedral if everybody just wanted to get out of the rain? I think not. Or at least it stands the same chance as the proverbial million monkeys... To create something that endures takes vision, and few people have that quality. No more or less so in the open source movement than in the proprietary realm.
- Religious blindness. I tend to agree with Michelle here, but for a different reason. It's not that open source programmers reject lessons from proprietary software on religious grounds, rather there is no incentive to follow that lead and it is difficult to try.
Most of her argument is based on the assumption that open source is for end users. By definition, the raison d'etre of open source is accessibility to 'source code' and any functionality that is useful to a casual user is a by product.All in all a good article and thought provoker.
I've said it more than once and I'll say it again. Until there's some kind of consensus on "the standard desktop" open source desktops will always be behind proprietary solutions. Before you get all worked up about freedom of choice I'm not suggesting that somehow you wouldn't have the ability to install your favorite toolkit or something like fluxbox. But there needs to be a common desktop for business to target and I just don't see that happening in the foreseeable future.
I wish Novell, Redhat, IBM, OSDL-desktop would get together and just make a recommendation on whether business should target KDE or Gnome and just be done with it. Just think if Linux had forked early on and there was all this duplication of effort and little interoperability. Maybe freedesktop.org has a role in some kind of desktop standards but I just don't see it happening anytime soon.
Now I'm not about to defend OSS with fangs bared and claws extended. However, it seems that the problems the author has pointed out are mostly (four out of five) specific to projects. Maybe all OSS projects share these faults, but they're implementation flaws, not philosophical flaws. (the last point, OSS-as-religion, is DEFINITELY a philosophical flaw.)
Most of these implementation problems stem from one fundamental and nearly, insurmountable flaw in the OSS system: No overriding authority. When a project is created, there needs to be someone there to ensure that code review requirements are met, that documentation is maintained, that the software is tested, and that overall QC/QA schedules are implemented. (and met!)
Without these things, the project gets increasingly bad as it grows in size. A project owned and developed entirely by a single person (or maybe as much as a group of three tight-knit developers) will be as strong or weak as that person. A project owned and developed by a large group will be as weak as the combined weaknesses of all the people working on it, unless there is some explicitly imposed structure on the project. Look at the Linux kernel--Linus has had authority over that since day one, and it's been a brilliant success of OSS. THAT is a system that works. Mozilla, with its roadmaps and checkpoints and different release trees, is another. mplayer, to grab another, suffers from exactly what this article points out, and most of those flaws can be traced back to a lack of structure (even amongst a fairly small group working on it).
Let's face it folks--anarchy doesn't create good software, except occasionally by accident. OSS can't afford to rely on accidentally good software any more than IBM or Sun.
"People who do stupid things with hazardous materials often die." -- Jim Davidson on alt.folklore.urban
Why am I calling it flamebait? Because of the 5 problems he describes, not a single one was unique to open source software development.
User interface design. I've seen some truly horrendous user interfaces coming out of non-OSS companies. He points to MacOS X as a shining beacon of "UI done right" and I have to agree. But that's Apple. They're very good at it. Not all companies are as good as Apple. Not even all MacOS application developers are that good!
Documentation. He slams OSS as providing a mixed bag of documentation. Non-OSS is exactly the same! I've worked on non-OSS which is poorly documented, and I've worked on non-OSS which is brilliantly documented. In fact the OSS UNIX-like docos blows away the majority of non-OSS UNIX competition. That's one reason why almost all the non-OSS UNIX companies are kaput; their offerings were considerably worse than Linux!
Feature-centric development. Has he forgotten that the bloated-does-everything application was the hallmark of non-OSS development for years? He rightly accuses some OSS developers of repeating the same mistake, but this is a bad design habit being carried over from the largely non-OSS PC OS and PC apps market. It has nothing to do with OSS specifically.
Programming for the self. This one really takes the cake for nonsense. Has this guy ever worked with Cadence? Or Oracle? Or Paradigm? Those apps are extremely difficult to ramp up with so they have the exact same issues that he describes for OSS. What does this specifically have to do with OSS? Once again, absolutely nothing.
Religious blindness. Lest we forget, the term "zealot" was first used to describe Mac users and later Amiga users. I realise I've just invoked Godwin's corollary (the person who first says "zealot" loses the argument) but the shoe fits. All platforms have their religious nutcases. Once again, not OSS specific.
It was a flamebait article designed to invoke angry responses. The 5 problems he listed were not fundamental problems with OSS. If they were, then all OSS projects would exhibit those 5 problems. The fact that some OSS projects don't have those 5 problems is proof that they're not fundamental to OSS development. The fact that some non-OSS projects do have those 5 problems is proof that they're issues with all software development, not just OSS.
What he has described are 5 pitfalls that all projects, OSS and non-OSS, sometimes fall into. If he had rewritten the paper as "A number of pitfalls that OSS projects would do well to avoid" then he would have had a winner. If had even written it as "some OSS projects have these undesirable qualities" then that would be OK. However written in the sweeping over-generalised sense, that those 5 problems are fundamental to OSS and therefore inescapable, it's inciteful nonsense.
I don't use Linux, I don't have the stomach and have everything I like and need right here in my OS X box.
... are utter and total self-deceiving nonsense.
I am however very much charmed by some applications and continue to marvel at the movement if I may call it that. And I sincerely hope the goodies keep coming towards my platform of choice. That would be very nice indeed.
The main question though is: if all the assesments in the article are right - and I think most of them are - is it a problem?
Most posts suggest it is not, because it results in an OS for geeks by geeks, and they like it just like that thank you very much.
I think that's the attitude I might just have as a Linux developer.
However, if that's the attitude, then the amount of articles on how Linux is going to take over the desktop and on how the difficult part is done and now only some pretty buttons for Joe Blow (Six-pack, User, whatever)
I mean, how on earth can someone state that the average user is not qualified to install software? Just one of the "out of touch with the rest of the universe" examples I picked up here.
It may be true in your high tech console-driven fine tuned built from scratch world, but it won't win you the desktop.
I think, therefore I am...I think.
A few folks have touched on this, but it seems nobody really wants to say it.
... it was a mess! Since that time the average ability of users has gone DOWN, and Open Source and free software have fragmented much like the VB3 apps.
Whenever you take a collection of small applications and try to turn them into wide-spread, useful tools, you need to change the small applications so they conform to standards and can be used by the masses.
Everything needs to look the same, everything needs to act the same, and everything needs to be done graphically. Yes, the elite know you can hop out to a prompt and do certain things with certain apps, but the regular users don't, and assume the program doesn't do it if there's nothing graphical (and obvious).
Does anyone remember what VB apps looked like with VB3? Everyone was doing their own thing: some programmers used certain tools, others used only basic tools, some programmers used the Form_Load event as their Sub_Main (and basically turned it into a non-graphical program)
Don't get me wrong - standards are boring. They take all the fun out of everything (unless you consider standardization fun). But they're a necessary boring.
Winners tell stories while losers yell deal.
It isn't fair to criticize programmers who "develop for the self". Yes, it is possible for programmers to develop myopically, but often this is done intentionally -- people have widely varying opinions of the utility of a software tool and the efficacy of its interface. A tool which is inappropriate for one person's intentions may be ideally suited for another. Programming has a broad ecology of intentions; it is silly to paint open source development with a singular brush when it is a broad, rich complex of software tools fashioned for an incredibly diverse range of purposes and contexts. Further, software applications also take considerable time resources to develop -- the current state of an open source software project may be far from its conceived ideal. While there may be agreement about the user-friendliness of a particular application, for another application friendliness may be a hotly contested issue.
The blindspot you're having is that people want free software to make inroads into new markets, but are unwilling to consider the things that make that possible.
I think you're missing something I didn't explicitly say. (Hard to fault that. B-) ) So I'll say it:
Yes, there ARE people who want free software to make inroads into new markets. Some of them are deveopers of free software and some are not.
When the person is a developer of free software, and he wants it badly enough that achieving it motivates him even more than the egoboo of putting out a well-functioning (but hard to use) project, that will motivate him adequately. Then he'll be motivated to put in the extra effort to make his tool easier to use, or recruit some other talent to get it done, and chase a still bigger subjective reward. There are a few of these. Some of them are already putting out easy-to-use projects. Others are likely to be willing to accept constructive criticism, or help, in order to find out what needs fixing.
But when the person is NOT a developer on a project, my previous posting stands verbatim.
Put up or shut up. Contribute to a project that needs usability improvements, join or start a project to apply a usability solution across multiple projects and/or create a framework, or contribute documentation. Or at least bug fixes or bug reports.
There's lots of work to be done. Flaming the existing developers won't help. Doing the work will.
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
But some people at open source are...
There is a lot of people that helps, true, but they are outnumbered by those who don't.
There are a lot of bozos out there who think that are kings of the world just for intalling linux or patching a kernel, some of them think they are going to be the next Microsoft and want to stay 31337 being selfish and keeping every knowledge out of the reach of most, for the common geek those attitudes are not obstacles but think about the common joe that wants to have a computer fully operative after pressing the ON button, those are the mayority and are being ignored and segregated by those who thik are gods..., well is human nature but that doesn't mean we can change for better.
Microsoft will be buring Tux the same way as it did with OS/Warp if we don't stop those who crap on the Open source community...
I have to heartily agree with Michelle, that the Cocoa object-oriented user interface environment is a marvel that should inspire the open source masses. But I must point out that some are inspired: there is the GNUstep project. But you fashion object oriented user interface libraries until you are blue in the face, but it will be very difficult to escape the limitations of the X11 window server model. Sadly, it seems there is no way out -- X11 is here to stay and its byzantine layers of complexity will stay to muck up these environments.
Why should the Open Source community even care about such allegations? If you're too stupid to use, say, GAIM, then you're too stupid to be on a computer. People who can't use Open solutions just shouldn't use Open solutions. Besides, why would you want someone who couldn't use Open software involved in Open Source anyway. I mean, yeah, there's that whole thing with mass public acceptance and all that, but do we really need that? I mean the more the public can use Open solutions, the more Open solutions will be prone to people's stupidity. It's not like it will bring in any new developers, because anyone who knew how to code would, hopefully, be able to use an Open program. I say, who gives a crap about the public not being able to use Open software? There's just no need; in fact, the consequences could be negative.
It depends I guess..
All the open source software I've tried has been pretty good. What are they saying? That they should dumb down software in order to appease the public?
$>man woman
$>Segmentation fault (core dumped)
Why should I?
Because that's the way most open source software works. The developers have put together something they like, and are offering it to anyone else who wants to use it--that's all. They're not demanding that users gain a certain amount of technical knowledge; in many cases they're not even trying to entice users to use their software at all. It's a lot like a bazaar, say, or a swap-meet; if you find something interesting, feel free to try it out, but nobody will be upset if you don't like it. To each their own, after all.
Now, there are developers out there who respond to legitimate complaints such as yours with "leave me alone you stupid n00b" or the like. I find this unfortunate, since it reflects poorly on all open source developers. At the same time, there are developers who make efforts to ensure that their software can be used as easily as proprietary software. But on the whole, open source software is much more a "peer-to-peer" relationship than a "developer-user" one, and you should keep this in mind when trying such software out.
I think the problem with "programming for the self" has mainly to do with the fact that people not wearing enough hats ... no, I mean, people who don't say enough "thank you" to the developers who kindly provide what it is for you to take for granted. Most free software or open source projects are started for the programmer to solve his/her own itch. The audience is narrow, and features are biased. There is much for improvement. However, many users don't express gratitude, yet continue to demand if something doesn't quite work for them. The developers really aren't asking much, but a nice simple, "thank you." After you say that magic word, then you may ask, "but if you don't mind, could you also improve the software in this way or that?" I'm sure the person will be more than happy to do it for you. Remember that nobody is working for you, not even for free. This is not what free software is all about.
Before I posted this comment, I did a search on Slashdot on the word "thank" but found no stories or comments. I'm a bit curious as to why people don't recognize the importance of expressing gratutide.
I'd like to say to all of you, thank you all for creating free software for us to use. And thank you those who created Slashdot.
I'd much like to see that one day, courtesy will become the main driving force behind free or open source software.
I once had a signature.
Hey, I have an idea. Let's all go to Kenya and find some of those Doctors-Without-Borders guys and tell them that while their high quality work for free is admirable, it doesn't meet the needs of our HMO because the bill payment system is not well documented and therefore there are 5 Fundamental Problems with Doctors-Without-Borders that need to be addressed.
As a programmer with over 24 years of experience going back to writing code on pads and entering it using on an IBM 029 punch to submit to a card reader under VS/9 on Univac's IBM mainframe clone back in the late 1970s and early 1980s, to using VB 6 and Delphi today, I can say, based on my own experience of both how I have written programs and how I've used other people's, both on Linux systems and on Windows, that the author is dead-on right about the unfortunate problems open-source applications have.
This is a sore spot even on proprietary applications. At one place where I was working, my supervisor (the lead programmer) and I had very serious differences of opinion when I mentioned the book The Inmates are Running the Asylum in which I agreed with its premise that in most cases interface design of applications is being done by people who do not know what they are doing and haven't thought about how the end-user is going to use the application, and in some cases the errors in the way the design of certain applications have been done have killed people! As an open-source application (usually) has even fewer resources than a commercial proprietary one, they tend to be even worse on their interfaces.
When you're writing an application for yourself, you often omit things that you don't think you'll need later, like comments in code, or making the thing look pretty or easy to use. Commercial proprietary applications (generally) have to be easy for the "dumb user" (this is how the typical programmer sees the customer) to work with when they are shown it for evaluation or they won't agree that the product is acceptable and his boss won't sign a purchase order for it, which means it won't get bought (unless the seller knows the right people to bribe and/or blackmail). When the programmer who is writing the code of an open source application is also the primary customer the product is going to be produced as it is even if no other person in the world will ever use it.
This is a universal problem with all software that has been around from the start; programmers in general hate with a passion having to write documentation. The only difference is on an application that is funded by someone they can either order the programmer to write docs (as part of his job), or hire someone to do so. I'm sorry to say that when the program you are writing is a labor of love (as opposed something you do because you're paid to get it accomplished), the production of documentation tends to be like getting a man to be responsible for using contraception during sex: it stops the flow of the action and it's not as much fun!
Note that this doesn't mean commercial apps always get good documentation. The stuff there often sucks as bad or worse than some open source apps.
The lessons of history teach us - if they teach us anything - that nobody learns the lessons that history teaches us.
"People don't want to have to be educated about software. It's a tool, like a hammer. You don't have to take classes to use a hammer (or most carpentry tools -- unless you want to be a master craftsman)."
One most people in the US (sadly this is mostly a US phenomenon) don't want to be educated. That's why we're headed for third world status, because we're too busy telling ourselves what we DON'T have to do. Like it's some kind of divine blessing to be ignorant.
Second you better learn how to at least learn the basics on swinging a hammer, or get use to a lot of effort spent on bending nails.
"When I started my business, I hadn't programmed in 10 years. At first I was extremely frustrated because programmers are so self-centric that they don't get the fact that, to most people, a computer and the software is just a tool."
So you blame others for your "lack of"?
"They want to buy a computer, plug it in, turn it on, AND DO THEIR WORK -- not read manuals or books -- just DO THEIR WORK. "
Man I'm wondering if these "just do their work" people would have gotten were they were with the attitude that they didn't have to learn anything.
How many books did they read? How many classes did they take? THEY JUST WANT TO GET WORK DONE! Why do we expect to get something out of a vacuum?
"Then I spent several years building up the software my business is based on. Without wanting to, I had to become a programmer and think of nothing else for over 2 years. Then I understood the programmer mindset -- GUIs are a pain to write, using tools that think logically to provide a intuitive interface is hard (and other similar attitudes)."
And did you feel ashamed of yourself for your previous behaviour?
"That's when I realized the problem with open source software is that many of the programmers are simply incapable of listen to thers or understanding there are other points of views regarding computer use that are just as legitimate as theirs."
And yet it took you 10 years to realize that your earlier position was incorrect. What makes you think you got it right this time?
"If you want to rant about GUI design, go ahead. If you want to complain about the "shitload of people" who need "a bit of eduction," please do. But, after you do that, don't sit back and wonder why people are paying hundreds of dollars for programs that do what FOSS programs do, but do it in a way that is easier for users to grasp."
Oh OK, so a fool and their money are soon parted is a viable argument. Besides there's no collective "we" wondering anything.
"Until programmers learn to look at things from the point of view of a user who JUST WANTS TO DO THEIR WORK, the FOSS will always be relegated to the back room where geeks who can't understand human interaction work and live."
You're as stereotypically blind as the people you point fingers at. Oh lookie those geeks are smelly, and have no manners, and come in various shades of pasty. You want to talk about human beings? here's humans for you. we come in all shades from blackest of black, to whitest of white. From athiest to religiously devoute. From the malest of males, to the femaninist of female. Old to young. the whole damn gamut. WE ARE THE USERS! WE ARE THE PROGRAMMERS! WE ARE MANY THINGS. But most of all we aren't your damn stereotypes.
When I fixed my code last week, I half assed it. I only put bounds checking on one pointer, figuring that management didn't care what network neighbors would exploit.
Seriously, motivation in commercial software is a huge problem too. As a business, Microsoft only pursues security to the extent it increases profit. The mass market has demonstrated that it will mostly tolerate insecure code and so M$ keeps churning out--you guessed it--insecure code.
With their resources, Microsoft could have every buffer overflow fixed inside of a month. But currently, the competition (open source or otherwise) isn't enough of a threat to justify that expense.
If you want Windows fixed, get your friends to install Linux.
It all sounds so reasonable doesn't it? You wonder why most movies are so bad? You wonder why the game industry can barely produce a good game? It's this damn "please the masses first" attitude. The good movies are the ones that please a few, or one, then they let the masses share. The game industry can't produce anything innovative because they're afraid of displeasing the "masses". Linux wasn't produced to please the "masses". It, like a movie was produced to please a few, or one, and then it was shared with the masses. And yes I hold the view that the "masses" will do to linux the same thing that they did to movies, and games. reduce everything to mediocrity.
From the article:
The systemic, fundamental flaw with her analysis is that there is no united "open source" goal from which to be held back!
The assumption that all free and open source developers share the principal goal of supplanting or competing directly with more traditional software is just wrong.
For some projects, it may be true, but clearly not for others. Do the authors of ghostview want to supplant acrobat reader? I don't think so. Do the authors of the Gimp want to compete directly with photoshop? Perhaps.
Do Star Office and Open Office developers want to erode Microsoft's share of the office-suite world? You bet.
Do the mingw people want to compete with visual C++ (or whatever Microsoft's latest c++ compiler is called)? I don't think so.
In general, do you think GNU people want to compete with anybody? I don't. I think they just want to be free to create the kind of software they like.
It seems to me that there are a huge variety of goals out there, and in many cases, competing with commercial software is not one of them. In other cases it is. But in my opinion only newbies and idealists believe that free software should try to or will eventually take over the world and put closed software out of business.
What free sofware does is put pressure on commercial software. For example, I'm sure one of the reasons that Microsoft fixed the TCP/IP stack in its newer OS's is because the Linux and BSD stacks are so good. (In fact, I've heard people say that Microsoft just lifted the stack from some BSD variant. I don't know if that is true.) Microsoft also took a lot of heat for stability, once again due to the stability of various Unix-like OS's running on the same hardware. This has forced Microsoft to improve. Finally, now, Microsoft is taking tons of heat on security. We'll see how they react. (In my opinion, this already makes Linux and the BSD's a complete success. They forced Microsoft to compete!)
And of course, Linux is sort of like the blob. Microsoft tries to fight it off on some narrow front, but it just expands around that area and pushes in somewhere else. Whether it's servers, PDA's, the embedded market, or 64-bit systems, or gaming consoles, Linux is there, making life difficult for Microsoft, not out of malice, but just because it is what it is.
Anyway, just my $0.02.
MM
--
By including this sig, the copyright holders of this work or collection unreservedly place it in the public domain.
The author of this article fell into the very temping trap of least effort: not actually giving any examples whatsoever to back up her points. The only example (Firefox) is basically an admission that her points are not universal.
What's more, it is easy to argue (with examples) that all of the points in the article except for "programming for the self" are far, far more prominent in the proprietary software world than in the open-source software world. As for "programming for the self," there isn't an example and it's only true in a small subset of open-source projects.
So what can you expect? With no examples, no programs even mentioned in passing, and basing the entire article on a seemily-fictional piece of software called Project X... there's simply no content.
OpenEMR is, overall, a good application with all the features we need. However, I'm dreading the inevitable deluge of support calls I'm going to get because of the sloppy UI. For example...
Consider this screen for scheduling an appointment for a patient. The first time I went to this screen I thought I had clicked the wrong link. It just didn't seem to be about scheduling an appointment. The most prominent form is for finding a new patient... very confusing considering that I just came from a patient record where I clicked "new appointment". Then I realized that the "new appointment" form is scrunched down in the lower right corner like a bad afterthought. Even then it's confusing. The "Time" and "Duration" fields don't line up correctly. It doesn't provide a calendar with which to juxtapose the new appointment with other appointments. If you click the "first available appointment", by default it tells you that it can't find any appointments.
OpenEMR will be much better than the dreck that they've been using down in the clinic, but it's still not good enough. Hopefully I can tweak it and submit the changes back to the development group.
I've found that my posts don't format quite right w/o a sig.
The funny thing is that I think this is both a weakness and a strength--Apple tends to have very good UI design, and they probably have the (correct, IMHO) attitude that "if the user needs to look in the manual, it means we screwed up the design".
Another thing that I think is important to understanding why Apple's software is nice to use is that they mostly eschew having a "beginner" and "advanced" mode to their software, which forces the designers to keep things well organized and also means that the developers have to interact with their application much the same way that novice users will (a form of eating your own dog food). It also means that they have to keep the feature set fairly trim, especially the iApps; usually they get about 80% coverage of the features that any one user wants and do it really well--to get that last 20% would require much, much more complexity because everyone has their own "last 20%" of needs/wants. The fact that unlike Microsoft they tend to target home users instead of corporate which allows them to make small but very slick products with what is surely a much, much smaller developer staff.
In some ways, Microsoft is actually more similar in some ways to many open source projects than it is to Apple--they tend to be driven by technological features (dlls are cool, now we can unify all our scripting and embed a spreadsheet inside an address book entry, etc, etc), whereas it feels like at Apple the designers wear the pants, and you can imagine that they went through 300 iterations of the product as just a dummy prototype in InterfaceBuilder to get the buttons just right before even starting to code. Interestingly, apparently when pipes were added to UNIX, one guy spent weeks at the blackboard trying to come up with the right syntax, and once he did Ritchie or whoever it was implemented it in an evening. We still use the syntax while the implementation has surely changed, so you guess which was the hard part!
My last ramble: anyone who's been involved in commercial software developments knows that the "last 10%" of polishing a product from "promising" to "professional" takes at least as long as the other 90%, and even this is only possible if the product has been fairly well designed from the beginning. So assuming that the supply of people working for free (and not for free) on open source projects is constant, achieving the level of polish that these posters desire would require people to work on fewer projects or stick with existing projects longer, both of which tend to run contrary to the desire of programmers to make their "own thing" and to get bored once they've got cool core technology implemented and "mostly" working. People who can see things through that last bit are exceedingly rare and prized in the commercial software world, which is why most software is crap.
If you're still reading this, you're driving too close or at least have too much spare time...
Window managment is an important issue, and one I have thought about deeply.
l .html
Multiple document interfaces are awkward to use because they based on a program orientated approach rather that a document centered approach. For example: If I am creating a webpage I need to see it in a browser and an text editor, maybe even a WYSIWYG editor.
Rather than simply being able to change my program I may have these additional steps:
Opening my document again
Changing the selected window
Both of these are disorientating (since you're concentrating on the document) and difficult.
Changing the selected window is a common activity in MDIs. In my example I may also have an online manual open in the browser. And I could easily have another webpage open in the text editor that I'm using to figure out how to do something.
Using MDIs is a also confusing because they're inconsistent in different programs. Different size, shape, position.
Good luck if your using MS Windows, minimized windows (In MDIs) often disappear entirely! They take two are three clicks to rescue if you can remember that they're they at all.
And XP adds extra inconsistency: IE stacks it's windows in the toolbar occasionaly (where did my windows go?).
Another problem is that changes to a document in one program are not shown for the same document in another program. You need to use commands like refresh\reload (And if you forget: that bug just won't disapear).
Bruce "Tog" Tognazzini comments on MDIs: http://www.asktog.com/readerMail/2000-07ReaderMai
And also writes about it in "Tog on software design" which I recommend.
I use Windows98se and MDIs, because I can manage more windows than with the taskbar. They're still a pain.
Currently, I'm working on a new GUI\OS to solve all these problems and more.
- Alysander
Open source, like proprietary software, involves responsibility on the part of the accepting firm or person: they must be sufficiently educated and technically competent to "take to project and run with it". What we have here instead is an average person who has been given some software and is now complaining about it. Sound familiar? Yes, since users and developers do it all the time. This behavior has nothing to do with open source software: she would do the same thing were the software proprietary.
Eventually the project will or won't be done and she'll get over it or she'll quit. In any case she'll blame the software for any problems, forgetting that there is an interaction between developers and software and that she's just as much a component in the equation as the software package. In any case I believe her experience is insufficiently detailed and the situation far too common to be worthy of any interest to serious developers.
These tools already exist! The problem is, there's TOO DAMN MANY OF THEM! People who create a program don't want to have to figure out how to integrate with 50 million control panels, or support text configuration files in 50 million different formats (XML, HTML, CSV, name/value pairs, Emacs-LISP (!!), etc)
Also, it's the same problem with other areas of OSS:
Package management .deb, (several incompatible kinds of).RPM, gentoo Ebuilds, .tar.gz, BSD ports, Fink vs. Darwin Ports vs. (eventually) Gentoo Portage for OSX
GUI toolkits: GTK, QT, Motif, Java, WxWidgets, XUL, Xt, TCL/Tk
It's all well and good to have 50 different text editors, but having to install 50 different kinds of libraries to support your GUI or having to figure out 50 different file formats to configure your software is stupid. As a community, we need to decide which format/package manager/GUI toolkit is best and then incorporate the good features of all the others into it, and then - most importantly - all the ones that weren't chosen need to DIE!
I'm not sure how this relates to the ease-of-use issue. I can see how having multiple small well-designed programs can solve a problem better than one large monolithic program. But that doesn't really scale to the GUI world.
For example, I'd rather run Thunderbird to read my mail, news, and RSS feeds (through an extension) all in one place than run a mail reader, a news reader, and an RSS reader seperately.
Similarly, I'd rather run Gaim than Yahoo! Messenger, AIM, ICQ, and MSN seperately. I get a consistent interface, and I use fewer system resources.
How do these things apply to the whole "small tool that does one thing and does it well" paradigm?
WeRelate.org - wiki-based genealogy
1. Microsoft can't steal^M^M^M^M^Mappropriate it.
2. It's better (faster/more secure/more reliable/scales better) than very much more expensive commercial software.
3. If it's GPL, Microsoft can't even co-opt it.
4. It's killing Microsofts' bottom line. Have you read their S.E.C. filings lately?
5. It offers users way too much freedom.
Thing is, no one pays me to do this: its my time and its my hobby and in many cases if someone wants to change the UI then they can easily run up Glade or whatever and alter it.
Most Open Source projects slowly evolve and are always after new people.
The cry should be for Goverment and Educators to allow more Tax dollars that are currently spent at Schools and Universities to contribute to Open Source projects.
Most courses I've done have been very Windows-centric using commercial code when in fact if the money spent on licensing those was invested in changing what wasn't right with equivelent OSS projects then all OSS project would slowly be better as more skilled users go through the system.
I heard most communes died in the US because
nobody wanted to do the dishes.
More on topic: a well desinged UI takes a lot
of work - for one person - so "if you don't like it, do something better" takes a bit of effort. Why? (In terms of Physics) because the API to a human is much more non-linear - and quite a impedence mismatch - than to another computer...
To quote Donald Norman in the Psychology of Everyday Things, "Many existing programs for user applications are too abstract, requiring actions that make sense for the demands of the computer and to the computer professional but are not cohesive, sensible, necessary, or understandable to the everyday user. To make the system easier to use and to understand requires a large amount of extra work."
We are working on, and still much work is to be done, on the open source model for user interface design.
We'd appreciate your thoughts at the usabilitybazaar Yahoo group...
The article as a good read, but it's biased in that the writer projected her own desires and expectations on to the future of linux.
"Despite the growing success of the Open Source movement, most of the general public continues to feel that Open Source software is inaccessible to them... blah blah blah... If Open Source software wishes to become widely used and embraced by the general public, all five of these issues will have to be overcome."
By those statements, the author is saying that mainstream adoption and use of linux (and any OSS) by casual users and programmers / contributors is the mark of success, but is that really so?
If that is the mark of success, then everything the author mentioned is valid.
If the mark of success is just having an OS you can compile and edit yourself to do what you want it to, then the "By programmers for programmers" types already have it made.
I use some OSS apps and enjoy them greatly, but even the big linux distros fall short for the "end user" segment from my experience.
Thats one of the things I hate most about Macintoshes, the "GIMP syndrome" for lack of a better word.
3 windows on top, some other app (browser) shining from underneath, and
you can never manage to miss it.
No way to maximize an application to engulf the
entire screen...
Stuffing those 3 windows in a master window
would increase productivity by at least %20 percent.
I have a few little programs I wrote
..."
for my own personal use that I've open sourced
(don't ask which).
On my website where you can get them,
I say in big letters
"Software is provided as is.
Unless you want to pay me money,
don't ask for documentation, better ui
And I still get morons who ask me to write some documentation and I tell them to go fuck themselves.
Rude? Damn straight. I get enough spam already.
"As a person who used to run several large IIS webservers, i recently set up my own website on Apache. With IIS I had multiple sites with many virtual directories (with vastly different permissions per directory) up and running in about 10 min."
ok.. Here goes:
As a person who run several large Linux/Apache webservers, i recently set up my own website on IIS (just for testing). With Apache I can set up a domain running a webstore + advanced CMS in 5 minutes, capable of holding 1.7million articles, several thousand customers and thousand of visits each day. All running from a $800 computer.
With IIS everything takes a shit-long time to do... Since the option you are trying to find is hidden behind Control Panel->This tab->That tab->Tab II->Tab III->TabIV->New tab->Do you want help with this Tab->Maybe the last tab->.....
Instead of being neatly tucked away in one easy to edit httpd.conf file.
And the httpd.conf is so dead easy to use. Because every option you can edit has some
# help line 1
# help line 2
# help line 3
above it so just by opening the file you get most of the help you need for all the options which are there.
Later on you can just remove the #-lines when you don't need them and have a compact httpd.conf for even easier editing.
Nothing can even compare to having the IIS server go down because some stupid ass GUI dll decided to die on you.
GUI for config file editing is just plain stupid. What's even more stupid is that on Windows you often have several different ways to change settings for programs, say IIS.
Months ago i kindly asked the Gimp developers to add "Pattern Dither". Codingwise it's actually no big deal. One just have to reduce a matrix to dimension 2x2 internally.
They basically replied "Our dithering is superior. Noone will ever need this Pattern Dither.". Well, Adobe Photoshop has that feature. What i like about commercial software is they cannot afford a "We know better than you what is good for you" attitude.
The article states the problems but no solution. Thinking economically about open source one can hypothesize that comunity members gain a benefit from controbuting either in the form of better software they use themselves or in the form of street cred or some other gain. The author should realize that this is true for end users too.
Even if they dont have the knowledge required to contribute documentation or even reviews thereof (which should be quite easy), they could always provide usability test reports, no matter how bad the gui is. If this is availble I think the programmers will start using these reports for improving the gui and the end users will get better guis. The same thing is probably true for documentation.
Another possible gain is for usability engineers who need something to put in their CV. Having contributed to an open source project is valuable in your CV these days, and this could be an opportunity for new usability testers or designers to show of their skills too. And I guess some of them could start bragging to other usability engineers too, gaining street cred.
The sour putrid smell of rotting nerd.
Yeah, but you can't really blame emacs for not using a convention that was established at least five years after the first emacs implementation.
Stallman's first emacs was written in '76.
Apple Lisa came out in '81
Puppies are not violent! They are playful! If you think you can justify raping puppies because they are violent you have another thing coming.
I18N == Intergalacticization
With Microsoft applications only an idiot would need to look at the manual, but the manual is there to look at.
With Open Source / Free Software applications, the manual is usually a necessity for installing and operating the software correctly, but the manual does not exist.
I find it highly interesting that no one has touched on the basis of all these claims: The social link between developers and end users. Developers who take an interest in what end users want and think, thereby implying a social interest in the needs of the end user, would, presumably, automatically imply a better end user experience than a project that was designed with the goal of only pleasing the developers and the technically adept.
When the gaming industry begins to make (and release them in proper time) their games for linux I'll be using linux only, and drop my dual-boot...
That's the biggest (probably only) reason for me and a lot of people I know, to why we arent using linux only...
Reading the article, the author is complaining about the very features that make Free Software and Open-source software what it is now.
Yes it is developer-centric, and therefore will exhibit the `flaws' that the author talks about, such as the lack of documentation or the poor interface design.
It seems to me that the terms of reference have changed. In the past it was cool enough for someone to give away (under a proper license of course) the fruit of their labour to anybody interested. But now unless it has all the features of commercial software as well then not so many people will use it and this is not so cool.
Let's get real for a minute. I don't know very many software engineers who will willingly and for free consult interface guideline documents, take a course in tech writing, write a test harness and be objective and detached about the pet project that they work on in their spare time. They'd much rather add features to their software project instead, precisely what is happening in practice.
I'm pretty sure that if you asked the F/OSS developers if their mission in life was to produce a completely free/libre environment akin to MacOS/X in order to bring down Microsoft they'd tell you to get real as well. To get there will require more than volunteer's work.
The amazing thing is that a great deal of F/OSS is in fact valuable, at least enough so that companies like RedHat or SuSE have taken it and made it into a usable product, suitable for enterprise and developer's desktops and are now threatening pure commercial companies in some markets such as low-end servers. This means someone has to test all that software, someone has to write the documentation, someone has to put nice GUIs on top, and so on.
If success for F/OSS is now being redefined as `becoming a real threat to Microsoft's bottom line on the desktop' then it has a long way to go and may never get there unless somehow Microsoft commits suicide. In this context the article makes perfect sense.
If success is carving a sustainable niche for itself, fostering creativity, capturing developer mindshare, provinding leadership in some areas, providing Microsoft and others with some competition (such as helping Microsoft's competitors along, as with Apple) then it has already been succeeding for many years.
For the vast majority of people who sit in front of a computer out of necessity and are not particularly technically oriented, then pure F/OSS is not a viable alternative right now. MacOS/X, which is partly OSS (not Free) certainly is, but is not really threatening Microsoft's monopoly for various reasons, not all technical.
For the rest F/OSS is great and has been for a long time.
Open source has its place, but people are never going to accept that something that is free is as good as something made by microsoft and is expensive. Its like if someone bought out a car for $10 000 and said it could beat the pants off a ferrari, most people will still think a ferrari is better. alice@ozforces.com
alice@ozforces.com
Most of the problems the author descibes are true for a lot of closed source software too. Only the realy big companies sometimes have the right focus.
I think the problems are inherent to programmers in general, either their education or psyche. Just search google for the "internet hall of shame of user interfaces" and similar sites.
The biggest difference I see is the religious stance some people take. Refusing to use anything closed source, therefore severly reducing their options to learn how to do things differently/better/etc.
Most have never used an Apple, and not used windows since '95.
The only other thing that seems lacking is easy acces for closed source vendors to Linux/Open/FreeBSD. What I mean here is a consistent platform, where there are constant API's for all hardware/software.
(clipboard, desktop background, printer, modem, webcam, installer, consistent location configuration files, etc.)
RogerWilco the Adventurous Janitor
All the isssues discussed here betray one underlying theme.... The ideals that are the foundation for Open Source and the products generated from this amazingly diverse genisis are slowly but, surely being commercialized...as a result the "market" for these products is miopically drifting into the mainstream....away from their foundation point...the mainstream has different needs and expectations than the Open Source community itself....these "needs and expectations" are in conflict.... It comes down to this...If the products being created within the Open Source community are to have any hope of dominating the computing enviroments of tomorrow....idealism must be abandoned....and they must become more commercially sensitive....If this migration does not take place....Open Source will continue to thrive within its own technological culture....but, it will eventually zenith....and retreat....and the world will be left to the Microsoft's, etc....but, the ideals will be maintained.... Personally, what I am reminded of is the children of the sixties....lots of ideals.....an explosion of self expression.....and then they all grew up to be white collar yuppies.....(God I hate yuppies) I think it will be very interesting to see if the Open Source community "grows up" Computer technology might be better off.....but, I also think that something magnificent will be lost to history.....once again
There was a recent rant that made it to the front page of Slashdot. Here, maybe this will refresh your memory:
4 /0 2/27/0043250&mode=thread&tid=126&tid=156&tid=166&t id=185&tid=99
http://developers.slashdot.org/article.pl?sid=0
Who do we have there having major trouble configuring CUPS? Well, blimey... it's none other than Eric Raymond. _The_ Eric Raymond.
So spare me the self-righteous crap about idiot lusers and cattering only for the smart ones. There's plenty of smart and even Unix savvy people out there who have major trouble. (Again: e.g., Eric Raymond.)
You're not cattering only to smart people. You're cattering only to people who have no life and are glad to spend some ludicrious time just getting your unfinished crap to work. You're asking that millions of hours each year be spent just debugging your code, cursing at outdated incomplete docs, and begging for answers on mailing lists.
Sorry, most people's time is more valuable than that. Heck, _my_ time is more valuable than that.
And this is maybe _the_ one biggest problem with OSS: the standard knee-jerk reaction to insult the users and blame them for _your_ shortcomings. It can't be that your code has a piss-poor interface or other problems, it _must_ be those idiot Windows lusers that are to blame.
Now I'm not even going to ask that you start writing for the user. Sure. Go ahead and write for yourself. But I'm getting tired of your type spewing insults. No, it's not the users who are stupid, it's you who can't write a good program. It's that simple. Now go fsck yourself next time you feel like insulting a user.
A polar bear is a cartesian bear after a coordinate transform.
Isn't this the whole idea of F/OSS? Code for yourself, and if you help anyone in the process it's for the better. The motivation for F/OSS shouldn't be to code for others, but first and foremost to code for ones self: any other motivation is secondary.
Yes, do accept patches for features you yourself don't need, but F/OSS is egocentric in nature. This can be seen in larger company-backed F/OSS projects too. We shouldn't be afraid to recognize this motivation, and we surely shouldn't be afraid to defend it. For without this, F/OSS wouldn't be were it is today.
Who needs world domination? I'm perfectly happy with F/OSS as is. If you feel otherwise, don't point to others: roll up your sleeves yourself.
Yeah, I have the karma to burn, bring on those blowtorches
This sig is intentionally left blank
"... an annoying bug that is in Windows and has been copied on all the modern Linux desktops: the fact that clicking inside windows raises them to the top."
If you don't like it, in KDE, go to Control Center > Desktop > Window Behavior > Actions and change it. That is an example of the flexibility built in to Free Software by the diverse opinions of its contributors. The proprietary vendors won't offer choices like that, because they would then have to support all the poor confused users who messed their UI up and can't figure out how to fix it.
If you want a truly inconfigurable GUI, built from many years worth of homogenized commitee consensus on how to best pander to stupid users, try OS X.
Personally, I prefer choice.
1) The internal "what the fsck do these lines of code do"-comment. They don't belong in any form of real documention, since they're inherently tied to the implementation
2) The structural comments, that describe objects, classes and functions. These are typically in the source, and may be auto-generated by some tool like Doxygen etc. Great for a programming library, toolkit or such.
3) The end-user documentation, that describes procedures (like, configuring a mail account) and functionality. While it's closely tied to the code, it doesn't belong in the code. And keeping it accurate is a PITA.
OSS software does great on 1), well on 2), but very rarely 3) well, if at all. I think part of the reason is the lack of major releases. CSS software have typically these huge 1.0 2.0 etc. releases, for which people can write the abstract documentation, and it'll be accurate for a while.
In OSS software on the other hand, you typically have details changing here and there, options and checkboxes added or removed all the time. And then all those detailed guides with screencaps and whatnot look wrong and outdated. That's why so few bother to write them.
Kjella
Live today, because you never know what tomorrow brings
My God. This article really made me mad. Nevertheless, I will try to comment it as calmly and culturedly as possible, even though it might be hard.
First of all, I use Debian GNU/Linux on my desktop and most of my servers. When I copy a bunch of files, I write commands to do it. When I configure Apache, I edit text configuration files, reading and writing text. Do I do it because I don't have a better ("more intuitive," if you will) interface? No, not at all. When I prepare some text for a website, I also write HTML (or XHTML) and CSS even having lots of WYSIWYG editors at my disposal. When I write a paper for printing, I use TeX or LaTeX. Even though I might be using OpenOffice, Abiword, StarOffice, or anything else, I still prefer writing TeX or sometimes even PostScript by hand. That is just the way I choose to do it because I like it. I am sick of people who tell me that Donald Knuth is incompetent in "User Interface Design" because he uses a keyboard writing text instead of a mouse chasing flashy pictograms. I think the term "User Interface Design" is misleading, because it assumes that every user wants the same interface, which is not the case.
I, for one, find the CLIto be the most intuitive interface (OK, maybe the second most intuitive interface, right after the nipple). Seriously, I personally cannot imagine more intuitive interface than reading and writing text. Does that mean that in my opinion textual interfaces are better than GUI? Yes, of course. Do I bitch about GUI programs being "fundamentally flawed" as far as the "User Interface Design" goes? Hell, no! And why is that? Because textual interfaces are better than GUI for me and I am not so close-minded and stupid to think that what is best for me must be absolutely best for every human being in existence.
When I write a program for myself I always try to make it a Unix-style filter, whenever I can. It is a command controlled by command-line switches, operating on data coming from standard input or files specified on the command line, and printing the result on standard output and any non-data info on standard diagnostic output (stderr). On success it returns a 0 status, on error it returns an error code. Just like cat, sort, grep, cut, sed or ed.
Do you think that I have hard time using it because I was unable to design a user interface? No! I have designed a user interface which works best for me. That way that program can cooperate with other programs with simple shell glue and pipes, even with other programs on remote hosts with netcat, or even encrypted with ssh, all from the command line. If you want me to design a different interface which works best for you, then you can invite me for a good dinner, have sex with me, or pay me so I have some motivation to waste my precious time in order to make you happy.
"The lack of focus on user interface design causes users to prefer proprietary software's more intuitive interface." OK, that's true, but... which users? I am most certainly not one of them. I might paraphrase: "The lack of focus on user interface design causes users to prefer free software's more intuitive interface," which would also be true, just for different users.
I think that this article is stupid at best and insulting at worst. It basically says: "All users want X. No free software has X. All proprietary software has X. That is why all users prefer proprietary software." while it should be: "I want X. Free software I used doesn't have X. Proprietary software I use has X. That is why I prefer proprietary software." Anyone who dares to call herself even a remotely intelligent sophist will find even the latter reasoning laughable, but the former hasty generalization goes even beyond being simply amusing in its childish naivete. It is plainly insulting.
The bottom l
Sincerely,
Pan Tarhei Hosé, PhD.
"Homo sum et cogito ergo odi profanum vulgus et libido."
For example, the Borland free C/C++ compiler is free software, but it is not open source.
OTOH, I can't think of any open source software that is not also free software.
So I think that you have it the wrong way 'round; i.e., open source is a subset of free.
Those who sacrifice security to condemn liberty deserve to repeat history or something. - Benjamin Santayana
i would associate this with a project. people in the field tend to look at it from one perspective (and there is no right or wrong perspective here.)
:)
i believe it is similar to a project. you will need to determine the needs - assessment. once determined, you will plan what to do. follow the plan - actual implementation. of course, there is checking. once verified, it's ready to use.
but there are things missed in this. it is very very easy to plan and do the actual project. much like determining the software needs and meeting the needs for yourself. however, there is the other part that will be engaged by others. so the software will be used by other people. with my current project, we spend more of our time doing training, talking and explaining to people who do not seem to grasp the concept of the benefits but still blabber around, and getting others to even participate with it. the technical side was a breeze but the social aspect is much difficult. as an engineer, i could probably be a better psychologist.
i honestly say that i find it quite a little hard to explain in words. but to sum up, there are two sides to it, the technical and the people. most (not all) in the community is good in technical but poor in people skills so the open source community cannot connect to the general public. i think this is the missing link. if we can connect, they open source concept will propagate together with it software.
john
Live your life each day as if it was your last.
This example is not isolated. As a non-US user, I've struck numerous examples of this sort of thing in proprietary software from major companies, and usually bug reports are met with silence, or a "this only affects a minority of our customers, so we might fix it one day, but don't hold your breath" response. Bugs like this are taken very seriously in the Open Source and Free Software communities, probably because the diverse nature of the development teams means that a developer somewhere cares about the same problem.
Free is free, but free is not Free(tm).
Borland free c/c++ compile is not Free Software(see fsf.org).
PINE/PICO are free and opensource, but neither are Free Software(bad license).
There are commercial contributed Free Software (see the Quake series) thats not 'free' as in $0, though at the same time theres also much better examples of commercial companies that will give you the source under a restrictive license when you purchase their product, but this is more enterprise level.
Pain lasts, kid. Its how you know you're alive. Sometimes I think this growing up thing is just pain management-TheMaxx
The Borland compiler is free but it is not Free. It is "free as in beer" but not "free as in speech." In order to be Free (as in speech), it must include the source code. Therefore, by definition, all Free software is Open Source. However, it is perfectly possible to release source code under a license which does not meet the definition of Free (witness the recent uproar over XFree86's change in their license.) Therefore, not all Open Source software is Free. Thus, Free software is a perfect subset of Open Source software.
"The legitimate powers of government extend only to such acts as are injurious to others." Thomas Jefferson.
While it is true that the article is useless in that the "flaws" being made are so generic they apply to every software and development model (not to mention the complete lack of any examples or data to back up the claims), that doesn't mean that we should summarily dismissed them. Here is an opportunity for the Open Source world to stick it in the face of these kind of detractors. Go through each point and try to address it. Make whatever project/app/tool we write or use just that much better instead of going on about how idiotic the original article is (and it is idiotic). Then, with real working examples in hand, address each of the "flaws" directly. Tick them off one by one, showing what we are doing to make them better. Nothing makes people more frustrated than being shown up as fools in public.
--
If I actually could spell I'd have spelled it right in the first place.
> people who write software for "fun" won't waste time writing 'boring' documentation
> Implement a Wiki that allows people to document for you.
Your reasoning is circular and therefore suspect... If writing documentation is a waste of time, why does a Wiki change that?
As a former documentation volunteer on a project that Wiki zealots took over, I can tell you from bitter experience that Wikis don't work for technical documentation. For technical documentation to be usable, it must be clear, complete, correct, and current.
Simply implementing a Wiki doesn't insure any of those qualities. As a matter of fact, Wiki zealots want entries to be unclear and incomplete to encourage participation. Wikis also fill up with contradictory information, duplicate posts, and off-topic rants.
So simply implementing a Wiki doesn't negate the need to have a dedicated documentation volunteer.
Hey guys!
Sure the PC is a tool, but unlike hammers, and others it has so many uses, and the tasks can be done on many ways...so it requieres training.
Try to use and scientific calculator without reading the manual and you can figure out this!
All that every techie wants its that every PC owner take it responsability qoute and learn the basics of their computer. After that it will be easier for both parts (user techie) interact and make a better product.
Documentation is a problem on comercial and FOSS products, the diference is that first can be force because you pay and the second must be done as somebody have time. But the trend on this is to make more timelined and complete/clearer documentation on both.
If you see the broader scope of FOSS, is "natural" to have installations issues... but this is a step towards maturity.
Many volunteers works just to bring help to a product that helped to acomplish a task... yes is fine be in the credits list!!...
So software (computers, also) are not perfect!! it needs feedbacks between users and makers, the users needs/demmands better/cleare documentation and makers wants better trained people!
> a wiki can be very disorganized. But that's why you have volunteers to refactor it
A Wiki is like a litterbox. Someone has to keep cleaning out the "litter". This takes resources: time and a dedicated person or team. These resources could be better spent on creating quality documentation instead.
Instead, organize a central maintainer (person or team) to accept documentation submissions like you already do for your code submissions. What would happen to Linux if Linus gave everyone in the world anonymous write access to its source code? Think about it.
Yes, that's true and a valid PoV.
But we're talking about software quality here. Doesn't open source software compare well to closed-source on merit? Or do we need to excuse its technical shortcomings on the grounds of its philosophy?
Ceterum censeo subscriptionem esse delendam.
After downloading and deploying free and open source software your wallett has still its original contents. I mean the default standard installed version which emerges after doing a
2. Everyone is owner.
After deploying free and open source software, you yourself or your company/organisation are 100% in charge of what is about to happen with that software. The user is at the same time owner.
3. Free Access for everyone
Access to free and open source software is not blocked by: money, race, corporate regulations. The only limitation is the range and overview of your own brain and imagination.
4. Intelligent solutions
Free and open source software encourages its users to think for their own. No-one enforces free and open software as the only choice available.
5. Independancy :)
Free and open source software makes you as a individual or company independant. No single software vendor lock-in is possible. If the company doing your Free and OSS maintenance screws up, you as a organisation/company can choose a alternative company for maintenance. Why? YOU HAVE THE SOURCE, Luke!
Now debunking the authors Fundamental problems :
1. User interface design.
The author only sees himself as a dumb mode windows XP user. If the resemblance of the OSS package cannot be satfisfiedly enough found back inside the Windows platform, the OSS software apparently is _NOT_ usable. I say thats rubbish. It somehow points back to his own point 5. Religious blindness, also the commerical closed software camp is blinded to a certain extent.
2. Documentation
I really wonder why the author took this one. Generally speaking the most popular and successfull OSS packages have briljant documentation. There are a few exceptions though, where the source or outdated man pages are all what is offered. In that case IMHO the OSS package should _NOT_ be considered. Simple as it gets. But again, generally speaking Bad Documentation in Open Source land is really an exception. If i compare that to certain windows documentation, which level doesn't reach further as : right-click this button (see fig 1a) to view CD properties, and at the same not explaining what a certain property actually means. I Think the best hilarious example is the F1 HELP inside Award and Phoenix BIOS-es.
3.Feature-centric development.
Again a misconception. I agree that certain OSS projects are indeed on a Feature-centric ego-tripping track. But again, because we speak open source, no-one is forbidding you to go back to that still sane older version and debark to more improved versions from there. I admit I really view this from the developer point of view, and not the dumb end-users. Actually I really wonder how many dumb end users will heave read the authors article.
4. Programming for the self.
Again from a dumb end user point of view, the author has a point. Indeed certain tools are only fixed to the level upon which the programmer himself is satisfied. However! Because it is Open Source, any other user can pickup the half-finished result and make it a perfect fit for his own use. Actually, inside the SAP and Axapta ERP software business, this is common pratice, and is called customization programming.
5.Religious blindness :)
I really wonder where the author wants to go with this accusation. Does he mean Linus Torvalds, managing the linux kernel source tree, and flaming new contributors upon their submitted pacthes, which mostly contain design errors which indeed new comers to kernel development always make
Robert
I have been providing software development services to clients since 1987. I have been programming since 1978-79.
Most projects I've worked on have had known moderate-severe stability and reliability problems with core data processing components. Time and again I've watched budget and resources squandered on pretty GUI enhancements instead of addressing the back end server problems.
Why? Because it's politically advantageous to kiss the butts of user departments with funding budgets rather than worrying about how often the support and development teams have to service pager calls in the wee hours of the morning.
My personal projects are functionality and stability first. I don't give a damn about user interface issues beyond them being able to access the functionality in a fashion I find convenient.
I've spent many years dealing with usability "issues". The vast majority of the issues are the result of letting random user communities dictate how the system interacts, rather than following user interface guideline standards including the now-ancient CUA (Common User Access) from IBM.
I can and do provide perfectly usable systems with reliable, predictable interfaces. They just don't provide all the eye candy and configurability that users think matters more than functionality and stability.
Your other comments on Microsoft weren't incorrect, but I see their impact from a different viewpoint. It's their pushing of crashware that has conditioned users to find it perfectly acceptable for a system to corrupt the entire system, but get bitchy if they can't change the fonts and colors for each and every item in the GUI.
Feh. I don't respect users because they don't respect me. My UI design suggestions are based on years of experience, further bolstered by recommendations and guidelines gleaned from usability studies for high-volume data entry and casual user interface requirements.
If you find them hard to use, it's because you're too focused on being able to do things however you want, whenever you want. That flexibility takes time and adds unnecessary risk to the stability and reliability of the application.
Functionality first. User nitpicking can be dealt with by someone with the time and/or budget to do so.
I do not fail; I succeed at finding out what does not work.
although there is an incredible amount of overlap between Open Source and Free neither is a subset of the other.
every day http://en.wikipedia.org/wiki/Special:Random
Free software, in this context, means something other than what you think it does. (You have the inadequacy of the English language to thank for your confusion.)
The proper solution is to separate the 2 tasks. Especially since the overlap between the two is not that great. Hence, I think tools like GLADE should be used much more. I think the whole GUI should be designed in such an application, with the description stored in a file and loaded dynamically at runtime. The UI designer would design the interface, and the functionality would be limited to callbacks defined in the UI file.
Software sucks. Open Source sucks less.
>In the case of a mac, my roommmate can go to the Mac store and buy a printer, camera, video camer, software,
>install it and use and not have to think about how to get it running. You can't do that with Linux
Knoppix has worked flawlessly for me from the CD, with all hardware.
There's no excuse for all distros not doing the same.
gewg_