Building Better Software: Embedded Context Awareness Differentiates Solutions and Improves User Experiences


When startups and development organizations create software, differentiation is everything. Products that set themselves apart from the competition – by offering enhanced functionality or a better user experience, for example – are more likely to win over decision-makers. Adding context awareness to software is one way to create differentiation.

There are two ways to incorporate context awareness into a product: by making it fundamental to the value proposition or by using it to improve the user experience. Each approach has its benefits.

One example where context awareness is fundamental is software based on location data, such as Google Maps. Such products rely on context, including the user’s location, friends who are in the same area, and information about current conditions – like weather or traffic.

More commonly, though, context awareness is used to improve the user experience – yielding small enhancements that can generate big returns. Even a slight improvement in the user experience can compound over time in terms of user retention. Satisfied users spread the word to others, who also become users who share their experience. In this way, increasing the level of context awareness can become a powerful tool for software developers to differentiate their product.

Customers Now Expect a Great User Experience

At SAP.iO Venture Studio, SAP’s internal product incubator, we try to build software that solves a meaningful problem in a simple way. It’s important to think about who the identified problem affects and how big the market opportunity is for solving this problem.

However, to understand the customer, we spend significant time on discovery, interviews, and user research. We explore what matters to users by investigating how they use our products.

This approach helps us deliver the best possible user experience. If we skip that effort, we’ll lose out to software that meets those needs. Let’s face it: Consumers and business people have a plethora of choices about which products they use. And people expect the software they use at work to be as easy to use as the digital products they use at home.

Not long ago, business software was incrementally more powerful than anything we used for personal activities. Now the applications we use in our personal lives can solve equally complex issues, and the software handles it – while also providing an intuitive interface. Think of apps that prepare your tax return by asking very simple questions, banking apps that analyze your expenses and make recommendations for optimizing your finances, or health insurance apps that help manage your well-being and handle administrative processes with medical institutions. When users spend eight hours a day on their work computer, they expect a similarly great user experience.

And there’s one more thing to consider. The wide availability of cloud solutions creates a lower barrier to entry for users who want to switch solutions. In the past, it was difficult for users to discover alternative solutions, test them, or share them with upper management.

Today’s users can go online, explore different options, and download a free trial version of many software products. They can quickly present a business case to their manager and make the switch to another product. With users in the driver’s seat, developers can’t afford to overlook any opportunity to differentiate their software from the competition.

Methods and Tools for Getting Context Right

It is important to understand that the cost of getting context wrong is very high. Think about what happens when a hotel extends an offer for a romantic weekend stay to a consumer who is recently divorced or a cable company sends a service offer to a disgruntled former customer. When software gets the context right, it’s almost unnoticeable. But when the context is wrong, it’s really jarring.

People expect companies to understand them and their circumstances. When software misses the mark, it can catalyze users to switch to another product. Here’s how my team works to prevent that. After customer discovery and user research, we begin rapid prototyping. We employ a design-led development approach that allows us to create realistic, live prototypes, even before we’ve written a line of code.

We invite users to use these click-through prototypes, which look exactly like the ultimate product. As a result, we have feedback from users before development begins. We also seat front-end designers and developers together so they can work as teams. This helps ensure that nothing is lost in translation as we incorporate user feedback into design and development.

Solutions such as usertesting.com allow us to test and iterate early versions of our solutions. All of our ventures also use A/B testing to compare variables in a proposed solution. Beginning with a small group of users, we test each feature to determine how well it works and adapt our solution based on user feedback.

Developers also must work intentionally, putting themselves in users’ shoes. They must be aware of how users will employ the solution, where they’ll use it, and which types of devices and experiences they must plan for.

One way we do this is to make sure developers have opportunities to talk with users. Our developers play a part in the support process, because that’s where software design issues arise first. Asking developers to take part in solving bugs and receiving user feedback helps them see how the product is being used.

Planning for Differentiation

To build solutions that will be valuable well into the future, we have to create products that anticipate user needs. This requires access to a wide variety of data sources and the ability to capture huge volumes of data.

Leading companies like Tesla recognize this reality. Realizing that updating hardware is difficult and costly, Tesla added more sensors and cameras into the company’s vehicles than the cars currently need. As the vehicle’s software applications mature, the hardware will be available to support new use cases.

In essence, you need to think many steps ahead about the data you might want to capture in the future. By actively planning for a world that will have exponentially larger amounts of data and architecting the system accordingly, we can make sure that solutions can scale to accommodate whatever comes next.

It’s almost never too late to build context awareness into a solution. But depending on previous decisions and technical debt, it can be much more difficult. The earlier it is in the product development cycle, the easier it is to be agile. Products that are not designed to be modular and to prioritize the capture of context and data are harder to update retroactively to include these features.

I’m excited about the possibilities for context awareness in the next generation of products. The way we engage and notify users will become more intelligent as solutions take context into account. Ultimately, products will pull users into the experience, rather than relying on users to remember to take action. Notifications and alerts will also become more intelligent, with users informed on the right device at the right time.

Later on, we may see user interfaces that fundamentally shift based on the type or context of the user. Maybe financial software will adjust the information it displays based on the proximity to month-end closing. Or imagine a travel expense application that recognizes when a user is in a taxi on a business trip. It could display only a simplified receipt capture screen instead of the more complex product home page needed to generate a full expense report.

Context awareness will continue to mature, bringing the surprise and delight that users get from their consumer experiences into the business-to-business software world. By building context awareness into these solutions, developers can not only introduce consumer-grade innovations to business software, but they can also make the work life of users easier. And that’s the best way of all for companies to differentiate their products.

About Horizons by SAP

Horizons by SAP is a future-focused journal where forward thinkers in the global tech ecosystem share perspectives on how technologies and business trends will impact SAP customers in the future. The 2020 issue of Horizons by SAP focuses on Context-Aware IT, with contributors from SAP, Microsoft, Verizon, Mozilla, and more. To learn and read more, visit www.sap.com/horizons.

Read more SAP by Horizons stories on the SAP News Center.

Graham Ratcliffe is head of SAP.iO Venture Studio.