Good Product Design Is Not So Simple

from the nice-and-easy dept

Whether you're talking web apps or mp3 players, simplicity of design is all the rage right now. Many are predicting the demise of bulky software projects, in favor of lighter alternatives, with many extraneous features removed. However, software designer Joel Spolsky has a good argument why this simplistic view of simplicity may be misguided. For one thing, while it may be true that the majority of users only use a small number of a product's features, those features aren't the same for everyone. So stripping a product down to only its core features is a foolish strategy. Another important point is that people confuse simplicity of design with a clean design. The iPod may be seen as having a simple design, but it's actually rather feature-ladened, and new generations of the iPod continue to see more features added. What it is is clean and easy to use. The same goes for many popular Web 2.0 sites, which routinely add new features and services. For the most part, Microsoft has so far dismissed the threat of web-based apps, saying in essence what Spolsky is saying, that people have tried things like stripped down word processors for years, and that it's gone nowhere. That may be true, but the main appeal of web-based apps won't be their lack of features, but rather some very important features, such as their being on the web, and their being conducive to collaboration. Design mantras may sound good, but ultimately what's needed are good products with well thought out functionality.
Hide this

Thank you for reading this Techdirt post. With so many things competing for everyone’s attention these days, we really appreciate you giving us your time. We work hard every day to put quality content out there for our community.

Techdirt is one of the few remaining truly independent media outlets. We do not have a giant corporation behind us, and we rely heavily on our community to support us, in an age when advertisers are increasingly uninterested in sponsoring small, independent sites — especially a site like ours that is unwilling to pull punches in its reporting and analysis.

While other websites have resorted to paywalls, registration requirements, and increasingly annoying/intrusive advertising, we have always kept Techdirt open and available to anyone. But in order to continue doing so, we need your support. We offer a variety of ways for our readers to support us, from direct donations to special subscriptions and cool merchandise — and every little bit helps. Thank you.

–The Techdirt Team


Reader Comments

Subscribe: RSS

View by: Time | Thread


  1. identicon
    Gonzola, 11 Dec 2006 @ 10:27am

    don't forget...

    no single product can satisfy every single user

    link to this | view in thread ]

  2. identicon
    Anonymous Coward, 11 Dec 2006 @ 10:44am

    that is true.

    and granted, i may not use tables all the time in a word document, the other night, i had to show my mom how to use them. if not, she'd have to calculate the spacing between columns, or try and set the tabs (if they didn't strip that out)

    so, sometimes they can be annoyin (auto letter format by clippy anyone?) but they are there for a reason. just learn how to "avoid" until needed

    link to this | view in thread ]

  3. identicon
    Matt, 11 Dec 2006 @ 10:54am

    Extensions

    What I think needs to happen is the slimmed down version of things, but, allow its users to install extensions.

    A decent example is Firefox. It does have a ton of features that I probably don't and won't use but it does allow for the possibility for me to extend it to a point that I find useful. For example I've installed a spell checking extension and I love it. And I love Firefox for allowing me to do that.

    Anyway, thats what I think should happen to these apps...

    link to this | view in thread ]

  4. identicon
    Xenohacker@hotmail.com, 11 Dec 2006 @ 10:59am

    Two Ways To Program...

    There are only two ways to program. Yes, just two! You can program so simply that there are obviously no errors, or program so complicated that the errors are not obvious. The simplest solution is often the best one. Simplicity of design is not a rage it is what happens when more complicated solutions reveal flaws over time. I will point to Windows as an example. Anyone that thinks that software “DEVELOPMENT” where features are added and coded a little at a time is the wrong approach is misguided. Complication never helps to resolve an issue. Enough layers of abstraction can solve almost any problem. Creating a simple system with stripped down features and adding them a little at a time to ensure their reliability is not only a solid software design approach but also it is good for business. For the business man this means the ability to focus on the 20% of the tasks performed 80% of the time producing the greatest overall satisfaction for a product and leaving the more advanced and seldom used features to the more advanced users to complain about when they do not work as expected in all ocassions. Besides the fact that good software “DEVELOPERS” knows that creating a great system is a process much like growing salt crystals. One little layer of functionality added at a time in order to create a very solid system. I don’t think simplicity of design is confused. I think anyone touting complex software development practices is. A simple design often appears very clean due to the simplicity in its logic. We often call people who come up with simple solutions to complex tasks “genius”.

    link to this | view in thread ]

  5. identicon
    Anonymous Coward, 11 Dec 2006 @ 10:59am

    Is it actually simplicity

    people want? Or, is it actually intelligently organized and designed? I would submit that this idea of stripped down apps is actually about well organized and logical design, and the willingness to look at old things with fresh eyes.

    An app, car, book, whatever can be complex if its disorganized and fails to follow a clear sensible pattern...Things only get worse when things are added in the next version.

    Any Microsoft office app is an appropriate example- so much stuff packed together horribly with no real changes to its organization for years. That is what less-than-power-users find mystifying and thus call it -too complex-

    link to this | view in thread ]

  6. identicon
    Anonymous Coward, 11 Dec 2006 @ 11:02am

    I would love to see a really stripped down version of Office with just core functionality and then add tools and features in blocks related to specific tasks.

    What are the odds that my admin is going to be writing Visual Basic macros anytime soon?

    link to this | view in thread ]

  7. identicon
    Roberto, 11 Dec 2006 @ 11:03am

    Simplicity needs flexibility

    Without flexibility, devices and software may become frustrating in the same way that too many options exposed (or worst, required).

    Everyday tasks must be simple and a few clicks (or pushes) away, but there must be an option for that once-a-month-spacial-need.

    Firefox and Opera are excelent examples of great software.

    link to this | view in thread ]

  8. identicon
    Anonymous Coward, 11 Dec 2006 @ 12:13pm

    Re: Two Ways To Program...

    I agree. Frustration in software comes when you trip into its mire of complexity and nothing works or makes sense. If there is something that is so complex that it defies explanation, then not only will your users fail to understand it, but your programmers will fail to implement it correctly.

    Here is my criterion for deciding whether the unsteady complexity is worth it: if it is sufficiently compartmentalized that the complexity does not negatively and unexpectedly interact with the parts that are supposed to remain simple, then it is acceptable. If you allow complex features to infest your software and destroy the simple things then you have nothing left but a nest of evil.

    There is a business reason to disagree with me though. Can you spot it? Users will never even start using your product if it lacks features. If it has features but they descend into mindboggling complexity upon detailed inspection, then at least you have users.

    link to this | view in thread ]

  9. identicon
    Xenohacker@hotmail.com, 11 Dec 2006 @ 1:50pm

    RE: Two Ways To Program...

    I agree with 'if it is sufficiently compartmentalized that the complexity does not negatively and unexpectedly interact with the parts that are supposed to remain simple, then it is acceptable'. How eloquently put. I do believe that very advanced features need to be available but...

    if( complicated )
    {
    // Do complicated task here
    }

    They should be added only as needed. For example, in Microsoft Office, Almost 99% of people using a word processor must be able to properly edit text but how many of them need to write macros for word? Now lets say that macros are very complicated to implement as a programmer and understand as a user. Could we make the core word processing functionality darn near perfect and add the macro functionality as a plug-in that can be removed and updated? So that we don't have to get the perfect solution every time the first time. Obviously no man, woman, or group thus far has made a perfect piece of software. And don't forget the old saying:

    "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs and the Universe trying to produce bigger and better idiots. So far, the Universe is winning" - Rich Cook

    If the software is not built with ideal that there are still idiots out there that can't set the clocks on the dashboard of their car. How do we expect users to grasp a macro. As if they even know what one is? However, a plugin should be provided that can provide this functionality should be included until the time that the software is going to assimilate the functionality and make it a core part.

    Which brings me to the reason that we are here... Good Product Design Is Not So Simple is true but is masking the ultimate issue here.

    Most people do not know what they are doing lucidly enough to come up with a simple solution. That often takes time and MONEY.

    Money is the reason we are here.

    link to this | view in thread ]

  10. identicon
    Ju1c3, 11 Dec 2006 @ 2:25pm

    Re: Two Ways To Program...

    Besides the fact that good software “DEVELOPERS” knows that creating a great system is a process much like growing salt crystals. One little layer of functionality added at a time in order to create a very solid system

    that was beautiful. so well put

    link to this | view in thread ]

  11. identicon
    Eric Samson, 12 Dec 2006 @ 4:51am

    Office 2007

    Actually, I think MS Office 2007 has nailed the interface for office apps. Clean design, and most-used features are presented simply on the first screen. They've done away with clumsy and confusing toolbars, opting for multiple tabs with related options.

    I do agree that extensions should be the way to go, though, although it might be a bit complex in the long run. Imagine, for example, if you had to have a "footnotes" module added on to your Office in order to manage the footnotes and endnotes in a document - what would happen if you sent that document to someone who didn't have that module installed? The program should be able to read everything every module wrote, and that just sounds like a programmer's nightmare.

    Achieving the right balance between usability and functionality is one of the hardest tasks facing UI and program developers over the next few years.

    link to this | view in thread ]

  12. identicon
    Jeff, 12 Dec 2006 @ 4:04pm

    Re: 2 ways to program

    What complete b.s.

    Anytime someone tells me there's only one way, or worse yet, only two ways, and one's right, and one's wrong, or whatever, you're still whining DO IT MY WAY DO IT MY WAY.

    There are myriad ways to strike a balance between two absolutes, or to find a new absolute to champion; there are multiple ideologies to follow that can lead to solutions to any problem.

    F-tards like you who whine DO IT MY WAY DO IT MY WAY and championing simplicity over all else are ignoring the obvious.

    Your way is not the right way.

    My way is not the right way.

    The customer's (user's) way is not the right way, because often the customer (user) has no idea what the heck the right way even looks like.

    The right way is to analyze the user's needs, and to strike the necessary balances between complexity and simplicity, to find the right amount of user interface, behind-the-scenes automation or other components that need implemented, engineered or otherwise delivered.

    Your crud referencing the 80-20 rule and putting your own ideology on a pedestal while ignoring user needs sounds like every other corporate idiot who proclaimed himself the new messiah and then wondered why he got metaphorically lynched by the mob of user disapproval as people started using "something better" or "anything but this junk". I want to barf in empathy when I read tripe vomited out of wannabee corporate mouthpieces.

    Or to summarize, I respectfully and completely disagree with your moron opinion.

    link to this | view in thread ]


Follow Techdirt
Essential Reading
Techdirt Deals
Report this ad  |  Hide Techdirt ads
Techdirt Insider Discord

The latest chatter on the Techdirt Insider Discord channel...

Loading...
Recent Stories

This site, like most other sites on the web, uses cookies. For more information, see our privacy policy. Got it
Close

Email This

This feature is only available to registered users. Register or sign in to use it.