Slashdot Mirror


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!"

35 of 637 comments (clear)

  1. It's just too difficult! by Lord+Grey · · Score: 5, Insightful
    From the bottom of the article's page:
    Want to take action about what you have just read?
    Then write a letter to your Members of Congress or your local newspapers, who you can find by entering your ZIP code in the boxes below. Also make sure to tell your newspaper editors that they should carry your favorite conservative columnists!
    NOTE: Columns will not be automatically attached to the emails you send through this tool.
    Sheesh. All I wanted to do was to forward this to my congressman! Now I have enter my zip code, wait for the next page to load, figure out who my congresscritter really is, rub my eyes after looking at god-awful red-on-green text, accidentally click the picture -- which shows a bio and is not what I wanted to do at all -- ....

    <WHINE> All I want to do is forward an email! </WHINE>

    --
    // Beyond Here Lie Dragons
  2. Yeah by Anonymous Coward · · Score: 5, Insightful

    Easier said than done. UI design sounds easy but it's not.

    1. Re:Yeah by happyfrogcow · · Score: 5, Funny

      Easier said than done. UI design sounds easy but it's not.

      that's what you UI people have been saying for years. It's like us developers saying "Writing safe, bugfree code is impossible." Bah!, i say. You're just saying it to demand a premium pay and more flexible schedule. UI's are simple! just look at Emacs.

      (just busting your balls, i'm completely kidding)

    2. Re:Yeah by AKAImBatman · · Score: 5, Insightful

      IMHO, the reason why OS GUIs tend to suck is that there's no one to argue with. When the developer sits down, he thinks about it for awhile and develops what he thinks is best.

      When a commercial developer works on a GUI, he first has to sit down with his peers, the art department, marketing, and eventually focus groups to yell, scream, and throw things. Out of these heated arguments tends to evolve a product that has a better balance between functionality, looks, and ease of use then what the developer could have produced by himself.

      Of course, different companies have different focuses. Microsoft's focus is to pack features like crazy, then try to find a way to make it usable. Apple's focus is to make a product that does the core job first, then evaluate how necessary the extra features are.

    3. Re:Yeah by at_kernel_99 · · Score: 4, Insightful

      Yeah, but he's not necessarily talking about the UI. His primary examples are a scrabble game that blasts music while he's playing and a chess game that takes a 'computer expert' to install. His issue is that all the fancy extras are in the way. He's not proposing that they be eliminated, but that the average joe who's not going to use them 90% of the time doesn't have to fight past them.

      For example, my digital camera has all sorts of options for saving in different file types, different visual effects, etc. But if I hand it to someone - asking them to take a picture of me - they just point it at me & press the button. They don't have to struggle through the rather clumsy menuing system in order to do that. But if I want to learn all about that stuff its available to me. Thats the difference.

    4. Re:Yeah by Squishy+Eyeball+Jeff · · Score: 5, Informative
      Apple has a veritable bible of UI design in its HIG, and Joel Splosky (of Joel on Software fame) has created his own tome on the subject.

      Both are excellent reading for those interested in the art (science?) of good UI/usability design.

    5. Re:Yeah by argent · · Score: 5, Insightful

      When a commercial developer works on a GUI, he first has to sit down with his peers, the art department, marketing, and eventually focus groups to yell, scream, and throw things.

      You wish.

      When a commercial developer works on a GUI, there's two ways it usually goes.

      One: the art department and marketing come up with something that looks cool, and he has to do his best to implement it whether it makes sense or not. The focus groups don't get involved with the actual software until the 11th hour, and shipping fever is upon the company... up until then they're working with webpages and powerpoints that sort of do what the art department thinks is cool.

      Two: the developer implements a prototype, and management tells them to ship it because they heard that Microsoft is thinking of making a similar product.

  3. Excuse me, but... by AKAImBatman · · Score: 4, Insightful

    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

  4. No one is hearing. by TuringTest · · Score: 4, Insightful

    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.
  5. Logic proves free software is the best by OrangeTide · · Score: 4, Insightful

    * 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
  6. forget the article, read this book by studboy · · Score: 4, Informative

    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.

  7. The two demons... by rah1420 · · Score: 5, Insightful

    ... 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.
  8. Joel has a little bit about this idea too by BayBlade · · Score: 4, Interesting

    I found it a good read here

    --

    The key difference between a Programmer and a Senior Programmer is that one of them is Mexican.

  9. Ditto for library developers by tcopeland · · Score: 5, Insightful
    For example, if you're doing a charting library, make it easy to create a simple line graph - no legend, no colors, no logarithmic scales, etc. Just something like:
    Chart c = SimpleChartFactory.create({5,12,8}, {"2002","2003","2004"});
    c.renderToPNG("foo.png") ;
    Don't force me to wade through a dozen classes which must be carefully assembled to make a chart - just make a simple facade that I can use in a few lines. You've done the hard work of creating the library - do the easy work of making a few classes to shield client apps from the complexity.

    The FreeTTS guys does a good job in this regard - just a few lines of code gets some words going.
  10. give me a toaster by yagu · · Score: 5, Insightful
    I think Sowell "gets it" more than the technical community does. I think the camera analogy is apt -- make whatever product as sexy and complex as you want (WORD?), but make it transparent to do the most common tasks. Kind of like an appliance. Like a toaster... if you just want toast, you drop the bread in the slots, press the lever and you get toast. Any other "cool" features should be accessible but not overlaying the 90% use functionality.

    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).

  11. has he ever written a program? by netdoode · · Score: 4, Insightful

    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..."?

  12. What an inane comment by EnglishTim · · Score: 4, Insightful

    "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!

    1. Re:What an inane comment by aardvarkjoe · · Score: 4, Insightful

      Do you think that this article would have had a snowball's chance in hell of being posted if it wasn't tied into the Free Software Religion in some way? Blame the editors who won't take it upon themselves to edit.

      --

      How can we continue to believe in a just universe and freedom to eat crackers if we have no ale?
  13. The important word is can by AndroidCat · · Score: 4, Insightful
    Free Software can perform better than Microsoft even in the ease of use area!

    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.
  14. Um - what does this have to do with OSS vs. MSoft? by Virtual+PC+Guy · · Score: 5, Insightful

    '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.

  15. Clearly Apple by shylock0 · · Score: 5, Insightful
    This man clearly uses a PC. A Windows-based PC.

    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.
  16. You missed the point completely by gr8_phk · · Score: 4, Insightful
    "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."

    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.

  17. Cost. by 455 · · Score: 5, Insightful

    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.

  18. Graceful scaling complexity by plsander · · Score: 5, Insightful

    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?

    1. Re:Graceful scaling complexity by pilgrim23 · · Score: 4, Insightful

      Absolutely true. A programmer may be the most creative genius on earth but do NOT let him write the manual for his product! Mr. Sowell is a writer. He could have used an even better example: Word Processing. I can write a letter on a Fred writer Session on an Apple II. the program takes up about 48k on disk, has a CPU footprint of not at all, and creates a basically WYSIWYG image of a letter that when printed on 8.5X11 paper looks NO DIFFERENT then a modern letter produced in M$ WORD from a system that occupies gigabytes of space, takes triple digit mega-bytes of memory, and has more features then any sane man could want/use need. but hey its NEW and IMPROVED (tm). Seems to me, its the same old sheet of paper that comes out in the end...

      --
      - Minutus cantorum, minutus balorum, minutus carborata descendum pantorum.
  19. Isn't this PERL philosophy in a nutshell? by gblues · · Score: 5, Insightful

    "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

  20. You completely missed his point... by alexhmit01 · · Score: 5, Insightful

    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.

  21. This is hardly news by khendron · · Score: 4, Insightful

    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.
  22. Troll Warning: Isn't this just a technophobe rant? by mykepredko · · Score: 4, Insightful

    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

  23. It would become easier by 2names · · Score: 4, Insightful
    if the developers would actually take into consideration how the interface is going to be used in the Real World, not the world where everyone is a techno-whiz-bang-'puter-gu-ru-genius.

    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."
  24. Blame it on magazine articles by mangu · · Score: 4, Insightful
    Whenever you read an article comparing several different softwares you see the same thing: a table comparing features. People chose the one that has more boxes checked. The end result are menus with thousands of commands.


    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.

  25. Classic designs, or Software isn't a camera.....? by blackhedd · · Score: 5, Insightful

    Everybody 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 :-)

  26. This is a stupid article by GoofyBoy · · Score: 4, Insightful

    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.
  27. FireFox gets it right... by Apathetic1 · · Score: 4, Interesting

    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?

  28. Free Software can out-ease-of-use Microsoft? by JessLeah · · Score: 4, Interesting
    Yeah... right. I LOVE free software, and I HATE Microsoft (crap, I run Debian and OpenBSD _ONLY_), but let's be freaking realistic here. If free software is so easy to use, then why did I have to send THIS email to the OpenOffice users' mailing list this morning:
    Subject: scalc: How do you select WHICH row or column is the X or Y axis???

    Yes, I have viewed Help. Yes, I have Googled for more information. Yes, I have searched the FAQ.

    But for the life of me, I cannot figure out-- and this sounds really dumb, I know-- how to tell scalc "Use column A, 'Amount', as the Y-axis, and column B, 'Date/Time', as the X-axis'.

    I am trying to have OOo do a very SIMPLE line graph here-- how much money is in my account, graphed against time. Very very basic stuff, the kind of thing they teach to fifth graders. I cannot manage to convince scalc to do it.

    And God help me if I wanted to keep 'Date' and 'Time' in separate columns, and have the software know to parse a single row's 'Date' and 'Time' cells as one date/time object...

    Can someone please, please, please tell me how to do this? In M$ Excel, it's really really easy. You just tell it which column to use as which axis. It's so simple even a 10-year-old could understand it. IN OPENOFFICE.ORG YOU ARE NOT EVEN GIVEN THAT OPTION! You ARE given a billion different choices as to how you want the chart to LOOK, and by diddling with the chart object once it's in the 'sheet, you can give it a spiffly gradient effect, or change the labels on the axes...

    But nowhere can you actually tell it what variables (read: columns) the axes should be bound to????

    Just as an aside, I am really going nuts here, and pondering just going to Microsloth Office (running in CrossOver, as I run Debian). I appreciate the effort thot everyone has put into OOo, but seeing as how I CAN figure out how to insert a 3D rainbow-coloured torus into my spreadsheet, but I CANNOT figure out how to do a simple line graph, I'm kind of miffed at the moment. It would seem that the people who handle 'useability' had their priorities hat on backwards? ;) I mean, are rainbow-coloured tori really more important than line graphing? ;)