I think you hit the nail on the head there. The US has pretended to have a single dominant culture in the past, but it never really had one. It certainly doesn't have one now. We are a land of hundreds of separate and distinct tribes living in close proximity. While there are benefits to this multiculturalism, it's not without its price.
Europe is different. Many European nations have had a dominant culture for so long that they're actually NAMED for the culture! When everyone in your city looks the same, dresses the same, speaks the same language, and belongs to the same religion, it's pretty easy to lead a very level existence. But you're changing and changing rapidly. The only thing keeping you from US style social turmoil is inertia.
The security and vulnerability lies in the end user.
But it's the end user we're all fawning over. We utter statements that Linux will never enter the mainstream until it caters to every whim of the end user. All usability efforts revolve around the end user. The newer the end user is to computers, the higher the pedestal we place him upon.
It is this trend that will make Linux as insecure and vulnerable as Windows.
Before you reply that Apple managed to do it, take an honest look at OSX. Apple does not consider "convenience" to be an acceptable substitute for "usability". But we in the Open Source community have absolutely no clue as to what "usability" really is, so we latch on to convenience and simplification instead.
History already supplies us an answer to this question. Lindows originally shipped with a password-less default root account. Why did they do such a braindead nincompoop maneuver? Because it made the system easier to use. I know several people who think Linux is too hard to use because they have to log in.
The security of a system is inversely proportional to its convenience of use. It follows that the more convenient we make a system to use, the less secure it will be.
I am rapidly coming to the conclusion that while we shouldn't deliberately make software difficult to use, it is equally wrong to cater to the lowest common denominator user. We erred when we decided that computers should be easy enough for completely untrained users to operate.
I was thinking of installing BitTorrent on my system. That would have made one wxWidgets/GTK (or possibly wxWidgets/OpenMotif) application on my FreeBSD system. Since I'm not interested in the others listed at wxWidgets, it's still trailing behind FOX and FLTK.
You sir, are the exception. For every one complaint of yours, there are twenty whining that Qt isn't appropriate for writing proprietary user subjugating shareware.
His quote says "there is no community for Free Software development under Windows." I believe he is entirely correct. You are talking about what you use, not about the Free Software you are creating for Windows.
There is no community of Windows developers that are actively developing Free Software for Windows users. You may find a few things (like your list of apps), but they are primarily developed by Unix developers on a Unix system, and not Windows originals.
Where are all these wxWidgets freaks coming from. Did the name change suddenly confer mass popularity on the project or something?
To date, I have yet to see any X11 software that used wxWidgets besides one dialog editor for wxWidgets. Maybe its doing gangbusters in Windows land, but it's an unknown in my world.
I always know when another virus or worm has been found "out in the wild". All of the MCSE's at my company start running around with flailing arms bemoaning the inhumanity of it all. I'm not running Windows at work, so I just sit back and enjoy the panic. Just like Ricky in "The Burbs".
Public Linux servers have been hacked, to be sure. But this is a much different thing from discovering a new worm every week floating around the Windows world.
To hack into the Gentoo, Gnome, Debian and GNU servers, the crackers had to sit down and work at it. It didn't come for free. But write a new worm variant and several million p2p and outlook users will deliver it to your victims for free.
Think of your home's security. Anyone with a sledgehammer can break into your home, regardless of the quality of your deadbolts. That's what happened to those servers. But in the windows world we get a bunch of houses with hollow veneer front door with a brass flip latch for a lock, and no back door at all, just a wide open portal.
Even with a steel door and twenty deadbolts, eardrum destroying alarm, and a pair of Rottweilers, you could still get broken into. But that's no reason to encourage the burglars with cardboard doors and a lawn sign that says "if it's not too much trouble, could you please not break into my home tonight".
Pondering this whole error messages thread, I'm beginning to come to the conclusion that you have to display a generic message, and log the real technical information to syslog. Since the user doesn't care that fork() failed, only that an error occurred, merely tell him that an error occurred. Though this violates everything everyone knows about good error messages, it may in fact be the best course to take, and hang the usability experts in their ivory towers.
The user can't fix the problem. So don't give the user the information required to fix it. Give it to the administrator instead in the form of system logs.
"An error occurred. Unable to open the file. Please inform your system administrator of this."
I understand where you're coming from, but I'm suspicious that the actual implementation would solve the problem from the user's perspective.
Assuming C++ exceptions are used, we throw the error back up, adding a bit of the message at each step. Finally we reach the point were the error gets reported to the user, and it's all printed out. Makes sense at first, and shouldn't be too hard to implement.
Problem one: Since KDE is component based, standard exceptions aren't going to work. You have to create your own implementation, make it work across components, and probably between processes as well.
Problem two: The user isn't interested in the low level errors. He doesn't care what an ioctl is, let alone why it failed. Working your way back up, you eventually get to the point where the error message must be displayed, and there aren't any strings coming up from below to help you. So you're back to square one.
Problem three: This requires cooperation between KDE, libc, and the kernel, and all other components in between. That's because the information we need to make an accurate assessment of the problem to present to the user is happening at that low of a level. Do we really want to bloat the kernel and C libraries with this? Do we really want to break conformance with the POSIX and ISO standards in order to implement this?
I'll stop because I'm starting to sound like a pessimist. I'm not, I'm just trying to explain why it hasn't been done already. Having been around computers for an awfully long time, I've come to the realization that there's not much new in computing any more. All of the easy stuff, most of the moderately complex stuff, and some of the really hard stuff, has already been done before. It could very well be that the good error reporting belongs to the really hard category. Which would explain we we don't see it in KDE, Gnome, OSX or Windows.
The real problem is not the error messages. It's the nature of error messages themselves. Most error messages do not benefit the user in anyway, because they cannot possibly contain any information that would be useful, other than the fact that an error occurred. But this information IS useful for the system administrator or application developer.
Perhaps most error messages should say something like "An error occured, please talk to your system administrator about this", then log the actual problem in all its technical glory to syslog. After all, that's what modern automobiles do with their "idiot lights".
I'm using KDE on FreeBSD, and I don't have any problems with USB with KDE. If there is a "linuxism" in KDE (and there still are some), log it as a bug to KDE.
Yeah dammit! I want to send out "me too" messages with a 500k green BMP backgrounds, blinking gray text, and a 250k EPS company logo.
Everytime I get a one megabyte email from the VP containing the sole contents of "yes, I will attend", I thank Microsoft I'm living in 2004 instead of 1995.
klauncher was unable to launch kio-audiocd. This can occur because [wrong answer], [wrong answer] or [wrong answer]. Try [inappropriate action] and try again to get the same [wrong answer].
The first sentence is essentially identical to the original error message. Everything else though is guesswork on the system's part. You might luck out and get the right answer, but you probably won't.
Error messages should not be reporting the root cause unless it is sure that it is correct. Don't say the user might be running out of memory unless the error directly indicates the running out of memory! Windows does stuff like this and it drives me batty! It may be "friendly", but it's still stupid. After a while the user will stop paying attention to error messages because experience has taught him that they are wrong.
At the point of error, the system will know what the current problem is. It might not be possible to express the problem in user friendly terms, but it should still be expressed. Never resort to guesswork.
Okay, let's translate that into "user speak". The original error said:
Could not start process Unable to create io-slave: klauncher said: Error loading 'kio-audiocd'.
How can this be translated in "user speak"? I don't think it could without a lot of additional KDE infrastructure. That's because the error is meaningful to the user only in terms of the context, but this context is not passed around to different components.
The error indicates that the user probably clicked on a icon that displays the audiocd kioslave in a konqueror window. At the point the error occurred, KDE does not know, nor should it care, whether the user started with by clicking on an icon that contained the "audiocd:/" url, or whether this url was typed into Konqueror, or whether it was typed into the KDesktop run dialog, or whether was to passed along from another application.
In order to solve this problem, the fact that the user clicked on an icon has to be placed on a context stack somewhere, so that when an error occurs, the error reporting mechanism unwinds to find out exactly what the user was doing. It sounds simple in concept, but would be very difficult to implement, and would consume valuable resources. Is this worth this effort just to eliminate technical terms in the error message?
The second problem is that of names. What do you call "klauncher" or "kio-audiocd"? These are not applications that the user runs directly. No matter how "friendly" you make their names, they will be meaningless to the user.
Then we have the whole problem of standard KDE names that the silly distro went off and renamed! It's no longer Konqueror that tried to load kio-audiocd, but "Web Browser". But even "Web Browser" is going to confuse the user, because the are not going to associate the web browser with the application that lets them grab ogg tracks.
Third, what about technical words like "load" and "component"? Should those be rewritten to make them friendlier? How about "transfered from your hard drive into memory", and "part of the program"?
We COULD issue an error message like the following, but it wouldn't be much of an improvement in the long run.
"KDE was unable to run the application associated with the 'Grab Ogg Tracks' button. The error was 'KDE Application Enabler was unable to transfer to memory the Audio CD Browser portion of the Audio CD Browser program'".
I'll ignore the crack about "desktop linux", since I use KDE on FreeBSD instead, and assume that you mean "Free Software desktops for Unix and Unix like systems" instead.
I understand that there are legitimate grievances and complaints about KDE, Gnome, XFCE, etc. But those projects do not have unlimited development resources. And even if they did have an infinite number of code monkeys bashing away at workstations, those legitimate grievances and complaints are often contradictory. Some complainer wants more buttons on title windows to allow screenshots and mac-style maximize, while another wants them all removed except for min, max and close. Who do you please?
But the solutions to this are easy.
1) Write up good bug reports. No defect in KDE or Gnome was ever addressed because someone bitched about it on Slashdot. Personally, I hate writing high quality bug reports. So I make it a point not to complain about something without first logging it as a bug (or seeing if one exists). If it's irksome enough to me, I'll log one. Otherwise I keep my mouth shut because it's not important enough.
2) Code it yourself. Seriously! A lot of these complaints don't take much coding effort, merely an attention to detail, a thorough understand of the implications of the change, and the will to plow through the political resistance to change.
3) Get someone else to code it for you. Cash, beer and gift certificates to ThinkGeek are excellent motivators to get a developer to code something up for you. I have done this myself, on both sides of the transaction.
4) Join a quality team for a desktop.
In summary, it's up to YOU to do something about it. This isn't Microsoft where we give billions to Bill and hope the next Windows won't be WinME Redux. These are community projects that are written by and for the community. If you're not involved in the community no one is going to listen to you.
Actually, the only edge Windows has is ubiquity. Since 98% of the users don't need 98% of the features of MS Office, then can do with OpenOffice just fine.
Go ahead and do it! As a KDE fan, I think this would be the greatest thing Gnome could do. Switch to Eiffel, round up all of the five Gnome developers who know Eiffel, abandon the others, and rewrite the desktop from scratch in the new language. No way in the world would KDE be able to compete with that!
First you say "no", implying that AT&T didn't get their monopoly through government fiat, then you go on to list the various government privileges handed to them that enabled their monopoly: patents, local service monopolies allowing long distance leveraging, and and finally an out-and-out grant.
So what was it? Did AT&T get their monopoly because the free market is inherently broken, or was it as history shows because the government helped them?
Actually, Microsoft has a monopoly because there is no free market in intellectual property. There's this thing called "copyright", you see. Without it Microsoft would have to compete with all the other vendors of Windows clones.
They would have been like IBM, hoping that no one would reverse engineer the BIOS (or DOS, Windows, Office), but powerless to do anything once it happened.
Neither of those took over an existing free market, because before Standard Oil there was no oil industry, and before AT&T there was no telephone industry. They were rather like Microsoft in that they were at the beginning of a new market.
Standard Oil was in decline via free market forces before the government stepped in. And AT&T was given monopoly status by the government. Microsoft is where it is today because the government gave it a monopoly in the form of copyrights on Windows and MSOffice.
MS Office is used by my customers, and since nobody else can read the proprietary Office files[1], *I* have to buy Office to communicate. When my client upgrades, *I* have to upgrade or I'm locked out from the new file format he'll be sending me files in. I was perfectly happy with the old MSOffice, but I was FORCED AGAINST MY WILL to upgrade. It's either that, or GO OUT OF BUSINESS.
You're not bitching here about a monopoly, you're bitching about a proprietary file format. There is a difference. Please redirect your rage to the appropriate recipient.
What do you do when a customer sends you a file written in ClarisWorks, go out and buy a Mac against your will? What do you do when they send you a file in FrameMaker? I'm willing to bet that you FORCE THEM to use a Microsoft product. You're probably just as much the problem as Microsoft.
I get MSWord documents passing my desktop by the dozens every week at at work. And to date (about three years) there has been only one that OpenOffice or TextMaker couldn't handle.
I think you hit the nail on the head there. The US has pretended to have a single dominant culture in the past, but it never really had one. It certainly doesn't have one now. We are a land of hundreds of separate and distinct tribes living in close proximity. While there are benefits to this multiculturalism, it's not without its price.
Europe is different. Many European nations have had a dominant culture for so long that they're actually NAMED for the culture! When everyone in your city looks the same, dresses the same, speaks the same language, and belongs to the same religion, it's pretty easy to lead a very level existence. But you're changing and changing rapidly. The only thing keeping you from US style social turmoil is inertia.
The security and vulnerability lies in the end user.
But it's the end user we're all fawning over. We utter statements that Linux will never enter the mainstream until it caters to every whim of the end user. All usability efforts revolve around the end user. The newer the end user is to computers, the higher the pedestal we place him upon.
It is this trend that will make Linux as insecure and vulnerable as Windows.
Before you reply that Apple managed to do it, take an honest look at OSX. Apple does not consider "convenience" to be an acceptable substitute for "usability". But we in the Open Source community have absolutely no clue as to what "usability" really is, so we latch on to convenience and simplification instead.
History already supplies us an answer to this question. Lindows originally shipped with a password-less default root account. Why did they do such a braindead nincompoop maneuver? Because it made the system easier to use. I know several people who think Linux is too hard to use because they have to log in.
The security of a system is inversely proportional to its convenience of use. It follows that the more convenient we make a system to use, the less secure it will be.
I am rapidly coming to the conclusion that while we shouldn't deliberately make software difficult to use, it is equally wrong to cater to the lowest common denominator user. We erred when we decided that computers should be easy enough for completely untrained users to operate.
I was thinking of installing BitTorrent on my system. That would have made one wxWidgets/GTK (or possibly wxWidgets/OpenMotif) application on my FreeBSD system. Since I'm not interested in the others listed at wxWidgets, it's still trailing behind FOX and FLTK.
You sir, are the exception. For every one complaint of yours, there are twenty whining that Qt isn't appropriate for writing proprietary user subjugating shareware.
His quote says "there is no community for Free Software development under Windows." I believe he is entirely correct. You are talking about what you use, not about the Free Software you are creating for Windows.
There is no community of Windows developers that are actively developing Free Software for Windows users. You may find a few things (like your list of apps), but they are primarily developed by Unix developers on a Unix system, and not Windows originals.
Where are all these wxWidgets freaks coming from. Did the name change suddenly confer mass popularity on the project or something?
To date, I have yet to see any X11 software that used wxWidgets besides one dialog editor for wxWidgets. Maybe its doing gangbusters in Windows land, but it's an unknown in my world.
Talking with a Sun employee, I got the rather strong impression that Sun chose GTK+ because they only had C and Java guys.
Since that's a daily event, I just do what I do every day... curse at the nitwits who decided we should be a Microsoft company.
I always know when another virus or worm has been found "out in the wild". All of the MCSE's at my company start running around with flailing arms bemoaning the inhumanity of it all. I'm not running Windows at work, so I just sit back and enjoy the panic. Just like Ricky in "The Burbs".
Public Linux servers have been hacked, to be sure. But this is a much different thing from discovering a new worm every week floating around the Windows world.
To hack into the Gentoo, Gnome, Debian and GNU servers, the crackers had to sit down and work at it. It didn't come for free. But write a new worm variant and several million p2p and outlook users will deliver it to your victims for free.
Think of your home's security. Anyone with a sledgehammer can break into your home, regardless of the quality of your deadbolts. That's what happened to those servers. But in the windows world we get a bunch of houses with hollow veneer front door with a brass flip latch for a lock, and no back door at all, just a wide open portal.
Even with a steel door and twenty deadbolts, eardrum destroying alarm, and a pair of Rottweilers, you could still get broken into. But that's no reason to encourage the burglars with cardboard doors and a lawn sign that says "if it's not too much trouble, could you please not break into my home tonight".
Pondering this whole error messages thread, I'm beginning to come to the conclusion that you have to display a generic message, and log the real technical information to syslog. Since the user doesn't care that fork() failed, only that an error occurred, merely tell him that an error occurred. Though this violates everything everyone knows about good error messages, it may in fact be the best course to take, and hang the usability experts in their ivory towers.
The user can't fix the problem. So don't give the user the information required to fix it. Give it to the administrator instead in the form of system logs.
"An error occurred. Unable to open the file. Please inform your system administrator of this."
I understand where you're coming from, but I'm suspicious that the actual implementation would solve the problem from the user's perspective.
Assuming C++ exceptions are used, we throw the error back up, adding a bit of the message at each step. Finally we reach the point were the error gets reported to the user, and it's all printed out. Makes sense at first, and shouldn't be too hard to implement.
Problem one: Since KDE is component based, standard exceptions aren't going to work. You have to create your own implementation, make it work across components, and probably between processes as well.
Problem two: The user isn't interested in the low level errors. He doesn't care what an ioctl is, let alone why it failed. Working your way back up, you eventually get to the point where the error message must be displayed, and there aren't any strings coming up from below to help you. So you're back to square one.
Problem three: This requires cooperation between KDE, libc, and the kernel, and all other components in between. That's because the information we need to make an accurate assessment of the problem to present to the user is happening at that low of a level. Do we really want to bloat the kernel and C libraries with this? Do we really want to break conformance with the POSIX and ISO standards in order to implement this?
I'll stop because I'm starting to sound like a pessimist. I'm not, I'm just trying to explain why it hasn't been done already. Having been around computers for an awfully long time, I've come to the realization that there's not much new in computing any more. All of the easy stuff, most of the moderately complex stuff, and some of the really hard stuff, has already been done before. It could very well be that the good error reporting belongs to the really hard category. Which would explain we we don't see it in KDE, Gnome, OSX or Windows.
The real problem is not the error messages. It's the nature of error messages themselves. Most error messages do not benefit the user in anyway, because they cannot possibly contain any information that would be useful, other than the fact that an error occurred. But this information IS useful for the system administrator or application developer.
Perhaps most error messages should say something like "An error occured, please talk to your system administrator about this", then log the actual problem in all its technical glory to syslog. After all, that's what modern automobiles do with their "idiot lights".
I'm using KDE on FreeBSD, and I don't have any problems with USB with KDE. If there is a "linuxism" in KDE (and there still are some), log it as a bug to KDE.
WELCOME TO 2004
Yeah dammit! I want to send out "me too" messages with a 500k green BMP backgrounds, blinking gray text, and a 250k EPS company logo.
Everytime I get a one megabyte email from the VP containing the sole contents of "yes, I will attend", I thank Microsoft I'm living in 2004 instead of 1995.
klauncher was unable to launch kio-audiocd. This can occur because [wrong answer], [wrong answer] or [wrong answer]. Try [inappropriate action] and try again to get the same [wrong answer].
The first sentence is essentially identical to the original error message. Everything else though is guesswork on the system's part. You might luck out and get the right answer, but you probably won't.
Error messages should not be reporting the root cause unless it is sure that it is correct. Don't say the user might be running out of memory unless the error directly indicates the running out of memory! Windows does stuff like this and it drives me batty! It may be "friendly", but it's still stupid. After a while the user will stop paying attention to error messages because experience has taught him that they are wrong.
At the point of error, the system will know what the current problem is. It might not be possible to express the problem in user friendly terms, but it should still be expressed. Never resort to guesswork.
Okay, let's translate that into "user speak". The original error said:
Could not start process Unable to create io-slave:
klauncher said: Error loading 'kio-audiocd'.
How can this be translated in "user speak"? I don't think it could without a lot of additional KDE infrastructure. That's because the error is meaningful to the user only in terms of the context, but this context is not passed around to different components.
The error indicates that the user probably clicked on a icon that displays the audiocd kioslave in a konqueror window. At the point the error occurred, KDE does not know, nor should it care, whether the user started with by clicking on an icon that contained the "audiocd:/" url, or whether this url was typed into Konqueror, or whether it was typed into the KDesktop run dialog, or whether was to passed along from another application.
In order to solve this problem, the fact that the user clicked on an icon has to be placed on a context stack somewhere, so that when an error occurs, the error reporting mechanism unwinds to find out exactly what the user was doing. It sounds simple in concept, but would be very difficult to implement, and would consume valuable resources. Is this worth this effort just to eliminate technical terms in the error message?
The second problem is that of names. What do you call "klauncher" or "kio-audiocd"? These are not applications that the user runs directly. No matter how "friendly" you make their names, they will be meaningless to the user.
Then we have the whole problem of standard KDE names that the silly distro went off and renamed! It's no longer Konqueror that tried to load kio-audiocd, but "Web Browser". But even "Web Browser" is going to confuse the user, because the are not going to associate the web browser with the application that lets them grab ogg tracks.
Third, what about technical words like "load" and "component"? Should those be rewritten to make them friendlier? How about "transfered from your hard drive into memory", and "part of the program"?
We COULD issue an error message like the following, but it wouldn't be much of an improvement in the long run.
"KDE was unable to run the application associated with the 'Grab Ogg Tracks' button. The error was 'KDE Application Enabler was unable to transfer to memory the Audio CD Browser portion of the Audio CD Browser program'".
Easy to do.
Preferences
-> peripherals
-> display
Bingo!
I'll ignore the crack about "desktop linux", since I use KDE on FreeBSD instead, and assume that you mean "Free Software desktops for Unix and Unix like systems" instead.
I understand that there are legitimate grievances and complaints about KDE, Gnome, XFCE, etc. But those projects do not have unlimited development resources. And even if they did have an infinite number of code monkeys bashing away at workstations, those legitimate grievances and complaints are often contradictory. Some complainer wants more buttons on title windows to allow screenshots and mac-style maximize, while another wants them all removed except for min, max and close. Who do you please?
But the solutions to this are easy.
1) Write up good bug reports. No defect in KDE or Gnome was ever addressed because someone bitched about it on Slashdot. Personally, I hate writing high quality bug reports. So I make it a point not to complain about something without first logging it as a bug (or seeing if one exists). If it's irksome enough to me, I'll log one. Otherwise I keep my mouth shut because it's not important enough.
2) Code it yourself. Seriously! A lot of these complaints don't take much coding effort, merely an attention to detail, a thorough understand of the implications of the change, and the will to plow through the political resistance to change.
3) Get someone else to code it for you. Cash, beer and gift certificates to ThinkGeek are excellent motivators to get a developer to code something up for you. I have done this myself, on both sides of the transaction.
4) Join a quality team for a desktop.
In summary, it's up to YOU to do something about it. This isn't Microsoft where we give billions to Bill and hope the next Windows won't be WinME Redux. These are community projects that are written by and for the community. If you're not involved in the community no one is going to listen to you.
Windows has, really, only one real edge: Office.
Actually, the only edge Windows has is ubiquity. Since 98% of the users don't need 98% of the features of MS Office, then can do with OpenOffice just fine.
Go ahead and do it! As a KDE fan, I think this would be the greatest thing Gnome could do. Switch to Eiffel, round up all of the five Gnome developers who know Eiffel, abandon the others, and rewrite the desktop from scratch in the new language. No way in the world would KDE be able to compete with that!
First you say "no", implying that AT&T didn't get their monopoly through government fiat, then you go on to list the various government privileges handed to them that enabled their monopoly: patents, local service monopolies allowing long distance leveraging, and and finally an out-and-out grant.
So what was it? Did AT&T get their monopoly because the free market is inherently broken, or was it as history shows because the government helped them?
Except for Microsoft...
Actually, Microsoft has a monopoly because there is no free market in intellectual property. There's this thing called "copyright", you see. Without it Microsoft would have to compete with all the other vendors of Windows clones.
They would have been like IBM, hoping that no one would reverse engineer the BIOS (or DOS, Windows, Office), but powerless to do anything once it happened.
Neither of those took over an existing free market, because before Standard Oil there was no oil industry, and before AT&T there was no telephone industry. They were rather like Microsoft in that they were at the beginning of a new market.
Standard Oil was in decline via free market forces before the government stepped in. And AT&T was given monopoly status by the government. Microsoft is where it is today because the government gave it a monopoly in the form of copyrights on Windows and MSOffice.
MS Office is used by my customers, and since nobody else can read the proprietary Office files[1], *I* have to buy Office to communicate. When my client upgrades, *I* have to upgrade or I'm locked out from the new file format he'll be sending me files in. I was perfectly happy with the old MSOffice, but I was FORCED AGAINST MY WILL to upgrade. It's either that, or GO OUT OF BUSINESS.
You're not bitching here about a monopoly, you're bitching about a proprietary file format. There is a difference. Please redirect your rage to the appropriate recipient.
What do you do when a customer sends you a file written in ClarisWorks, go out and buy a Mac against your will? What do you do when they send you a file in FrameMaker? I'm willing to bet that you FORCE THEM to use a Microsoft product. You're probably just as much the problem as Microsoft.
I get MSWord documents passing my desktop by the dozens every week at at work. And to date (about three years) there has been only one that OpenOffice or TextMaker couldn't handle.