A User-Centric Design and Development Manifesto

User experiences on the premiere web applications of the public Internet drive the desire for a similar experience elsewhere, including the corporate intranet and the mobile space. Additionally, as these Web-wide experiences become more social in nature, users expect that corporate intranets and mobile applications will also offer a means for finding, connecting and collaborating with their friends, colleagues and executives in a more meaningful and personal way.

Wabi-sabi

In order for a rich Web 2.0 experience to support a productive workforce, a user-centric design and development approach must be followed. And at the core of this pattern is a principle that can be summarized using the term “wabi-sabi.” This term represents a comprehensive Japanese aesthetic view of beauty in natural simplicity, which embraces the notion that nothing lasts and nothing is finished, among other concepts. In a user-centric design and development approach this is manifested in an elegant yet simple design that is highly usable and intuitive, and is maintained with constant quality improvement as the primary, ongoing focus.

The use of an application should be implicitly understood, as a key is to a keyhole. This is defined by two basic principles. First, the “affordances” of an application are the properties that give the user a visual clue to its function and use. A user will know how to use an application by design. Second, the “mapping” of objects is the relationship between two things, as in a widget in an application and how it can be manipulated to achieve a result. Natural mapping leads to immediate understanding. In basic terms, simple objects do not need pictures, labels, or instructions.

These core principles are directly aligned with what users want, need, and expect from their user experience. Simple, elegant designs replicate the premiere user experiences from the public Internet. They provide a familiar, approachable, engaging face for a digital tool that may be entirely alien to them otherwise. These “wabi-sabi” designs are also directly aligned with what the enterprise requires from a productivity and efficiency standpoint. Simple, approachable tools require less training, provide faster access to information and workflow, and greatly enhance user satisfaction.

User Focus

Designing a user interface that yields a consistent, simple and highly effective overall user experience requires a constant revisiting and re-evaluation of core principles that should form the basis for every decision you make. Always ask yourself if the design could be simplified, and if the user interface easily allows a user to accomplish their goal within the application framework.

This is not easy, especially when designing an application for a varied audience. But it is possible. For example, there are many ways to qualify a user before presenting them with successive user interface elements, and maintaining state between uses can further simplify and target the experience.

To that end I have created this manifesto, which serves as a constant reminder of this design approach. The manifesto is an advocate for the four pillars of good human interface design, which are:

  1. Control
    The user should always feel that they are in control of the experience with the end game of achieving their goal.

  2. Conveyance
    Users should always be oriented within the interface. They should be able to find key objects and processes required to perform their tasks.

  3. Continuity
    Objects should behave the same way throughout the user interface, and likewise, visuals and nomenclature should reflect the same concepts throughout the user interface.

  4. Context
    Users should be able to easily identify what a given object is or does by its appearance and/or its usage.

The Manifesto

The following are human interface design considerations based on the wabi-sabi approach described above.

  1. Only users know what users want.
    You may have great ideas, and so may the stakeholders. But in the end, only the users of an application really know what works and what doesn’t. Ask them first. Ask them after designs are created. Ask them during beta testing and user acceptance testing, and then ask them upon completion. The use of focus groups can be incredibly helpful in this regard, as these individuals will ultimately become ambassadors for the application, aiding in change management efforts.

  2. Test early, test often, and test again.
    Following a user-centric design and development approach involves capturing measurable usability requirements alongside your functional requirements. You will have to set aside time to carry out usability testing at every iteration in your development process. You cannot do this without a budget, time, and resources. And you won’t have these unless you have buy-in at the highest levels.

It is important to note that the aforementioned principles are perhaps the most important ones, as they will determine your development process. And your development process will largely decide whether your project succeeds (is accepted by users) or fails (is rejected by users.)

  1. Be an advocate for the user.
    Always consider whether a concept benefits the user directly or indirectly as the first order of business.

  2. Speak one language.
    There should only ever be a single term or phrase used to refer to any given item in the application. An item here may refer to a concept, a widget, or a business function. This is typically referred to as the nomenclature.

  3. Respect user effort.
    Try to limit the user’s physical toil while using the application. Repetitive stress injuries (RSI) are a fact of life today, and we as application designers have to accept responsibility for the ergonomics of our applications.

  4. Make difficult decisions.
    It is your job as the user interface designer to layer the user interface and make important decisions about its organization. Don’t leave these decisions to the user just because it makes your life easier. For example, if your application has a huge preferences section, treat this as a flaw and review the design to see if additional decisions must be made in order to simplify the layout and overall ease-of-use.

  5. Get out of the way.
    Users must be able to perform their most frequent, important tasks readily and easily. For example, it is most important that an e-mail application allows the user to quickly and easily read, reply, forward, and delete messages. All other functions are subordinate.

  6. Prevent, don’t scold.
    Whenever possible, the user interface should prevent the user from making a mistake instead of alerting the user to the mistake after the fact. This saves time and spares frustration. Treat mistakes as imperfect approximations of what is desired. Help the user to achieve the desired result, and make it difficult to perform a task that cannot be undone.

  7. Give Sufficient Feedback.
    The interface should give the user sufficient feedback for their actions. The user should never have to wonder if something worked or was successful. This is best accomplished with meaningful visual cues, as opposed to lengthy textual descriptions. This is also an effective training approach.

  8. Don’t lose the user.
    The user interface should protect the user’s sense of spatial positioning. The user should never feel “lost” within the application. Keep them oriented at all times.

  9. Consider universal accessibility.
    Many people appear to be on a quest for the magic bullet of accessibility, which doesn’t exist. Designing an application for average folk and then going back to shank it with accessibility enhancements leads to a bad user experience and spaghetti code. The application will not be truly accessible for users with disabilities without designing for those users at the outset. This means that it is important to gather usability requirements for disabled users just as one would for users without disabilities. Test this with disabled users, and remember that “disabled users” doesn’t refer to a single audience. It refers to multiple audiences, including those with accessibility requirements in sight, hearing and motor function. This process will incur a cost of time and money, and will require buy-in at the highest levels. This should be an initial consideration, not an afterthought.

  10. The most important page is the home page.
    The home page is a place to house the information that is either important or timely. It’s also a place to drive adoption by providing information that entices users to come back frequently.

  11. Be user-centric, not department-centric.
    Tailoring content and design primarily to the user and not the department dramatically increases adoption. This requires a cultural change for the IT group and governance bodies.

  12. Manage complexity.
    The application should manage the complexity of the content. Don’t force that task onto the user. For example, it may seem like a great idea to have a piece of content segregated across different areas of the application from an organizational standpoint. But ultimately, making the user hunt to find all of the information they need creates a bad user experience.

  13. Learn from negative feedback.
    Though positive feedback is great to hear, negative feedback provides an opportunity to improve the application and win over frustrated users at the same time.

  14. Personalize more than customize.
    Having a system that personalizes the experience and allows for minimal customization is more desirable than a system that has too many customization options. Users don’t have time to configure dozens of options, but they would like to be able to adjust the select few that are most important.

  15. There is no such thing as “done.”
    The application will never be finished. It’s in a constant state of evolution. This is especially true for search and overall usability. The appropriate stakeholders must realize this so that proper resources are allocated long-term. As the Nobel Prize-winning physicist Richard Feynman once said, “If you think you understand quantum theory, then you don’t understand quantum theory.” Likewise, the same metaphor applies to application, search, and usability “doneness.” When you think you’re “done,” you’re not.

Core Design Principles

When following the core human interface design and user experience principles of this manifesto, the following design principles should also be considered.

  1. Simplicity
    Keep only the essential items present on a given page, form, or window. Do not display what a user does not need to see, but do keep essential functionality exposed and primary.

  2. Consistency
    This is true for nomenclature, as well as graphic treatment. Layouts should look as if the same individual created them. Navigation elements should have the same appearance, as should supporting content elements. Strive for cohesion.

  3. Contrast
    User interface elements should be clear and obvious.

  4. Alignment and Proximity
    User interface elements should be properly aligned and grouped with like items.

  5. Exposure
    Expose the most important elements in an obvious way, and downplay secondary or subordinate elements.

  6. Guidance
    Help the user along by guiding them through the essential content to aid in gaining familiarity. This is usually a byproduct of following the principles of “Simplicity” and “Exposure.”

  7. Discovery
    Once familiar with the user interface, extended functionality can be “discovered,” helping the user grow from beginner to intermediate and then advanced in their navigation skills.

Social Integration

When integrating social media into an application, the following best practices will prove invaluable.

  1. Start with a base.
    Begin by adding social media and interactivity that moves just slightly out of the comfort zone. Then as time proves that the approach is sound, continue layering on additional functionality to strive for constant quality improvement.

  2. Collaboration cannot be forced.
    Collaborative elements should be seamless, natural and optional. Focus on using these to improve relevance, not collaboration. The latter will naturally follow from the former.

  3. Follow the community.
    First go where the community leads (what do users want?). Otherwise, they may not follow when later innovations progress. This will increase adoption.

  4. Build trust and confidence by interacting.
    Individual feedback in a timely manner is essential to keeping the community engaged and participating.

  5. Make sure moderation is bulletproof.
    Be sure to test moderation processes before they are needed in production.

  6. Log and archive activity.
    Ensure that there is enough capacity to store all user activity (e.g. comments, ratings, etc.) so that future communication can reference past interactions as needed.

  7. Set the tone early.
    Depending on the corporate culture, it may be necessary to moderate more aggressively initially to set the tone. Users will generally follow their peers’ behaviors.

  8. Require attribution.
    Disallowing anonymity will dramatically cut down on inappropriate content.