Head meets heart

User experience guidelines

Lightbulb with triangles and circles illuminating in and out Lightbulb with triangles and circles illuminating in and out

Think ahead

Focus on users’ goals. Design tools that lead people to actionable insights. Be proactive, always anticipating users’ next moves and helping them prepare for change.

Six universal experiences

Whether we design for them or not, our products and services are framed by six universal experiences. Each experience offers opportunities to solve unmet needs and emotionally bond users to products. These are not product states, they are user experiences. When someone is “trying” your product or service, they should be doing the same thing as “using” it. From the technology perspective, there is no difference. But the context—and therefore the connection with the user—is very different.

Hexagon segmented into six areas corresponding to the six Universal IBM Experiences Hexagon segmented into six areas corresponding to the six Universal IBM Experiences

Take your user to heart

Our users’ worlds are inevitably more complicated than what’s observable on the surface. Strive to understand what you’re asking your users to do and the impact it will have on them. In enterprise business, there are often process-based dependencies impacting the user. We must be authentically thoughtful in our software design and respect what a user needs from each of the following experiences.

a shopping cart representing discover, try and buy experience

Discover, try and buy

a shopping cart representing discover, try and buy experience

Meet users where they are. Show, don’t tell. Create a seamless transition from “try” to “buy.”

A try-and-buy screen in blue and gray A try-and-buy screen in blue and gray

Users want to see what a product looks and feels like while learning about its potential. On the same screen, users should be able to test a product in a single tap or click, using their own data.

Discover

Your brand is only as good as the user experience of your product. Messages should be consistent and integrated with your software’s user interface. Showing the product’s potential is more powerful than telling people about it, but the best outcome is when you do both simultaneously.

One ideal discovery experience occurs when people feel they found the answer for themselves. Include users in the process by meeting them where they are instead of making them come to you.

Think about your own shopping experiences: where did you “discover”? Instead of a product page, it might have started with a web search or in a forum such as Reddit or TechCrunch. Know your users like you know yourself and make it apparent that you understand their preferences and behaviors.

Try

Trying out a product should be as engaging as taking a test drive in your first car. Because users compare your product to the competition, it’s important to differentiate with an experience that keeps them wanting more. Remember, the most memorable experiences not only have measurable impact but also stir the soul.

The best “try” experience is one that shows, not tells. If your product is a large, complex system, a video of it in use, as opposed to a traditional marketing sheet, might be one enticing way you can “show.”

If your offering is an online service, a powerful “try” experience allows the explorer to actually use the service, with a built-in understanding that the user is in a “try” context.

The fundamental differences between “try” and “use” experiences online are the additional nurturing of the user who is exploring your offering and the sample data populating the service.

Buy

Purchasing a software-based product or digital service should be as simple and straightforward as buying a coffee. Steps and details about what goes where should always be obvious. Design a clear, convenient checkout process and let the user get started immediately. Give users a sense of excitement once their purchase is complete.

a flag representing getting started experience

Get started

a flag representing getting started experience

Invite users in and show them what they can do.

A pop-up modal box welcoming a user to a website

Greet users and prepare them for their first actions. Behind a welcome screen, users see their work and feel motivated to get started.

Initial experiences create lasting impressions. People are quick to form opinions when introduced to something new, especially if it is something we expect will improve their lives. Create thoughtful initial experiences to positively influence opinions of the product, service and brand. A careful attention to detail sets expectations for future interactions and forges enduring, emotional bonds between users and products. Good design of the initial experience can also result in reduced support costs, improved customer satisfaction and increased sales.

Like any good party host, your product should greet users and give them a tour. Let people set their own pace by allowing them to skip any steps that slow them down. Provide users sample tasks in order to demonstrate the capabilities of your product in a safe and familiar place. Give users the option to watch a sample task being performed or to interact directly with the product.

The best experiences seamlessly move a user into productivity with comfort and ease. Get users to their work fast and show them personally relevant ways to get value from your product. Charm them with unexpected moments to show them you thought of everything, just for them. Never underestimate the little things; users are instantly gratified when you save them time, attention, hassle or even space on their desk. Encourage users to experiment by showing them a focused idea of what they can learn and do.

Like discovery, getting started often requires many stakeholders to deliver first business value. For cloud-delivered services, this might include the people who have to prepare user registrations or load data into a system. For on-premise products, this includes the people responsible for setting up and configuring systems. For both types of products, there might be tasks like integration with LDAP or other enterprise systems.

First use isn’t finished until personal or business value is delivered. First use is not satisfied simply by putting an overlay on the screen that shows where to click or touch. Think about it as, “How can I easily deliver some business or personal value for the very first user of this offering?” and “How can I easily deliver some business or personal value to each subsequent new user that is added?”

a hammer representing everyday use experience

Everyday use

a hammer representing everyday use experience

Users should get personal value every time they interact with your product.

Three sample screens with notifications provided to the user of an application Three sample screens with notifications provided to the user of an application

Notifications give users the ability to know and help them anticipate how system changes will affect them.

Whether it’s every day or once a year, users should always feel in control, able to pick up right where they left off. Allow users to personalize the product to better fit their needs, their language and the cultural environment they work in. Users should immediately understand the usefulness of your product. The system should convey its conceptual model so that your users know what to expect and can perform necessary actions or derive insights.

Defer to the content to help users understand the path to reaching their goals. Allow them to personalize the product to better fit their needs. Provide a forgiving environment where mistakes are easily reversible. Keep them motivated by ensuring that the right actions and tools are readily present. When they’re done, give users a sense of accomplishment and help them feel proud of their work.

As users move from novice to initiate to expert, their state of mind will change but the product they try, start and use everyday should be the same whenever possible.

an arrow turning 180 degrees upward representing manage and upgrade experience

Manage and upgrade

an arrow turning 180 degrees upward representing manage and upgrade experience

Upkeep and receiving the newest improvements should be as elegant and predictable as using the product every day.

Example image of a clean and simple upgrade screen that explains the actions available

A clean and obvious interface helps users understand the value of the upgrade and easily make changes to their account.

Manage

Management tasks are often overlooked as a key experience for any software product. Besides everyday users, installers, system administrators and database administrators are all users too. These interactions should be designed to be clear and obvious for them and for the users whose actions they affect.

A product that’s easy to manage invites frequent use. A user who doesn’t have to think deeply about managing how well a product works is a happy user. Whether it’s an administrator who’s responsible for an entire organization or an end user getting the job done, designing management tasks to be obvious makes for positive experiences. Remember, with either user group, the expectation is “don’t trouble me with management.”

To this end, management activities must be designed to provide clear system feedback and timely notifications of events, and to properly set expectations for mission-critical tasks. Scenarios to consider are: running the system, monitoring for issues, availability, user notifications, security, scalability.

Management affects as-a-service offerings, not just on-premise offerings. The cost of maintaining an XaaS offering is directly affected by the investment in DevOps tooling. And with many XaaS offerings, there are integrations or data management requirements. People performing these services are users, and should be thoughtfully designed for.

Upgrade

The upgrade experience includes everything from large and infrequent “version upgrades” to incremental updates of any size and frequency.

Minimize user involvement and disruption in the upgrade process. Cloud-based products should deliver updates to users automatically. If users must be engaged to perform upgrade or update tasks, provide a well-crafted experience. Adequately set expectations of skill, effort levels and completion times. Prepare your users in advance for large-scale changes to their everyday use and workflow.

When introducing significant user experience changes, don’t leave your users guessing at what’s new or what has been removed. Notify them that a change is happening or has happened, what occurred and how it affects them.

Upgrades that require infrastructure modifications should be designed to minimize disruptions for the user. Data must migrate seamlessly and with perfect integrity. Downtime must be kept to a minimum.

Even XaaS offerings have upgrade experiences. When there are interface changes to an XaaS offering, emails and other communications to your end users are appropriate and are a key part of their experience. Is your site going to be down for two hours? Your users need to be informed as a part of the experience. Non code-based interactions are often the ones that leave the worst taste in users’ mouths. Think of all experiences holistically.

a small circle expanding into a larger circle representing leverage and extend experience

Leverage and extend

a small circle expanding into a larger circle representing leverage and extend experience

Everything wants to be mashed up. Each part of your offering should be available as an API.

A dashboard with multiple APIs in place for a user to use all on one page

Users leverage data from another platform to bring analytics to their current solution.

Leverage

Developers amplify the value of your product any time they build new applications based on your product’s capabilities and the data it manages. Make sure your application programming interfaces (APIs) and software developer kits (SDKs) are designed and well written. They should be informed by the most common use cases and be simple enough to start using quickly. Make common tasks easy and don’t solve for edge cases at their expense. APIs must be documented cleanly and clearly. They should also be complete, with availability of all of the capabilities your users expect.

Make it easy for your users to picture how discrete capabilities can be recombined. Keep the number of APIs you offer manageable to prevent option overload. When developers clearly understand the options that are available to them, they’re freed up to get creative instead of guessing at what might be able to be developed.

Extend

With the right extensibility mechanisms, developers can work wonders to “complete” your offering by extending its functionality, creating plug-ins and customizing it to better meet users’ needs.

Consider how third-party developers and customers might need to specialize your offering for a particular audience. Each developer audience has its own skills, expectations and ecosystems that we must design for. Design an experience that provides developers with efficient ways to extend the offering.

The “leverage and extend” experience applies primarily to offerings with human interfaces. In its most iconic form, a perfectly executed “leverage and extend” experience enables a developer to recreate the full functionality of the offering in a completely different human interface using supported and documented APIs.

two people holding hands representing getting support experience

Get support

two people holding hands representing getting support experience

Support users in the ways they want to get help. Expand their knowledge and encourage them to share.

A clean and easy-to-use help screen, with the choice for a user still needing help to either speak to a sale's rep or visit an online forum

Users’ support can be driven by the system and by a user community who help one another.

The iconic “support” experience exists across all five experiences. Support is proactive, engaging and comes in many forms:

  • On user-desired forums (for example, web search results and sites such as TechCrunch)
  • As nurturing during Discover, Try and Buy or Getting Started
  • As easily accessible during Everyday Use
  • As command line interface help for Leverage and Extend

When users look for support, help them find what they need easily. Know your users’ habits and equip them with tools that are flexible and ready-at-hand.

Guide them with thoughtful interactions and content so they can learn as they go, understand how to move forward, and acquire the necessary skills to succeed. Where possible, help users avoid mistakes rather than waiting for an error to occur.

When your product or service breaks or becomes unavailable, provide users with factual status that will help them understand how and when they will regain use. Determine the best way to make these notifications meaningful (that is, “seen”) for your users, across all experience contexts and ensure that notifications are in the same language as the user interface they are using.

Support experiences should help people feel knowledgeable. Enlighten users to become experts. Use plain language that is appropriate for your target audience. Give them opportunities to provide feedback and share what they have learned. Users often trust advice from peers, so facilitate community learning when possible.

Back to top