User Interface Design and Engineering

UI Design Guiding Principles

July 21st, 2009 by Russell Wilson

Just as my team and I began working on establishing a set of core guiding principles, I came across a post from John Schrag and his team at Autodesk describing their core design values. Based on their list and our own brainstorming, we have developed our own list of UI Design Guiding Principles:

  1. Understand the problem before solving it (and avoid “design on the spot”)
  2. Sketch before making it pretty (and discuss abstractions versus specifics — “selection” vs. “combo-box”)
  3. Validate designs before investing in (production) code
  4. Well designed key features & workflows over quantity
  5. Ease of use over ease of coding
  6. Validated designs over expert opinion
  7. Don’t make things “consistently” wrong
  8. Don’t let users shoot themselves in the foot
  9. Context is important (Where am I? How did I get here? Where can I go next? What is my current state?)
  10. Whitespace is good (… the more you add, the more you detract from what is there. … every element added to a page detracts from the rest. (Paul Boag)

This is a living list – I expect to tweak it over time, adding, deleting, editing…

20 Responses to “ UI Design Guiding Principles ”

  1. russwilson says:

    Several colleagues pointed out Bruce Tognazzini similar list: http://www.asktog.com/basics/firstPrinciples.html

  2. isaakhayes says:

    UI Design Guiding Principles… http://bit.ly/1TVZYO

    This comment was originally posted on Twitter

  3. Love these design principles: http://bit.ly/2RgGP

    This comment was originally posted on Twitter

  4. joeplanet says:

    RT Love these design principles: http://bit.ly/2RgGP (via @BrianKSullivan Bookmark these. Quite useful. Quite concise.

    This comment was originally posted on Twitter

  5. AdamtheIA says:

    Re design principals http://bit.ly/2RgGP via @brainksullivan; happy cuz I believe in them. Sad cuz hard to get into practice institutionally

    This comment was originally posted on Twitter

  6. Russell Wilson says:

    I tried to copy and paste an interesting discussion thread that kicked off after
    Adrian Howard on the stcusesig mailing-list emailed my post and asked for feedback:
    ==================================================================
    With regard to Number 10 — while often true for many products and
    services, there are times when high-density displays are important and
    whitespace is a secondary or tertiary concern. This came to light
    when I was working on the design of some executive information system.
    Our first designs provide lots of white space and when we went to
    executives and their research assistances, we found that the
    executives wanted 8 charts and tables on the same page so they could
    compare things without flipping to other pages or other views. The
    feedback was unanimous against what would be considered a good use of
    white space. So this guideline might apply much of the time, for some
    cases, you would violate it because of other considerations.

    Chauncey Wilson
    ==================================================================
    Chauncey – completely agree.

    I was trying to address the fact that in so many cases programmers and designers pack things
    together as tightly as possible without any regard for visual hierarchy and “breathing room”.
    You can create an information dense interface but still design it in such a way so that the
    user’s eye can at least follow a path.

    Thx for the feedback!
    Russell Wilson
    ==================================================================
    > Why do you have a “niggle” with item 5, “Ease of use over of ease of
    > coding”? One of the biggest problems I encounter is with
    > applications and web-sites that are built according to the coders
    > world-view and because of that make little sense to the ordinary user.

    Two niggles really… and minor interpretational ones at that :-)

    1) The problem is often not ease of implementation, but world view (as
    you said)

    I find dev/ux issues are often nothing to do with ease of
    implementation. It’s the developers not understanding what users find
    easy / difficult – the “whys” behind the design that’s been handed
    down. Generally I find that ease of use and ease of implementation are
    not particularly tightly coupled. That’s obviously not always the case
    - but fairly common.

    It’s not that the implementation is hard. It’s that the developers
    don’t understand the design in it’s fullest sense – so they don’t
    _really_ understand what/why they’re implementing it.

    The problem I’ve seen is that some UX folk take this as developer
    laziness rather than bad communication/understanding of the models and
    abstractions in the design. Trying to convince a team to do something
    with that in their head often causes problems.

    (Saying “do it this way coz it’s better – no matter how hard it is” –
    rather than “we need to do it this way because the user is expecting X
    and Y, because of Z which represents the underlying Q”. )

    Because they’re not addressing the underlying problem – getting the
    developers to understand the user model – we continue getting a lousy
    implementation.

    I find that communicating those models well mean that the developers
    can implement the solution more easily – since they now understand the
    abstractions that need to be embodied in the code more effectively.

    2) Ease of implementation == money.

    Projects have budgets. As a (hopefully) responsible designer I need to
    be involved in building the best project I can for the money available.

    What “Ease of use over of ease of coding” is saying from a budget
    perspective is “Ease of use over money”.

    If I’m metaphorically wringing my hands and going “Boo hoo – this
    wouldn’t be rubbish if we could spend a bit longer implementing my
    wonderful design – not my fault!” then I’m abrogating my responsibility.

    I need to work with all of the stake holders and all of the team to
    build the best possible product in the time/budget available.
    Sometimes that will be spending more time the product a joy to use.
    Sometimes that will mean getting that vital feature implemented no
    matter what in the best way we can in the time available.

    Now – there are certainly good arguments to be had about the impact of
    a badly implemented feature on a product – short and long term. But
    that’s not an really about ease of implementation (or otherwise). The
    same issues arise from badly implemented features (from a UX
    perspective) whether they were easy or hard from the developer
    perspective.

    Hopefully that makes some sort of vague sense :-)

    Cheers,

    Adrian Howard
    ==================================================================
    I also agree with Chauncey and Russ. I work with many programs for Travel Agents, who want to be able to see as much information on the screen as possible. These screens are very densely packed.

    The agents hate scrolling. They prefer to scan and keyboard input rather than use the mouse.

    >From what I have seen, the travel agents really use the mouse almost as an extension of the keyboard with very small movements, using the wheel more than gross hand movements with the mouse.

    Still, they prefer to scan. White space is a secondary concern. They actually prefer the density.

    Thanks,
    Brian Sullivan
    ==================================================================
    > Still, they prefer to scan. White space is a secondary concern. They actually prefer the density.

    Do you think there’s some sort of “complexity appeal”? I’m wondering if some people prefer the
    oscilloscope over the iPhone? I know some engineers who like to tinker – they like complexity – wires,
    gauges, messiness…

    hmmm…

    Russell Wilson
    ==================================================================
    > Adrian – what are your thoughts on 1, 3 & 5?

    Heh :-)

    Hopefully you’ve already seen my ramblings on (5)

    > 1) Understand the problem before solving it (and
    > avoid “design on the spot”)

    I’m not 100% of the intent behind it. To me it seems to be saying the
    ideal is:

    1) Do the understanding
    2) Do the designing
    3) (implicitly – do all the implementing).

    That may be me wilfully misinterpreting your words of course :-)

    I don’t work that way at all.

    I understand a bit. I design a bit. That sparks of some more
    understanding. Which leads to some more designing. Which leads to a
    bit of implementation. Which highlights an issue that I hadn’t
    spotted. Which leads to a rethink of a bit of the design. Which points
    to a new area of understanding which…… I’m sure you get the
    drift….

    For me design is a incremental process of creative refinement – and
    (1) seemed to be saying that was a bad idea.

    I’m not anti research. Research is great! It’s just that I often find
    that the fastest way of clarifying my understanding of a problem is to
    build and try something.

    I have found folk who try and do all the understanding of the problem
    up front tend to miss something – usually a big something – that
    causes problems later on in the project. If they’d done a bit more
    solve it / build it earlier it wouldn’t have happened.

    For me there is a fantastic and thoroughly enjoyable dance between
    understanding, design & implementation. Doing all of one before the
    others is less useful (and less fun :-)

    > 3) Validate designs before investing in (production)
    > code

    I’m niggling again…

    I want to validate the designs in the fastest most cost effective way
    possible. Sometimes that’ll be a scribbled sketch in a notebook.
    Sometimes that’ll be a vaguely formal paper prototype. Sometimes
    that’ll be a quick HTML mock up or something in Omnigraffle. Sometimes
    that’ll be a quick code spike.

    Sometimes that’ll involve writing production quality code.

    It – as they say – depends!

    Validating the design and getting feedback in the quickest and most
    effective way is the important issue. Throwing one of the ways of
    doing that out of the window coz some people do really dumb things
    seems counterproductive to me :-)

    I’ve many problems with designs that come down to not validating
    practicalities with real production code early. Equally I’ve seen a
    whole bunch of problems where folk have gone down one particular
    design path too and have wasted a whole bunch of time and money.

    Understanding the costs and benefits and making an informed decision
    seems better than an absolute statement.

    > Thx!
    > Russ

    And thank you for the thought provoking post :-)

    Cheers,

    Adrian Howard
    ==================================================================
    I can’t speak for everyone, but personally I prefer the density because
    it’s more efficient. It provides the information I need to do my job,
    without hunting and scrolling.

    Kathryn Grant
    ==================================================================
    > Do you think there’s some sort of “complexity appeal”? I’m wondering
    > if some people prefer the
    > oscilloscope over the iPhone? I know some engineers who like to
    > tinker – they like complexity – wires, gauges, messiness…

    I think that can certainly appeal to some folk.

    But for data entry/comparison it’s often a case of a more effective
    workflow. Not having to scroll can make some tasks easier.

    Also – I remember talking to one guy when doing some user testing who
    was really anti-scrolling because he had to touch the computer.

    With the old system he could bring up a page of information and then
    have an interaction with the customer, glancing at the screen when
    necessary. With the new system he had to turn, tweak the mouse, turn
    back. Since he had to do that several times during each interaction he
    felt that it broke the rapport between him and the customer. The quote
    on the usability report was “This will cost me f**king sales” I seem
    to recall :-)

    Cheers,

    Adrian Howard
    ==================================================================
    I think it is both a complexity appeal and they want to be very
    efficient. On one hand, Travel Agents want people to see them as
    experts (and they truly are experts–the general public does not know
    what happens behind the scenes).

    So, the complexity appeal makes them feel like experts. Yes, it is an
    ego thing.

    And…I do think it is related to efficiency. Time is truly money. The
    agents need to book revenue to make a living. With the advent of online
    travel sites, the vast number of travel agents are becoming very
    specialized.

    You do not have a travel agent really in strip malls too much. Just 15
    years ago, there was a travel agency in every other strip mall. To make
    money, they must book revenue faster–screen density makes that
    possible.

    The agents see density as enabling them to book $$$.

    Brian Sullivan
    ==================================================================
    >> I think it is both a complexity appeal and they want to be very
    efficient. On one hand, Travel Agents want people to see them as
    experts (and they truly are experts–the general public does not know
    what happens behind the scenes).

    >> So, the complexity appeal makes them feel like experts. Yes, it is an
    ego thing.

    It all really goes back to ‘know your user’. I have an application I’m working on that is used by both the very barely computer literate salesman and the guru computer user in operations. What they want and how they interact with the same information is very different. So I have two different UIs to help each user role be productive.

    Thanks,
    Jeanne Hallock
    ==================================================================

  7. russwilson says:

    UI Design Guiding Principles: Just as my team and I began working on establishing a set of core guiding principl.. http://awe.sm/tn9

    This comment was originally posted on Twitter

  8. ecarlos says:

    Great list of UI design principles http://tinyurl.com/nkwj87

    This comment was originally posted on Twitter

  9. IATV says:

    10 “UI Design Guiding Principles” http://tinyurl.com/nkwj87 (dexodesign.com)

    This comment was originally posted on Twitter

  10. 10 “UI Design Guiding Principles” http://tinyurl.com/nkwj87 (dexodesign.com) (via @IATV)

    This comment was originally posted on Twitter

  11. #5 is a particular pet peeve of mine.
    #6 also, but to a lesser degree.

    Also, regarding #10, I agree, but have a preference for the term "negative space" over "white space" as not all uncluttered design has a "white" background (Semantics. I'm aware I'm splitting fine hairs. Just pointing it out).

  12. cibit says:

    I love these UI Design Guiding Principles. http://bit.ly/Bf8Yx

    This comment was originally posted on Twitter

  13. teale says:

    10 “UI Design Guiding Principles” http://tinyurl.com/nkwj87 (dexodesign.com) via @IATV

    This comment was originally posted on Twitter

  14. arieldesign says:

    I’m really huge on the 1st one – Understand the problem RT @IATV: 10 “UI Design Guiding Principles” http://tinyurl.com/nkwj87

    This comment was originally posted on Twitter

  15. [...] UI Design Guiding Principles [...]

  16. upaiowa says:

    10, UI Design Guiding Principles – http://ow.ly/jxT3 #ux #ui #design #prototype

    This comment was originally posted on Twitter

  17. [...] UI Design Guiding Principles: http://www.dexodesign.com/2009/07/21/ui-design-guiding-principles/ [...]

  18. @LyndiT says:

    Really appreciate your post, seems as though a lot of our designer community know these things yet we have trouble selling these ideas and reasoning to those who make the final decision.

  19. Colin Hall says:

    Good points. I think the main guiding principle is to understand both the problem to be solved, mindset of the end user and have adequate tools to make the job good. Armed with these we cannot fail.

    Cheers

    Colin ;-)

  20. [...] UI Design Guiding Principles [...]

Leave a Reply

Related Posts: