It always bugs me when I see linux advocates pushing coders to take Windows as an example of a good interface.
Imagine the reaction on Slashdot if one day Linus said "hey, we should copy microsoft. They're a big faceless company and must spend hundreds of millions of dollars to make Windows secure".
It's always fascinated me how linux advocates will gloat about how microsoft spends millions on Windows security and ends up with an incredibly insecure OS, but are totally unwilling to believe microsoft can spend millions on usability research and wind up with a completely unusable interface.
Users rarely complain about badly designed user interfaces. They accept that computers are nasty, evil devices that make their lives hell and prevent them from doing work as much as possible. They say nothing to you, and then they come home to their families and say "I hate computers".
An end user not complaining about a bad UI is like somone complaining that a torture device like the rack is "uncomfy". It's just accepted that the experience will suck.
There is so much general computer-phobia in the world because end-users have not yet realized that it's not the computers in general that's the cause of their problems with an application, but rather it's the individual programmers who wrote the application who are the problem.
People were totally disgusted with a computing experience that for 9 hours a day frustrated them and prevented them from doing work, and there we were building our entire economy around people coming home from work and doing absolutely everything with their computers.
Why did people with way too much money think that Jane Secretary would sit through 9 hours a day of problems caused by bad usability, get berated by "Nick Burns The Computer Guy" for not understanding that the "save" menu selection deletes everything, and then go home and by dog food over the Internet?
What's holding linux back? The linux community has a long heritage (starting with it's predecessor, unix) of devaluing graphical user interfaces in specific and usability in general.
Isn't it odd we keep asking ourselves what stands in desktop linux's path when we all know where the unix people stood in 1984.
A community that places no worth in non-technical people being able to get stuff done with a minimum of fuss has lost the battle for the desktop before it ever started fighting it. Every time I hear someone in the linux technical community refer to GUI's as 'click-and-drool', it is painfully clear to me as why linux is getting its asked kicked by an incompetant bunch of fools from Redmond Washington.
I think desktops using a linux kernel will be so much better and more successful once the unix folks are shut out of the GUI design process. We let the programmers design algorithms, and we let'em design precious little else.
I agree that the problem with this situation is that people don't want to learn, but the people who don't want to do the learning (as usual) are the programmers (specifically those of Word) who are designing the bad user interfaces.
If the programmers at Microsoft had actually taken the time to read fine manuals about software usability, they would obviously have known that having both an "Options" menu selection and a "Customize" menu section is ambiguous and exceptionally bad user interface design. In fact, Word is even worse than that; the places you have to go to turn off annoying stuff (which should have been turned off by default in the first place) are spread throughout the entire damn program. There is no one single preferences area for configuring options in Word. And that's what so many people stumble over and why they call their friends at 3AM in the morning.
The problem isn't that GUI development needs more women, the problem is that GUI development needs programmers who will actually listen to the existing men (or women) who are knowledgable in areas of usability who have been screaming at them about really bad usability problems for the last five years.
If you want more user friendly GUI's, what you really want are Free Software developers who will actually listen to the usability people and not tell them "That's what you want. That's not what I want" or "Quit whining about what you get for free".
The only way that Linux will ever be completely like Windows is if it runs on top of an NT microkernel and is distributed by Microsoft. Linux will never, ever have the same behavior as Windows. Something will be different somewhere and will act differently in the Linux Windows clone, and it just can't be helped.
Even worse than something being unfamiliar is a situation where a familiar environment is presented and the user expectation of a familiar behavior is violated. If you pursue a Windows clone, you will not achieve familiarity; you will only achieve violation of user expectation, and this will scare users far more than the most alien-looking UI imaginable.
Contrary to popular belief, Microsoft didn't know what the hell they were doing when they designed Windows.
Microsoft are the people who gave us Window-In-Window MDI, multi-row tabs, an unnatural button-ordering in dialogs, and the close button next to the maximize button.
To be fair, some of these problems weren't due to the fact that Microsoft was stupid, it was due to the that they didn't want to get sued by Apple. So they took Apple designs that worked and made it different so they could avoid lawsuits (fat lot of good that did them). In making the Apple designs slightly different, in many cases Microsoft also made them not work.
The question we should be asking ourselves is not "do we want linux to be familiar" but "do we want a bad copy of a bad copy?"
To rebut an argument before it happens, some die-hard Linux geek will undoubtedly proclaim I don't know what I'm talking about and point of that Microsoft spends hundreds of millions of dollars a year on usability research to make Windows extremely usable. I would point out to that person that Microsoft also probably spends hundreds of millions of dollars on security research to make Windows extremely secure.
Bad UI design costs more than unfamiliarity
As said before, Microsoft put the button that closes stuff (the 'X') right next to the maximize button. This is possibly one of the stupidest UI decisions ever made, and has probably cost corporate America, at conservative estimate, at least $100 million. (Every time a secretary accidently deletes a letter or an executive destroys his or her presentation) x (total number of secretaries and CEO's) x (number of years windows has been around (~10)) = a whole lotta money.
Unfamiliarity is brief; bad, destructive or extremely inefficient UI lasts for decades.
Because things won't get any better
There is this argument (virtually always presented by techies who don't know a lot about UI design and it's history) that once we migrate everyone to our new and improved "Windows-On-Top-Of-A-Linux-Kernel", we can then get more daring and unfamiliar and achieve true UI and usability progress.
Yeah, right. Who the hell are we trying to fool?
Do you think that once a company switches to a linux Windows clone that they are just going to one day switch to a non-familiar, better linux UI some time in the future? As the code for most linux UI's is Open Source, it's not going to be like it is with Windows or MacOS, where better and unfamiliar UI can be forced into the situation because the software is proprietary and unmodifiable. If the desktop projects try to push UI progress, dinosaur sysadmins and CTO's can merely modify the UI back to it's less unusable, Redmond-clone state.
And keep in mind that in general, once a UI paradigm is established, it stays around for decades. The computer industry has already had two decades of backward UI design; I don't want several more, no matter what license it's put under.
Proprietary Linux software
It only gets worse when you realize that if a Windows clone is implemented, and assuming linux does acquire dominance, all the proprietary software folks who port to linux will be using Windows UI conventions for a very long time.
I'm not saying you should write what we want; I'm just saying that if you don't, you should shut about people, governments, are corporations not using your software.
Hypocrites are people who say "We want the desktop, we demand our government use Free Software, world domination baby!" and then turn right around and yell "quit whining about what you get for free" or "Free Software doesn't entitle you to a usable interface".
I actually appreciate your post and I'm glad you made it. It reminds me why I'm writing a public license that enforces usability and bans kernel hackers (the leaders of the linux technical community) from using the software. I might very well post it on my bedroom wall whenever I need inspiration.
Owing is a two-way street. It's about time we started paving the other side.
If free software developers are totally unwilling to write usable software that non-technical end users need to get their work done, then Free Software really hasn't earned the right to be desktops in the corporate or public sector and shouldn't be used in those placed.
In that case, perhaps the Free Software people should stop whining about how this government or that corporation is using Windows, quit complaining that they aren't using Free Software, and go back to the server closet they came from.
One area I think where WxWindows is still unsatisfactory is in the RAD department. All the WxWindow RAD apps (XRCedit, Boa Constructor, even WxDesigner) I've used to don't come anywhere near to the ease or polish of Qt Designer or Glade (and I use the words "ease" and "polish" in a relative sense; neither holds a candle to Apple's InterfaceBuilder).
For me, the lack of a quality RAD environment has been the real deal-breaker with WxWindows. I only use that toolkit if I have to target all three platforms using Python(which is where it sucks the least compared to all other GUI toolkits).
You made the fatal mistake of letting programmers design user interfaces. Always let programmers design algorithms, and let them design precious little else.
Honestly, it won't really matter what kind of information you show those guys. They'll heel drag even if Bill Gates walks into their office and tells them they're completely wrong.
What you need to do first is design the UI at the start of the project, before any code is written. Once major code is written, most programmers are going to be obstinant as hell about going back and changing something just because someone with far less computing knowledge than themselves has trouble with it. When you do this preliminary design, do it on paper and pencil. Paper by its nature is extremely non-modal, which means whatever design you do will probably result in fewer annoying dialogs and will feel more natural to the end-user. Also, if you do a design on paper, you'll have less reservation about changing the design (as opposed to if you did a mock-up in photoshop, visual c++, Glade, etc) because you put less work into it.
The next project you work on, you might actually want to go ahead and hire a usability specialist who will do much of this annoying stuff for you and might do some testing of the proposed UI on Normal People(tm). If you do this, again make sure you bring the guy in at the start of the project; too often usability specialists are brought in to play damage control after way too much significant code is written, and there's not much they can do because too much code has already been written.
Finally, buy this book and show it to some of your programmers. Most of them will probably not come around to your side, but at least you can say you tried.
True, there's nothing technically preventing you from selling GPL applications.
There's also nothing technically preventing you from putting air in a jar and selling it at a flea market.
I'm not making a judgement about the GPL one way or another, I just think it's silly to flame someone over recognizing that you can't practically sell a public commodity that anyone can get for free (which means you have to get creative and sell something with it like support, beanie babies, free escort service, etc).
I agree we need to start pestering people, but the people we need to start pestering are the Open Source developers who make desktop software that is so lacking in quality and usability that people need to turn to the big companies to provide a solution where i's are dotted and t's are crossed.
If you have to have a big company save your ass from the apathy of your very own developers, you never really had an ass worth saving.
As someone who has posted about how Linux Is Not Ready For The Desktop but who actually understands a few issues about usability (which most GNU/Linux people, unfortunately, don't. Unix person is as unix person does, and what not), I would never call someone elitist because they avoided making their system exactly like windows. I would actually call them intelligent.
As much as they try, the folks trying to copy windows will never make their software act *exactly* like windows. Anything running under a linux kernel will inevitably have some difference in UI somewhere from something running under a windows NT kernel.
If you try to copy windows, you will never succeed. You will end up making something that looks amazingly similar, but will act different in some way and will do something far worse than be initially alien and unfamiliar: it will violate the user's known expectations about how something will work.
It is better to accept that whatever new UI you are making will be initially unfamiliar to the user, and spend all your energy towards making that UI far more usable than the trash that microsoft puts out.
The one exception where I would call someone elitist is if they object to some design based on important usability principles "just because it's like windows". Many *nix geeks object to using the word "folder" as opposed to "directory" because "that's what Windoze does". But virtually any usability person worth their salt would suggest you match the metaphor of the folder icon with the appropriate terminology (i.e. "folder"), as opposed to using system-oriented jargon (i.e. "directory").
Yes, in essence I'm calling both the faction of people who blindly yell "don't do this because it's just like windows" and the faction of people who yell "make it exactly like windows" idiots.
I checked out the GPE screenshots. Like Qtopia, GPE:
Squanders massive amounts of screen real estate on stuff like borders and shadows that were ported over from full-sized desktop interfaces
Is awfully modal for an all-in-ram device, exploiting none of the interaction advantages of ram storage that Palm successful did
Tries to apply UI design meant for a full-sized desktop with a keyboard and mouse and a 17" screen and where the user has set aside several hours a day to do work to a 3x5 device with a 320x240 screen where the user has only a stylus and at any random moment might have to take down a date or phone number and will only have 15 seconds to do so.
All in all, I'd say it is definately the Gtk+ equivalent of Qtopia. Maybe GPE will be fine for those sysadmin geek types who like the idea of ssh-ing into their networks on a handheld and who fancy setting up mobile LDAP or MySQL or Apache servers. But looking at the way they have duplicated every major mistake that Qtopia has, I just can't see GPE-based handhelds ever becoming a viable solution for normal people who want the basic PDA functions that Palm has successfully given people for years.
If people have trouble with open source software being free, why not put it on a peer-to-peer filesharing network and pretend that it's really cool pirated software (pirated by folks with such 1337 skillz that they have never been busted by the BSA).
To ask a totally random and silly question, does Unicode support Egyptian hieroglyphics, or is it technically counted among the non-living languages not supported?
It's not like anyone who puts themselves on the national "do-not-call" list is going to buy something from a telemarketer.
I think that this law would actually be good for the telemarketing industry, because they wouldn't be spending money calling people who'd say "I'm not interested. Now f*ck off."
It always bugs me when I see linux advocates pushing coders to take Windows as an example of a good interface.
Imagine the reaction on Slashdot if one day Linus said "hey, we should copy microsoft. They're a big faceless company and must spend hundreds of millions of dollars to make Windows secure".
It's always fascinated me how linux advocates will gloat about how microsoft spends millions on Windows security and ends up with an incredibly insecure OS, but are totally unwilling to believe microsoft can spend millions on usability research and wind up with a completely unusable interface.
Ergonomica Auctorita
On the desktop, there are no volunteers.
Ergonomica Auctorita
Just to add another:
-Every design has trade-offs. Which design to use depends on the situation.
Ergonomica Auctorita
If the problem is that users are idiots, wouldn't the obvious solution be to pick up a copy of "Idiots For Dummies?"
Ergonomica Auctorita
Users rarely complain about badly designed user interfaces. They accept that computers are nasty, evil devices that make their lives hell and prevent them from doing work as much as possible. They say nothing to you, and then they come home to their families and say "I hate computers".
An end user not complaining about a bad UI is like somone complaining that a torture device like the rack is "uncomfy". It's just accepted that the experience will suck.
There is so much general computer-phobia in the world because end-users have not yet realized that it's not the computers in general that's the cause of their problems with an application, but rather it's the individual programmers who wrote the application who are the problem.
Ergonomica Auctorita
People were totally disgusted with a computing experience that for 9 hours a day frustrated them and prevented them from doing work, and there we were building our entire economy around people coming home from work and doing absolutely everything with their computers.
Why did people with way too much money think that Jane Secretary would sit through 9 hours a day of problems caused by bad usability, get berated by "Nick Burns The Computer Guy" for not understanding that the "save" menu selection deletes everything, and then go home and by dog food over the Internet?
What's holding linux back? The linux community has a long heritage (starting with it's predecessor, unix) of devaluing graphical user interfaces in specific and usability in general.
Isn't it odd we keep asking ourselves what stands in desktop linux's path when we all know where the unix people stood in 1984.
A community that places no worth in non-technical people being able to get stuff done with a minimum of fuss has lost the battle for the desktop before it ever started fighting it. Every time I hear someone in the linux technical community refer to GUI's as 'click-and-drool', it is painfully clear to me as why linux is getting its asked kicked by an incompetant bunch of fools from Redmond Washington.
I think desktops using a linux kernel will be so much better and more successful once the unix folks are shut out of the GUI design process. We let the programmers design algorithms, and we let'em design precious little else.
Ergonomica Auctorita
I agree that the problem with this situation is that people don't want to learn, but the people who don't want to do the learning (as usual) are the programmers (specifically those of Word) who are designing the bad user interfaces.
If the programmers at Microsoft had actually taken the time to read fine manuals about software usability, they would obviously have known that having both an "Options" menu selection and a "Customize" menu section is ambiguous and exceptionally bad user interface design. In fact, Word is even worse than that; the places you have to go to turn off annoying stuff (which should have been turned off by default in the first place) are spread throughout the entire damn program. There is no one single preferences area for configuring options in Word. And that's what so many people stumble over and why they call their friends at 3AM in the morning.
Ergonomica Auctorita
The only time I don't receive AOL CD's in the mail is when I really need some more coasters for my coffee table.
The problem isn't that GUI development needs more women, the problem is that GUI development needs programmers who will actually listen to the existing men (or women) who are knowledgable in areas of usability who have been screaming at them about really bad usability problems for the last five years.
If you want more user friendly GUI's, what you really want are Free Software developers who will actually listen to the usability people and not tell them "That's what you want. That's not what I want" or "Quit whining about what you get for free".
Good luck finding one.
The only way that Linux will ever be completely like Windows is if it runs on top of an NT microkernel and is distributed by Microsoft. Linux will never, ever have the same behavior as Windows. Something will be different somewhere and will act differently in the Linux Windows clone, and it just can't be helped.
Even worse than something being unfamiliar is a situation where a familiar environment is presented and the user expectation of a familiar behavior is violated. If you pursue a Windows clone, you will not achieve familiarity; you will only achieve violation of user expectation, and this will scare users far more than the most alien-looking UI imaginable.
Microsoft are the people who gave us Window-In-Window MDI, multi-row tabs, an unnatural button-ordering in dialogs, and the close button next to the maximize button.
To be fair, some of these problems weren't due to the fact that Microsoft was stupid, it was due to the that they didn't want to get sued by Apple. So they took Apple designs that worked and made it different so they could avoid lawsuits (fat lot of good that did them). In making the Apple designs slightly different, in many cases Microsoft also made them not work.
The question we should be asking ourselves is not "do we want linux to be familiar" but "do we want a bad copy of a bad copy?"
To rebut an argument before it happens, some die-hard Linux geek will undoubtedly proclaim I don't know what I'm talking about and point of that Microsoft spends hundreds of millions of dollars a year on usability research to make Windows extremely usable. I would point out to that person that Microsoft also probably spends hundreds of millions of dollars on security research to make Windows extremely secure.
As said before, Microsoft put the button that closes stuff (the 'X') right next to the maximize button. This is possibly one of the stupidest UI decisions ever made, and has probably cost corporate America, at conservative estimate, at least $100 million. (Every time a secretary accidently deletes a letter or an executive destroys his or her presentation) x (total number of secretaries and CEO's) x (number of years windows has been around (~10)) = a whole lotta money.
Unfamiliarity is brief; bad, destructive or extremely inefficient UI lasts for decades.
There is this argument (virtually always presented by techies who don't know a lot about UI design and it's history) that once we migrate everyone to our new and improved "Windows-On-Top-Of-A-Linux-Kernel", we can then get more daring and unfamiliar and achieve true UI and usability progress.
Yeah, right. Who the hell are we trying to fool?
Do you think that once a company switches to a linux Windows clone that they are just going to one day switch to a non-familiar, better linux UI some time in the future? As the code for most linux UI's is Open Source, it's not going to be like it is with Windows or MacOS, where better and unfamiliar UI can be forced into the situation because the software is proprietary and unmodifiable. If the desktop projects try to push UI progress, dinosaur sysadmins and CTO's can merely modify the UI back to it's less unusable, Redmond-clone state.
And keep in mind that in general, once a UI paradigm is established, it stays around for decades. The computer industry has already had two decades of backward UI design; I don't want several more, no matter what license it's put under.
It only gets worse when you realize that if a Windows clone is implemented, and assuming linux does acquire dominance, all the proprietary software folks who port to linux will be using Windows UI conventions for a very long time.
I'm not saying you should write what we want; I'm just saying that if you don't, you should shut about people, governments, are corporations not using your software.
Hypocrites are people who say "We want the desktop, we demand our government use Free Software, world domination baby!" and then turn right around and yell "quit whining about what you get for free" or "Free Software doesn't entitle you to a usable interface".
I actually appreciate your post and I'm glad you made it. It reminds me why I'm writing a public license that enforces usability and bans kernel hackers (the leaders of the linux technical community) from using the software. I might very well post it on my bedroom wall whenever I need inspiration.
Owing is a two-way street. It's about time we started paving the other side.
If free software developers are totally unwilling to write usable software that non-technical end users need to get their work done, then Free Software really hasn't earned the right to be desktops in the corporate or public sector and shouldn't be used in those placed.
In that case, perhaps the Free Software people should stop whining about how this government or that corporation is using Windows, quit complaining that they aren't using Free Software, and go back to the server closet they came from.
One area I think where WxWindows is still unsatisfactory is in the RAD department. All the WxWindow RAD apps (XRCedit, Boa Constructor, even WxDesigner) I've used to don't come anywhere near to the ease or polish of Qt Designer or Glade (and I use the words "ease" and "polish" in a relative sense; neither holds a candle to Apple's InterfaceBuilder).
For me, the lack of a quality RAD environment has been the real deal-breaker with WxWindows. I only use that toolkit if I have to target all three platforms using Python(which is where it sucks the least compared to all other GUI toolkits).
You made the fatal mistake of letting programmers design user interfaces. Always let programmers design algorithms, and let them design precious little else.
Honestly, it won't really matter what kind of information you show those guys. They'll heel drag even if Bill Gates walks into their office and tells them they're completely wrong.
What you need to do first is design the UI at the start of the project, before any code is written. Once major code is written, most programmers are going to be obstinant as hell about going back and changing something just because someone with far less computing knowledge than themselves has trouble with it. When you do this preliminary design, do it on paper and pencil. Paper by its nature is extremely non-modal, which means whatever design you do will probably result in fewer annoying dialogs and will feel more natural to the end-user. Also, if you do a design on paper, you'll have less reservation about changing the design (as opposed to if you did a mock-up in photoshop, visual c++, Glade, etc) because you put less work into it.
The next project you work on, you might actually want to go ahead and hire a usability specialist who will do much of this annoying stuff for you and might do some testing of the proposed UI on Normal People(tm). If you do this, again make sure you bring the guy in at the start of the project; too often usability specialists are brought in to play damage control after way too much significant code is written, and there's not much they can do because too much code has already been written.
Finally, buy this book and show it to some of your programmers. Most of them will probably not come around to your side, but at least you can say you tried.
True, there's nothing technically preventing you from selling GPL applications.
There's also nothing technically preventing you from putting air in a jar and selling it at a flea market.
I'm not making a judgement about the GPL one way or another, I just think it's silly to flame someone over recognizing that you can't practically sell a public commodity that anyone can get for free (which means you have to get creative and sell something with it like support, beanie babies, free escort service, etc).
I've always thought that the gift shop at the Smithsonian Museum of Air and Space should sell freeze-dried wedding cake.
Now they'll have to listen to me!.
I agree we need to start pestering people, but the people we need to start pestering are the Open Source developers who make desktop software that is so lacking in quality and usability that people need to turn to the big companies to provide a solution where i's are dotted and t's are crossed.
If you have to have a big company save your ass from the apathy of your very own developers, you never really had an ass worth saving.
As someone who has posted about how Linux Is Not Ready For The Desktop but who actually understands a few issues about usability (which most GNU/Linux people, unfortunately, don't. Unix person is as unix person does, and what not), I would never call someone elitist because they avoided making their system exactly like windows. I would actually call them intelligent.
As much as they try, the folks trying to copy windows will never make their software act *exactly* like windows. Anything running under a linux kernel will inevitably have some difference in UI somewhere from something running under a windows NT kernel.
If you try to copy windows, you will never succeed. You will end up making something that looks amazingly similar, but will act different in some way and will do something far worse than be initially alien and unfamiliar: it will violate the user's known expectations about how something will work.
It is better to accept that whatever new UI you are making will be initially unfamiliar to the user, and spend all your energy towards making that UI far more usable than the trash that microsoft puts out.
The one exception where I would call someone elitist is if they object to some design based on important usability principles "just because it's like windows". Many *nix geeks object to using the word "folder" as opposed to "directory" because "that's what Windoze does". But virtually any usability person worth their salt would suggest you match the metaphor of the folder icon with the appropriate terminology (i.e. "folder"), as opposed to using system-oriented jargon (i.e. "directory").
Yes, in essence I'm calling both the faction of people who blindly yell "don't do this because it's just like windows" and the faction of people who yell "make it exactly like windows" idiots.
All in all, I'd say it is definately the Gtk+ equivalent of Qtopia. Maybe GPE will be fine for those sysadmin geek types who like the idea of ssh-ing into their networks on a handheld and who fancy setting up mobile LDAP or MySQL or Apache servers. But looking at the way they have duplicated every major mistake that Qtopia has, I just can't see GPE-based handhelds ever becoming a viable solution for normal people who want the basic PDA functions that Palm has successfully given people for years.
If people have trouble with open source software being free, why not put it on a peer-to-peer filesharing network and pretend that it's really cool pirated software (pirated by folks with such 1337 skillz that they have never been busted by the BSA).
To ask a totally random and silly question, does Unicode support Egyptian hieroglyphics, or is it technically counted among the non-living languages not supported?
I'm waiting for the next generation of thermal paste that's spermacidal and fights tooth decay.
It's not like anyone who puts themselves on the national "do-not-call" list is going to buy something from a telemarketer.
I think that this law would actually be good for the telemarketing industry, because they wouldn't be spending money calling people who'd say "I'm not interested. Now f*ck off."