Friday, December 14, 2012

When Is a Program Too Feature-Rich?

In yesterday's post, I posed a bunch of really hard human-factors questions. What got me thinking about all that was the simple question: When (if ever) is a program too feature-rich?

Maybe it's not possible for a software system to be too feature-rich. Perhaps it's all a question of how features are organized and exposed. After all, a laptop computer (in its entirety: operating system, drivers, software, everything) can be considered a single "software system"—a single meta-app, with various child components having names like Chrome, Microsoft Word, Photoshop, etc. Imagine how many "features" are buried in a laptop, if you include the operating system plus everything on down (all software applications of all kinds). We're talking hundreds of thousands of features, total. And yet, users manage, somehow, to cope with all that complexity. Or maybe I should say, users try like hell to cope with it. Often, it's a struggle.

Given the fact that people still do buy enormously complex "software systems" (and manage to cope with them, to the point of making them worthwhile to own), maybe something like total feature count doesn't matter at all, in and of itself, where usability is concerned.

Or does it? There are still people in this world who are afraid to use a computer (and/or terrified to use a smart phone or an iPad), either because it's "too hard," too apt to make the user feel stupid, or whatnot. Those of us who do use such devices daily tend to chuckle at the fears of the computer-illiterate. We tell them "There's nothing to be afraid of" and then expect them to get over their fears instantly. When they don't, we scoff.

But really, should we be judging the user-friendliness of a software system by how easy it is for the majority of users to adapt to it (often with a certain amount of pain and difficulty)? Or should we (instead) be judging a system's usability by the number of people who are afraid of it?

Why shouldn't we be designing systems for the computer-fearful rather than for the computer-literate?

It's easy to say that something like total feature count doesn't matter as long as the software's (or device's) interface is good. The problem is, it's never really very good.

I consider myself a fairly computer-literate person at this point. I've written programs in assembly language for Intel- and Motorola-powered machines. I can read and write C++, JavaScript, Java, and (under duress) a few other programming languages. I've written plug-ins or extensions for a dozen well-known desktop programs, and I have seven software patents to my name. But there are still software systems in this world (mostly enterprise) that make me feel stupid.

If someone like myself feels stupid when confronted by a certain device or software system, isn't that an indictment of the software (or device)? Or do I deserve to feel stupid, since thousands of other people are able to get work done using the same software?

If there are people in this world who don't know how to set the time and date on a coffee maker, isn't that an indictment of the coffee maker?

If someone can't figure out how to operate a cable-TV channel changer, isn't that an indictment of the device itself?

I don't have hard and fast answers to these questions. But I think it's fair to raise the questions.

I'll go further and say: Every user (or potential buyer) of software, or software-powered devices, should definitely raise these questions.

Also: Every company that designs and sells software, or software-powered devices, needs to raise these questions.

So raise them, I say. If you're a software (or device) maker, have the necessary dialog, in your company, to get a strategy together for dealing with these sorts of issues. Get users involved in the discussion. Come up with a trackable plan for implementing possible solutions. Then follow up with customers to see if the solutions are actually accomplishing the desired purpose.

And if you're a customer? Ask yourself how smart or how stupid you feel when using a given product. And then, if you have a choice, vote with your wallet.


  1. Very interesting questions. I am not entirely convinced that it is possible to create an "intuitive" interface for complex systems; one persons intuitive is another persons baffling.

    My grandmother is in her eighties, and never really got into hi-fi and such like. Because of this, teaching her to operate anything that uses the "standard" player controls. The symbols used for play, stop, pause, fast-forward, and remind seem completely obvious to you an I who have grown up with them, but to my grandmother they are baffling and difficult to remember.

    For any system, if you grow up with the conventions then you can usually work out how to operate new functionality fairly easily, unless it breaks with convention.

    I have long been a Windows user, and can normally work out most things on a Windows system. Many years ago a friend asked if I could have a look at a problem she was having with her Mac. I had a quick look, but I found the whole interface confusing, so had to abandon the attempt.

    I think that you will never simplify complex systems for everybody. Any complex system needs a certain amount of "indoctrination" before it becomes obvious. And the older generations will have difficulty with new systems that those who have grown up with find easy.

  2. We are known manufacturers of modern classic chair. The designs are so attractive that you will be confused among which one to buy. Our products are well appreciated by top interior designers, esteemed customers and architects.
    Office Chair Supplier in Mumbai
    Visitor Chair Supplier in Mumbai
    Chair Dealers in Mumbai
    Top Chair Manufacturers in Mumbai
    Best Chair Manufacturers in Mumbai

  3. Keep your furniture and appliances ready for disassembly.
    Take pictures of all your items to keep count and to re-check for damages after delivery.
    Walk through all the rooms in the house to check for any important items left behind.
    Clear the pathway from your doorstep to the vehicle, to ensure neither your goods nor the movers are injured.
    Movers and Packers in Kondapur
    Movers and Packers in Gachibowli
    Movers and Packers in Kukatpally
    Movers and Packers in Chanda Nagar
    Movers and Packers in Manikonda

  4. Many packers and movers Hyderabad, Telangana may boast about offering a huge list of services with little to no skill or expertise to carry out those services as required. You need to check with every packer and mover if they have the experience to fulfil your specific requirements properly, and will complete your relocation in the most cost-effective way possible.There are many packers and movers in Hyderabad who are looking for ways to make easy money from innocent families and individuals like you who are planning to relocate.
    Movers and Packers in Kondapur
    Movers and Packers in Gachibowli
    Movers and Packers in Kukatpally
    Movers and Packers in Chanda Nagar
    Movers and Packers in Manikonda

  5. Indian Packers and Movers in Mumbai Provide Services Of Industrial Packing. We Can Transport Any Industrial Product. We Transport Machinery, Goods And Various Products. We Are Driven To Serve The Packers And Movers Needs Of Our Clients By Delivering Unparalleled Packers and Movers Services To Meet Your Personal And Professional Needs At Cost Effective Rates Without Compromising Excellence In Packers Movers Service’s Quality And Customer Satisfaction.
    Please Visit Our Website :

  6. Welcome to Indian Packers and Movers in Mumbai, leading relocation expert company in India. We take immense pleasure to introduce our company as a leading Packers and Movers. We feel proud to provide various household shifting and transportation services including: packing, unpacking, loading, unloading, transportation & relocation of household goods & office goods.
    Movers and Packers in Chembur
    Movers and Packers in Jogeshwari
    Movers and Packers in Kharghar
    Movers and Packers in Dombivli



Add a comment. Registration required because trolls.