18 April 2015
"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.
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." - IBM
Source: IBM Design
Meet users where they are. Show, don’t tell. Create a seamless transition from “try” to “buy.”
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.
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.
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.
Invite users in and show them what they can do.
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?”
Users should get personal value every time they interact with your product.
Whether it’s every day or once a year, users should always feel in control, able to pick up right where they left off. 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.
Upkeep and receiving the newest improvements should be as elegant and predictable as using the product every day.
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.
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.
Everything wants to be mashed up. Each part of your offering should be available as an API.
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.
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.
Support users in the ways they want to get help. Expand their knowledge and encourage them to share it.
The iconic “support” experience exists across all five experiences. Support is proactive, engaging and comes in many forms:
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.
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.
Meet users where they are. Show, don’t tell. Create a seamless transition from “try” to “buy.”
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.
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.
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.
Invite users in and show them what they can do.
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?”
Users should get personal value every time they interact with your product.
Whether it’s every day or once a year, users should always feel in control, able to pick up right where they left off. 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.
Upkeep and receiving the newest improvements should be as elegant and predictable as using the product every day.
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.
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.
Everything wants to be mashed up. Each part of your offering should be available as an API.
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.
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.
Support users in the ways they want to get help. Expand their knowledge and encourage them to share it.
The iconic “support” experience exists across all five experiences. Support is proactive, engaging and comes in many forms:
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.
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.