Advice for Developers: Make Common Usage Easy
Ken Hendrickson writes "Thomas Sowell has some fantastic common-sense advice for software developers from the viewpoint of an ordinary user: Make it easy to do what almost everybody wants to do. I don't believe he uses Free Software; that means that Microsoft is not satisfying their customers, and Free Software can perform better than Microsoft even in the ease of use area!"
<WHINE> All I want to do is forward an email! </WHINE>
Easier said than done. UI design sounds easy but it's not.
As far as Televisions go.. this really isn't the case anymore. With more and more high-end TVs taking over the market and as they continue to do so in the future, thanks in part to HDTV, there will be a brutal setup process just to turn it on and start watching any kind of TV.
The point is that these devices/programs are being made for just about everyone they need to adapt to everyone's skill level. In the case of software development, it doesn't make sense to create several different versions of software with different default options turned on or off. A lot of the times this software has to be scaled to many different types of users on both ends of the spectrum. As a software developer myself, I try to make things as easy as possible that once the program is loaded they can begin their intended task. However, this may not always be possible all of the time.
I do agree with the following though... Stupid bundled software.
Hmmm.
Like clicking on any of the advert around this article!
Omnis amans amens
Duh. Apple has made an entire market out of creating "easy to use" software and hardware. The trick is that it actually has to be designed and re-factored a few times before you have a cohesive product rather than a collection of features.
Case in point: iTunes vs. MusicMatch
Javascript + Nintendo DSi = DSiCade
Sad thing that software developers tend to follow the opposite advise: "Make it easy to do what is easy to program". It's the biggest mistake in interface design, bar none.
Singularity: a belief in the "God" idea with the "demiurge" relation inverted.
* I don't believe he uses Free Software; that means that Microsoft is not satisfying their customers, and Free Software can perform better than Microsoft even in the ease of use area!"
I don't really follow the logic in that statement. Someone help me out, why would Microsoft not satifying their customer base suddenly make free software easy to use? (and how come as a long time open source user I never noticed this?)
Oh this is slashdot, I'm just supposed to assume that Free Software is better in all respects.
“Common sense is not so common.” — Voltaire
M$ products are really easy to use for the people that use them.
To make OS products more widely used they have to be easy and intuitive for your common non-geek user to use. This is an area we have failed in before. The products that are easy and intuitive to use from OS do well.
Note to developers... this is a very very very big deal if you want your product picked up. It's not just how good your product is at doing the technicalities but how easy you can do them with.
Evolution or ID?
read "The Inmates Are Running the Asylum : Why High Tech Products Drive Us Crazy and How To Restore The Sanity" by Alan Cooper.
This book clearly and succintly states the difference between how programmers and engineers design (for the edge case), and how people really want things to work (make the common cases easy.) An excellent book, it could be used as a textbook but it's too short. Go read it.
Make common easy??
isn't that like:
Message to blonds.... Breathe in, breathe out?
=================
Unix is very user friendly, it's just picky about who its friends are.
... commercialization and commoditization, strike again.
Mr. Sowell complains that computer programs aren't as easy to use as an automobile. Well, the first person to design the steering wheel probably didn't think to patent it; nor did the first person who put the accelerator pedal to the right of the brake pedal and make them thus and so. The auto UI "jest grewed" and became standard through market forces. It became a commodity such that it can't be patented, yet nobody dares to go against it lest they not sell a car.
On the other hand, the designers of software are careful to put a lock on every little feature that they come up with, ensuring that they wring the maximum value from its implementation. Are we ever going to see a ubiquitous interface? Not while the Patent Office lives. (tongue planted semi-firmly in cheek)
And all the bells and whistles? That's simply more commercialization -- let's get more out of it by climbing into bed with the people whose offers we bundle. And make it glitzy, and make it shiny, and make it loud.
I despair of ever seeing an end to this in commercial software.
Mit der Dummheit kämpfen Götter selbst vergebens.
that means that Microsoft is not satisfying their customers, and Free Software can perform better than Microsoft even in the ease of use area!
When "Free Software" has a sizable amount of the desktop market then I think we can say that. Until then, how many years has it been "this year for desktop linux!"???
I found it a good read here
The key difference between a Programmer and a Senior Programmer is that one of them is Mexican.
The FreeTTS guys does a good job in this regard - just a few lines of code gets some words going.
The Army reading list
This whole discussion has been said many time on /. but for all this time most of the Open Source products I have used have had no improvements in this area. Either they aren't listening, are ignoring or don't know how to do this.
Evolution or ID?
I do technology for a living, and I STILL pull what's left of my hair out just trying to figure out how to make word stop putting bullets and numbers in front of my "paragraphs" every time I indent (please, no advice -- I haven't used WORD for years -- it's an illustration).
Design your software from use case perspectives to get a clear idea of what the user is actually doing with the system. Seems to me programmer's don't tend to spend a lot of time getting a strong idea of how the client is actually using the product. Focus your energy on the paths that 80% of the product use follows.
I'm not a programmer, but my job required me to learn some php/mysql to re-do a web enabled database because the people working on it couldn't get it done. So, I had a clear cut set of goals laid out. However, halfway through, someone called and needed another feature/field. Then another call. And another.
I ended up with an easy to use web GUI, but I had to fight to get the people to understand what they wanted wasn't parallel with what the database was designed for.
I'm not saying that all programs are great... there are a lot of junk ones out there. But I'm sure some people can agree, with changing goals and deadlines, finished products are often not what they started off being.
What is the saying, "You can have two of three... Cheap, Fast, Good..."?
"I don't believe he uses Free Software; that means that Microsoft is not satisfying their customers, and Free Software can perform better than Microsoft even in the ease of use area!"
Per-lease.
So now we've basically got a world of free software and Microsoft software and that's it? What the hell has this got to do with the freeness or otherwise of the software? Microsoft is not even mentioned in the article!
Convert that can to does, and you've got something. Fortunately Microsoft has been helping by shoveling new features into their Office products for many years. (Have to justify those updates prices somehow.) The only way they could help more would be to add a stupid animated paperclip to explain all those new features and changes to how to do simple things, but that would be stupid.
One line blog. I hear that they're called Twitters now.
'I don't believe he uses Free Software; that means that Microsoft is not satisfying their customers, and Free Software can perform better than Microsoft even in the ease of use area!'
Yet the article is him complaining about a new chess and scrabble game that he bought. No mention of Microsoft - or even Windows.
For all we know - he is running a Mac. Sheesh people - get over yourselves.
And Steve Jobs is clearly the George Eastman he talks about.
I'm not a Mac fanatic (I don't own one, but I do work with them regularly), but it seems to me that this guy is clearly elucidating what is Apple's strategy: make stuff easy to use. For everybody. Without any pain.
I mean, this guy would *love* the free chess app that comes with OS X.
-Shylock
Statistically speaking, there's a 99.998% chance that my IQ is higher than yours. Get over it.
Although I couldn't agree with you more, it's very commonly overlooked. It's an engineering problem in general. How many times have you picked up a product and after only using it for a short while found ways that it could have been made better. Sometimes it really feels as though the designers never bothered to even test the dumb thing out. Of course you see this in software all the time too. Users are made to input data when the program could just as easily do most or all of it for them. Maybe the user ends up navigating through menus just to do a frequent task. It all seems like these things are common sense, and most of the time they are, but an amazing number of products make it to consumers with stupid problems.
~Warning!~ The above is encrypted using rot676!
So don't buy a camera with features if you're not going to use the features? His point is just to make a camera with features that I don't have to worry about if I don't want to use them. If that means a lower quality picture fine - it should be at least the same quality as the disposable without the features though. It should not be complex to not use the complex features. That's all.
The problem with software is that we try and make it do everything so we can satisfy everyone!
This is where modular development comes in and where Firefox excels..
I started an open source portal, with simplicity in mind. It was great for what "I" wanted, but not everyone else...
Some wanted a membership only, some wanted to sell items, some wanted this that, etc etc... You get the picture. Different web site, different needs.
Of course no one wanted to program something for themselves, so I tried to accomodate them as the versions went up. Well, by the end of the year, I had this bloated / complicated portal.
Now I'm on the modular path... I really no longer have time for it, so others have taken over.
---------
Sorry to make a short story long, but the point of this one should be:
Make it simple - Fast - Easy to Use, and then allow modular capabilities to add everything else under the sun.
Don't try and make one program do it all.... Not everyone needs it ALL.
www.slightlycrewed.com - Because aren't we all?
Sometimes, the cost of developing incredible interfaces is not something a company wants to pay for. I'm a developer for my own company and I find that most of my clients want to get the task done (read "functionality"), with all options available, and would rather inform their staff and/or clients on how to use the software rather than spend double the cost to add ultra friendly interfaces.
That being said, of course I always try to develop the most user-friendly screens as possible, but sometimes business functions are just complex. Period.
This goes directly to the geek factor. Certain types of people like to interact with technology, whether it be primitive or in front of the curve. Learning enough about the ins and outs of the technology and production leads to epihanies, eureka moments and generally groking the thing at hand.
"Academicians are more likely to share each other's toothbrush than each other's nomenclature."
Cohen
For that matter, if it took his guru that long to install, maybe he needs a replacement guru.
Now I'm for simplified interfaces as much as... say 80% of the other respondents here, but there's nothing wrong with juicing up the user experience at the same time with some eye and ear candy.
It sounds to me like what Thomas Sowell really needs to do is learn how to use the VOL and MUTE buttons on his laptop. If he's unlucky, it requires some FN-key combination. If not, he's too dumb to keep on living. -B
I think the point Mr. Sowell was trying to make with the camera analogy was that for 90% of the pictures I take, the "automatic" defaults produce a good serviceable photo. The advanced features (Program and Manual modes) are available and easily accessable when conditions or desire call for them.
I think Mr. Sowell would compare various programs that he complains about to the camera I learned to shoot on - my father's old Nikkromat. Manual everything, with a SLR light meter. Every shot required evaluating the shutter speed, film speed, f-stop, focus, depth of field, flash/no flash, etc. This was not a camera I could hand to a novice and tell them to "just shoot".
Developers and designers have to make reasonable decisions about default settings, and make those settings easy to change.
They also need to resist the urge to add every feature into the product. Does a chess or scrabble game really need to play music?
"Make the easy things easy, and the hard things possible." This applies to a lot more than just Perl scripts.
However, the "easy" thing is not always so cut-and-dried. Maybe he wants to remove red-eye from his digital photographs, and maybe he's using Adobe Photoshop. Photoshop can remove red-eye, but that's not its primary purpose. Removing red-eye in Photoshop is going to be a bit more complicated than a program dedicated to red-eye removal, but that is not a fault in Photoshop. In fact, an experienced Photoshop user could probably remove red-eye faster than an inexperienced user could remove red-eye in a dedicated program.
This is where usability testing is key--why spend time on a feature that only a tiny fraction of your user base is trying to do? Which would you rather see happen to The Gimp: a red-eye wizard, or a Windows version that doesn't spawn a new taskbar item for each new window?
It seems like a "duh" comment to say "make it easy to do common things!" but you have to know what the common things are, first!
Nathan
What about trying to learn from games, and for example; stop using menus? Those small labels on the upper part of the windows, there are a lot, but we seldom use a few of them.
Ergonomic interfaces don't present more than a few options at a time, if my memory es corerct there were studies about using more than 7 options as being confusing. If few options are presented, you don't need menus.
What's in a sig?
Since it seems he's used this camera analogy throughout the article I'll comment on this little blurb. I'm not so sure it's a very good analogy to use either. The fact is that if you want better pictures, you NEED to go through all of those "useless" features and change them. All of those values will change depending on the conditions, the lighting, and the activity your photographing. If there are those people that DONT care about those features, get the one-use ones. Hell, they even have digital one-time use camera now.
See, this is where you missed his point.
I have a fancy camera (analog), and a less fancy digital. With the fancy analog camera, if I want to take a family photo, I press the button. At most, I need to hit the clearly marked flash button to turn it on. Of course, if I'm feeling artistic, I may want to adjust the exposure, shutter speed, etc., and those features are all there. However, to simply to the most common operation, take a picture, I don't need to do anything.
Your attitude is elitist, "if you don't want the fancy features, get a disposable camera." Beyond the fact that disposables get expensive real fast, what if I want to have a single camera and be able to take real photos AND snapshots?
The point of the article is that the simple should be simple. If I want to take a picture, I press a button. When I install a dictionary program, instead of being interviewed by the program, let me quickly look up words.
The most common use for the references is a lookup mode, and the application vendor could certainly include a dictionary application AND a multi-media application.
I have an HDTV. Yes the DirecTV box required some settings (which are supposed to be done by the installer)... it asked for my zipcode for the guide. HOWEVER, if I just wanted to watch TV, I could have plugged in the box, turned on the TV, and let it auto-scan the antenna (this should happen on first use, instead of via menu, but it wasn't too bad).
I can adapt the colors, I can go into the service menu and tweak further, etc., for a reasonable picture I needed to calibrate the convergence, etc. However, if I just bought the TV and the HDTV box, on Sunday and set them up 15 minutes before kick-off, I could have been watching the game without problem.
The SIMPLE operation: watch a football game, is easy (could be easier, but pretty easy).
The COMLICATED operation: calibrate colors to the Avia disc, adjust convergence, etc., was complicated.
With MOST computer software, it wants me to go through a process to use the application. That is unacceptable.
Most SOFTWARE SHOULD run off the CD, or like MOST Mac software and be a draggable install (drag into Applications). Installers are bad (make them for unusual use), better search order for applications to it can be one Folder/Bundle is better.
If you have features that require libraries to be installed at boot-time, make them optional. If the library isn't there, no feature unless you run the installer.
Wouldn't it be great if simply RUNNING a computer program/game was as easy as playing a PS2/XBox/Gamecube game?
Sure the powerful functionality can be there for power users, but most people should be able to use your program without help. That sadly isn't the case.
Also don't forget that, most of the time, the way that an user thinks about the application (the user "mental model") is really different than the designer's mental model.
Singularity: a belief in the "God" idea with the "demiurge" relation inverted.
This is hardly news. It's been said many times before, and will probably be said many time again.
A lot of his rant has to do with all the unnecessary glitz and flash that has been added to what used to be simple software. One of the problems with technology today is that it has become too easy to add stupid unrelated glitz to basic information. This simply obscures the information.
For example, many (most probably) DVDs have these complete stupid animations that have to play when moving from one menu to another. I recently rented a movie (can't remember which) where you had to sit through 15 seconds of animation before the Special Features menu was displayed. It wasn't impressive, it was just annoying.
There is more and more of this every day. It seems that media and product producers do not have any really new features to add to new releases, so they just add some unnecessary glitz and animations and sell it as a new version.
The producers of Scrabble should take a hint. The Scrabble board game hasn't changed in 50 years, and it's still popular. Some things just don't need new features.
Life is like a web application. Sometime you need cookies just to get by.
At this point I don't think you can strongly claim that OSX is any more useable than Windows or GNOME or KDE.
I read the article, and I was unimpressed with the author's pain. Perhaps he doesn't know what it USED to take to use a computer? Does he have any idea?! This is what Bill Gates really succeeded at: making computers easy enough for the masses to use. Why else would 90%+ of all PCs be running Windows? Why else does at least 50% of America have a computer? Personal computing as we know it today would not be nearly as ubiquitous as it is if Bill Gates had failed.
Maybe Mr. Sowell and his "guru" are right in that there is definitely room for improvement. But, I would prefer thankyouverymuch that ALL computers not be dumbed down any more than they are so a "guru" like the one Mr. Sowell employed can go home for dinner on time. How does he know that I do not use the features he considers useless? Why should I be stuck with a crippled product because other users get easily intimidated by the product's other features? If Mr. Sowell truly wants a simplified experience he should just go use Apple products, which are already dumbed down and streamlined. But he should be prepared to shell out the extra cash to support Apple's entirely proprietary architectures.
Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
I've seen articles like this for years and it seems to always take issue with the things the writer doesn't know how to do compared with the things they do and seem intuitive to them.
I would pick holes in just about all his arguments - he seems to ignore the initial training and years of condition on how a car works. The same with a TV set. I'm sure I could find somebody that has horror stories trying to figure them out for the first time and could write an article on how counter-intuitive these items are (like, why do you need a key for a car ignition when you've unlocked the door?).
I've seen many articles like this on the VCR, not to mention ones complaining about more sophisticated cars, kitchen appliances, telephones, heating/air-conditioning systems, all of them wanting the systems to be simpler (and most, like this one, wanting to return to simpler times).
One of the things that infuriates me the most about this article is that the writer doesn't try to do anything himself; his "computer guru" doesn't seem bright enough to be able to load software without getting his mom angry because he is late for dinner.
In any case, if he really wants to play scrabble simply, why doesn't he drop twenty bucks (probably less than he paid for the CD) and buy a hand held scrabble game?
Sorry for the Rant - I would be a lot kinder if the writer had tried to load an application, got a GPF and ended up in phone support hell between the ISV and Microsoft with each blaming each other and the theme of the article is that he just wanted it to work.
myke
Mimetics Inc. Twitter
This is serious, people. I do not know of any other product where the designers/developers are so far removed from the end user. Something that makes perfect sense to a highly trained, technically capable person will make absolutely no sense to a person who has trouble remembering 2 passwords. Really.
"I'm just here to regulate funkiness."
Actually, they did patent it. See the Seldon Patent, which was a huge problem for early car makers. Similar patents encumbered early aircraft makers.
With cars, the situation is different. First, as you mention, the UI for automobiles has stabilized long ago. The last significant modification was the automatic transmission. Before that, the last mass-produced car with a different UI was the Ford model T, which had a separate throtle pedal for reverse. Besides, cars today are compared for marketing purposes with features like style, power and speed, not the raw number of options, like software is.
That's another great book for UI design. It talks about the UIs that are all around us. Ever encountered a glass door (shopping malls are bad at this) with a bar that goes all the way across it, mirrored on the other side? Do you push, or pull? On the left or on the right? Its not difficult, but it is an example of bad UI design. Contrast that to a door with a flat "Push" panel on one side, backed by a protruding handle on the other. You now whether you're pushing or pulling, and on which side of the door to perform the action. No documentation required, almost zero chance of failure - this door wants to be opened and makes it easy for you. A lot of computer software has exactly the same design mentality as the first door. Or worse, because the door has been "skinned" to look like a slice of pizza as well.
You're special forces then? That's great! I just love your olympics!
This book was written in the 80's but the concepts are timeless. It's not software specific but it is an excellent primer for designers and engineers of all types.
The Design of Everyday thingsEverybody is talking about how difficult it is to do UI. Yup, it sure is. Just ask the guys who did the classic industrial designs- the Dreyfus telephones, etc etc. Lots of examples in addition to the Kodak Brownie.
:-)
The best designs become classics, and really change the way we work and live. And there really aren't all that many classics, vastly fewer than the number of designs that try and fail.
So why aren't there more really classic software designs? Part of it is that all of us programmers have drunk the koolaid about uniform interface designs. They simplify learning by creating references to things previously learned in other contexts. But a real "classic design" is easy to learn because it's *internally* coherent- its reference points are meaningful in terms of its own functionality. If there is complexity, it maps directly to the problem domain and not to the UI design. That makes it far easier to deal with, because it "just makes sense." The iPod is a very interesting recent example, but I can't think of something analogous in the realm of pure software.
Maybe if we break out of the box on UI design, then we might be able to stop complaining about how stupid our users are. After all someone who uses something I wrote is supposed to be *smart* not stupid
Will slashdot ever drag itself into the year 2004 and provide the ability to edit posts?
I sure hope not. Now being able to add an addendum, I could agree with. But, even that is risky.
Consider for a moment that there are always active trolls who repost previously 5 star posts just to get karma from unaware mods. Now take the case of an editable post. You can get the post modded to 5 then swap the contents out with a porn troll. Not pretty.
Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
As an ideal, software should make simple things simple, and complex things possible. Both of these require talent, but the former is certainly the less glorious and more thankless. If you are highly skilled, and design your software meticulously with usability in mind, you can make a software task appear so simple that users wonder why it took you so long to write.
Patrick Doyle
I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
I generally agree with the principle that simple things should be easy to do. When you take your keys out of your car, your headlights should go off. That is what 99.9% of the users intend. It should be harder (require a special button or something) to make them go on if the keys are removed.
Mr. Sowell, however, seems pretty reactionary about software change.
He is upset that his scrabble vendor released their game on CD. He would rather have it on floppy disks, which are more expensive to produce. And, some machines now don't have floppy disks. This complait has no merit.
He is upset, that the scrabble game he has plays music. Probably because his old game didn't. What he doesn't consider is that most users of this product probably want the music. Products should ship exactly like this. Turn on all the options that the majority of the users want. Make those in the minority use the preferences.
Software is going to change, and make more use of increased hardware capabilities. There is no stopping that. Although there is some truth here, there is a lot of pointless ranting.
In terms of UI and usabilty there are alot better ones out there.
>Too many other computerized products and computer programs, however, force you to get bogged down in so many options, functions, and modes that you may just give up before finding the simple thing you want to do.
In a windowed program, there are menus. Don't want the options, don't go hunting for it.
>Today, it takes a CD to hold all the bells and whistles that have been added
No the reason why they use CD is not because its complicated, its because it cheap to mass produce. A program is > 2 megs and If you are awake in the middle of the night in a hotel room and your spouse is asleep, you would never dare to turn on the new Scrabble game.
Its called a volume control. Either built in, on the OS level or the physical speakers has them. What would the user want?
>Since my old computer chess game will not work on the new computers, I had to get a new chess game
But when you bought the old chess game it didn't specify it would work on the new OS? And this is the programmers fault for not making things compatible with technology 10 years in the future?
The surprise isn't how often we make bad choices; the surprise is how seldom they defeat us.
This is something I think FireFox has gotten very right. Don't want to mess around with settings? Great. It works right out of the box.
I've installed FireFox for about a dozen people now. So far only two have even bothered to open the Options dialog. They don't care how the options are set, as long as they can browse. The two who have opened the Options dialog think the customizability is great but those two are not the majority of users.
My username does not make me Apathetic. It's irony, get it?
Ease of use is in the eye of the beholder.
If installing and playing a CD version of "Scrabble" is too much for this guy, there is no way he is ever going to be happy.
And Jesus, write my congressman? "My computer is hard to use, I want you to make it all better."
I've seen poorly designed software, with poorly thought out UI, but its a big step to go from that simple fact to some blanket article which just says what we all already know (User Interfaces should be intuitive and easy to use), and doesn't even address the issue of HOW to make an interface which is intuitive to everyone, including comptuer illiterate scrabble players.
It always pisses me off when someone jumps up and starts complaining because a lifetime spent doing things BESIDES using computers hasn't prepared them to be able to look at a screen and immediately understand what to do. Sorry folks, sometimes, even with the best interface, you have to RTFM.
ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
Make easy usage common!
The Tao of math: The numbers you can count are not the real numbers.
Case in point. I once taught someone to drive who had absolutely no idea what the function of the clutch was. He knew that he had to press it when shifting gears but didn't have a clue why. In fact he would at times forget to depress the clutch pedal especially when switching to neutral. He probably "discovered" that it was possible to do and seemingly no malfunction ocurred. It was only after I drew him a couple of napkin diagrams and explained that clutch was disengaging his engine to prevent the damage to the gearing system that he fully comprehended the gravity of his driving errors.
Cars (esp with manual gearboxes) are definitely not intuitive.
Your pizza just the way you ought to have it.
Can and will are two different things. Given the common OSS attitude of "you haven't read the docs, fuck you", I can't see ease of use being a priority very soon, except in certain niches.
7 November 2006: The day Americans realized corruption and incompetence weren't addressing 11 September 2001
The idea that open source can fill this bill is laughable. Not that I am against open source. And I encourage them to give it a try, which I am sure they are, but I have not seen a single truely innovative UI out of an open source product yet.
The fact is, UI design is not easy and it should not be left up to amatuers. And yes, most software engineers are amatuers when it comes to UI design. In fact most of the top developer's I know admit that they suck at UI design and look forward to input from someone with that particular skill. That is not to say that engineers are incapable of good UI design, they just need a completely different set of skills from what they use in thier normal design and programming duties.
A good UI designer would need programming skills, creative skills, a knowledge of ergonomics, and an understaning of how people want to use the product. This is best discovered through a process at least similar to the Use Case process.
At level one, do what 90% of all users would do.
: :
: :
At the next level, allow the remaining 10% to perform more complex tasks.
Maybe have one more super-tech level where the elite 1 or 2% can delve in and tweak.
Example 1
Web browser app like Firefox
level 1 : It installs itself, all plugins and figures out how to handle almost any mime type.
level 2 : Extensions & more
level 3 : about:config, etc
Example 2
Web Design Software like Quanta Plus
level 1 : WYSIWYG interface that produces nice clean W3C compliant code and maybe buttons called "text effects" for stuff like mouse-overs that allows the user to see what will happen to the text.
level 2 : Code View, CSS Editor, etc
Level 3 : Javascript debugger, PHP debugger, MySQL queries, etc..
Basically, you should never be forced to descend to levels 2 or 3 to be able to accomplish a basic task.
Find a job you like and you will never work a day in your life.
How the hell can you come to the conclusion that Thomas Sowell is using Microsoft's products, furthermore, that he thinks that they aren't useable?
Ken Hendrickson says "I don't believe he uses Free Software; that means that Microsoft is not satisfying their customers, and Free Software can perform better than Microsoft even in the ease of use area!"
After reading to the article I noticed that Thomas refers to "computer programs", not "Operating systems, office applications, e-mail, or web browsers." The only particular type of program that he specifically mentions are a "dictionary, an atlas, and an encyclopedia". There are a number of manufacturers of these types software. Crap like this is usually found in the $5 bin and comes with a beautiful VB installer, and accompanying VB application used to browse the content on 100 cd roms of uncompressed video (in the case of a multimedia encyclopedia). Though given all of Thomas information on what is rubbing him the wrong way, there is no way to deduce which particular products Thomas has been using given the words in the article.
I'm not going to jump to any conclusions as to what he uses, becuase I can't. The point regarding usability is well taken, and should always followed when building an application.
Although, with people with Ken's superior power of reasoning and logic, it's a wonder more products don't turn out better.
Why must people insist that it's just as easy to make a graphical interface as intuitive as a hardware interface?
Let's take a step back here. What's the difference between a computer and a hammer (from an interface perspective)?
They're both tools, used by people, to accomplish various tasks. Why can't a computer be as easy to use as a hammer (or any other elegant physical tool)?
Because we can't touch them.
It's that simple. In the hardware world we have hammers, to cars, to ipods, to... let your imagination go wild. It's entirely easier to make a hardware interface user friendly because a hardware interface designer can use their own intuition, and the intuition of others to make it easy.
Anyone ever ask themselves why hammers have a handle and a head? Anyone ever ask themselves why a walkman's volume is controlled by a dial? Do you commonly wonder why turning the steering wheel on your car turns your car?
Physical things can be made an order of magnitude easier than programs merely because they are physical things. The human mind easily pierces most facets of a physical object within seconds of its observation. The option to handle it makes it even easier.
Computers have a very serious handicap. We can't interact directly with our computer! Under most circumstances we have a keyboard and monitor as standard input and output. So we have our hardware interface. But this interface doesn't directly control the computer. We have to use this hardware interface to work with a software interface.
It's this simple little factor that trips people up: Interfacing with an interface.
To get a real life analogy of operating a program, use a hammer (and only a hammer, no hands) to operate your vehicle. No hands, no feet, use the hammer to accelerate and steer. Hell, I'll make it easy, you can use a hammer in each hand.
This being said, we've still got SO MUCH left to do in the graphical interface world. There's so much experimenting left to do, so many advances we've yet to make. Expecting the relatively young computer industry to produce interfaces that are as easy as interfaces that have been around since the stone-age is insane!
See, this is where you missed his point.
I have a fancy camera (analog), and a less fancy digital. With the fancy analog camera, if I want to take a family photo, I press the button. At most, I need to hit the clearly marked flash button to turn it on. Of course, if I'm feeling artistic, I may want to adjust the exposure, shutter speed, etc., and those features are all there. However, to simply to the most common operation, take a picture, I don't need to do anything.
Your attitude is elitist, "if you don't want the fancy features, get a disposable camera." Beyond the fact that disposables get expensive real fast, what if I want to have a single camera and be able to take real photos AND snapshots?
The point of the article is that the simple should be simple. If I want to take a picture, I press a button.
Last I checked, one shot picture taking *was* just that simple, on every digital camera. You don't have to set all the options. On my Canon Powershot G2, for example, if you have it in the Auto mode (the default mode) you press the button and it takes a picture. Even the flash is in automatic mode by default. Done and done.
You might get poor pictures if you don't mess with the options, but that's true with even film type cameras (more true with film type cameras, in fact, since digital cameras have a lot more auto-correction capabilities, not to mention all the software auto-correction that exists).
- Give a man a fire and he's warm for a day, but set him on fire and he's warm for the rest of his life.
Append some extra data to a CD...
./source && cdrecord -dev=0,0,0 -v image.iso && rm image.iso
mkisofs -C `cdrecord -dev=0,0,0 -msinfo` -M -dev=0,0,0 -J -r -o image.iso
So exceptionally intuitive...
45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
In defense of PC, let me point out that he trying to compare machines with a specific purpose to those with a general purpose and is upset that the level of complexity is higher. With all due respect, No Shit Sherlock! Even something as "advanced" as a digital camera has, in essence, one goal in life: to take photos. Toasters, televisions, even cars are designed for very specific tasks -- any extra features are an added "complexity".
Computers and Operating Systems have no such luck. They must act as their own human-machine interpreters to an infinite number of possibile inputs and commands. Some of these commands are simple and can be optimized for -- eg, run program. Most, however, have their own set of additional complexities -- functions such as printing a document, manipulating data, and searching for files all have so many possible outcomes that more specific instructions than one-button "Do This" interfaces are required.
Not to mention that every user will have their own opinion about how their interface should optimized. The "complex" interface is a good thing because it gives the users complete freedom over their interactions with the system.
But what about users who don't want that freedom? They want machines with a big "Do this" button -- cameras have one, cars have one, toasters have one. Computers, by their very nature, can *not* have one -- the set of all correct answers to "Do this" is infinite. How? Where?
The bottom line is that the computer cannot read your mind. It cannot perfectly and accurately translate simplistic commands into complex functions. The best it can do is try to predict what you mean and give feeble human-to-machine translation function to the rest.
This is what Bill Gates really succeeded at: making computers easy enough for the masses to use.
I'm going to assume that you're talking about Apple BASIC here... only a fool or a Microserf would give Gates and Windows the credit for making computers usable by regular people.
If I just want to plot a simple graph using a C++ API I shouldn't have to write dozens of lines of code to specify what icon and cursor I want, to install an event handler, to actually write an event handler, to specify in gory detail exactly what format my pixels should be in and so on. On the other hand, I do want to be able to do all of the things I've just described if the need arises.
Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
Those, like Mr. Stowell, who simply want their old computer to work and do all the things it used to might give free software a spin. Most people are pleasantly surprised to see their old computer come alive again with Knoppix. Windoze PCs that won't boot anymore are great for such demonstrations. Mepis is the easiest of the Debian based free beer distribution I know of to install. Sarge is not much more difficult and is cleaner as well as more free as liberty. People on a budget will be happy that their old PC once again plays games they love with sound they can turn off.
Friends don't help friends install M$ junk.
Honey, I shrunk the Cygwin
You don't get it do you. Ranting without stopping to understand the problem just gives the world more poorly thought out software. Just because you have expertise in computers or some other area does not mean everyone does.
For instance, in MSWord-97, I type file/new and it asks me if I want a blank document or blank template. Duh!!
Try to load your old Netscape or Mozilla mail files to your new computer so you can continue seamlessly. Same for the bookmarks.
Think ahead, not behind. Programs do not need bells and whistles to be good, but they do need to do the things people need done.
I don't believe he uses Free Software; that means that Microsoft is not satisfying their customers, and Free Software can perform better than Microsoft.
What? You don't think they're talking about free software, so it must be anti-Microsoft, so it must be pro-free-software? I think what's being said is that software as a whole is sometimes not laid out with usability in mind. It's not saying Free Software is better. It's not saying it's worse.
Am I completely misinterpreting what was said? Or is this the most ridiculous comment ever made?
________________________________________________
suwain_2
.. and it absolutely was easy to do the most important simple thing:
I cut immediately start typing text.
And I can do the most important tasks by pressing easy to find buttons. From my experiences with beginners: they all could that within 1 minute. Learning how to move around with the mouse usually took more time.
Now try explaing a novice how to use LaTeX.
PS: "that means that Microsoft is not satisfying their customers," - The Scrabble mentioned was probably not produced by Microsoft!
PPS: I would never use anything but LaTeX for a text with more than one formula.
My university library replaced all the photocopiers with some fancy shrink/enlarge/collate/digitize/duplex models. In my mind, the one feature a photocopier should present is the ability to lay down a page, press a button, and get a copy. But no, these machines required you to enter the paper size, number of copies, and cropping options first. And then, once you copied one page, you had to do it all again for the next. I'm sure these machines are very efficient for a person who has some complex copy jobs and is trained properly, but they are inappropriate in a library where most people have simple tasks and will never use the same machine again.
In programming, I try to follow the theme of keeping simple things simple. In my C++ class for a random number generator, you can initialize and seed the generator with no parameters. The code gets a seed from /dev/urandom or time() on its own, since that's what most people would do anyways. If someone wants to be more careful, they can do the seeding themselves, but software should always allow simple tasks to be performed easily.
AlpineR
Make Easy Things Easy and Hard Things Possible... sound familiar? Now just apply it to the UI!
Why does Excel have such easy to use list-making functionality when it is supposed to be a spreadsheet? Microsoft did a lot of user testing and found that an awful lot of customers just used it to make lists. So they made it really easy to do so. That's just one example.
In short, the view that you should make the common tasks easy is completely on target. The idea that Microsoft is unaware of this and doesn't follow these ideas themselves is completely wrong and has no basis in reality.
Wow! That makes my day. An article by Thomas Sowell featured on slashdot! He's a great writer, and he happens to be a conservative black too. Please read some of his other articles too while you're at it.
I watch Brit Hume on Fox News
Someone once said "unix is very simple, but you have to be a genius to appreciate its simplicity." The point is, sometimes interfaces that are "easy to use" become less functional as you become more and more proficient in using the device that the interface allows access to. I think the entire linux console UI is one of the greatest interfaces ever made. I can quickly configure everything, recompile my kernel, browse the web, and so on using one consistent interface. A truly well-designed interface, no matter how complex it is, is always easy to use if you have the sufficient skills to use it. This is why that dude who designed Metacity is dead wrong in saying that preferences are the root of all evil: interface usefulness is dependent on the user's experience.
/etc folder is, and an interface hides that, it's made my life easier. If I do know what it is, it has made it harder. There is no absolute "easiness" in any interface because it's all dependent on the user's skill.
...e.g. he won't know what he's looking for even if he's right on top of it. There should be a wizard for every aspect of configuring a computer that a newbie would need to do. Windows knows this, and that's why newbies consider it easier than linux in some situations. Wizards are frustrating to the user that knows what he's doing because this represents a tradeoff...it's easier to accomplish a certain task as the designer conceived it, but it's more time-consuming to tweak things down to the letter. Windows abuses the wizard, forcing me to use them when I'd rather just tweak a text file.
Think of it this way. If I don't know what the
Really, it's really confusing to lump so many things under "ease of use." There are three distinct levels of UI, really:
1) The wizard. This means a user wants to have the computer hold his hand through the whole thing.
2) The GUI. If you've moved off the wizard, you've progressed to the point where you know what you're looking for when you see it. The problem with the GUI is that most of the time it gets abused, turning into a "go find it yourself" mentality. A good GUI should
3) The Command-line. At this point, you know what you want, and you just need a simple, fast way to tell the computer that. If this is the case, nothing beats a command line. Can you imagine how insanely fast you could get using microsoft word if you could print at different qualities, load files off the web, etc without ever resorting to any kind of gui?
Really, in order to be truly "easy to use" a program has to allow all of these different modes of input. Furthermore, the wizards have to be bulletproof and co-incide exactly with what the user needs to do. GUI's have to be reasonably helpful, but try to avoid the complexities associated with the command line. Command lines need to have good documentation so the user can start to figure out the commands if they want to.
IMO, there's no way to create a successful interface that suits everyone. If you don't give your varying users all of the interfaces, they're going to just look somewhere else.
But there is another kind of evil that we must fear most... and that is the indifference of good men.
Of course! How could we all have been so blind? All we need to do to make software better is to make the most popular features easier to use. I feel like I've wasted years of my life writing crappy UI's without this incredibly valuable nugget of wisdom.
Now all we need is someone who can both see into the future and read our user's minds to tell us which features will be the most popular.
Maybe we can ask the jackass who wrote this article to figure this out for us. Or maybe he's only smart enough to whine about the software after it's already done.
Come on folks, saying that making the common cases easy is a dumb thing to do is like saying the Win32 API is better than a clean API because of the cruft. A chunk of you sound like you measure you manhood by the complexity you can handle. That's being counterproductive and wasting your own time.
If you think that all cases are edge (tough) cases then you haven't done enough analysis or you don't understand who you are targeting your app to. A common case made easy for iPhoto won't be the same common case for a Photoshop or power Gimp-user. Let the computer do the simple shit for you so that you can focus your brain power on the tougher cases.
No, it isn't easy to build simplicity into an app to make the common cases easy. It requires the ruthlessness of someone willing to toss out good code/interfaces that almost, but doesn't quite work. It also requires placing your end-user (of whatever skill level you've targeted) ahead of your own desires for the app. Tough to do, but well worth it in the end.
You just have to ask yourself do you really want to take 27 steps (hypothetically) to configure a printer *every* time? Wouldn't you prefer to just have to do 3 steps 98% of the time and save the brain power for that difficult 2%?
"All the darkness in the world can not quench the light of one small candle."
anyone remember the old geoworks ensemble/geos windows clone way back in the day? their office suite had an interesting way of dealing with this problem- have multiple user interface levels. one could choose the beginner, intermediate, or advanced level interface, and it would vary the amount of options available accordingly.
i don't know about you, but I don't want any LESS options, just cuz some newbie can't find his way around. let's make the software easier for dumb people without making the software dumb, ok?
Ahh, you must be a Sowell groupie. That would explain your flame-on attitude.
I suggest before you sound off about writing software you try it - it's harder than you think. The users usually don't know what they want, they just know how to complain about what they don't like. And if you don't already have a user community then it's even harder. You have to guess which features will be the most popular and design your GUI around that.
Maybe you were thinking of ancient software domains like email, word processors, etc. It doesn't take a genius to look at existing software and say "this works, this sucks..." Hindsight is 20/20. It is quite a bit more difficult to make the same observations about software domains that are new or don't even exist yet. Or domains where there aren't as many examples to compare.
Even well-understood domains like word processors are still the subject of user debate. Many people prefer very specific versions of different products. I've used a number of word processors and in the end they all boil down to a common set of features. But those features are more or less accessible in different products, hence the difference in opinion.
So the basic problem is that different people think different things are "simple". I personally think changing my browser proxy settings is very simple, and should be an easily accessible browser control. Apparently the various browser development teams disagree with me, because they always hide that control in a sub-sub-menu. Instead they feature buttons for useless features like "Search" (who needs this with Googlebar?). So I end up downloading an extension for my browser to get this feature.
All Sowell did was play the roll of Captain Obvious: GUI design is hard, and most people screw it up. And it will stay screwed up until software learns to read minds, despite your simple assertations.