SAP Fiori 3: How to put intelligence into your user experience
In this post, I will give you an overview of how you can help your users get more done, with better results than before, by adding intelligence to your business applications – leveraging design patterns for AI (artificial intelligence) provided by SAP Fiori and its supporting technologies.
What does AI actually mean for a user? When does a user think that they are using an intelligent system? Essentially: when the system helps him or her get more done, with better results than before.
How can a business system do this?
- By automating routine tasks, so that the user doesn’t have to do them.
- By augmenting and guiding the user, in other words providing insights, by notifying of issues needing attention, providing relevant contextual information for making a decision, making suggestions on how to proceed and providing explanations about why it is making these suggestions.
- Allowing the user to interact using natural language will make the system appear intelligent to the user, and helps the user interact faster and more easily with the system – for example it is much quicker to simply ask the system “show me overdue orders for product ABCD” than first navigating to the app and searching there.
In other words: automation is not the only way to provide an intelligent enterprise system (see also). Where automation is possible it should be done; where it cannot be done, proactive information, recommendations and decision support along with explanations can often be provided. The figure shows this, with the arrows indicating that over time the amount of automation and proactive support should increase based on feedback and learnings, and as more AI is built into the system.
Blue: Automated, users configure and monitor
Green: Proactive, recommendations (smart)
Red: unique human value-adding activities
Figure 1: Increasing automation and system support allows users to get more done, and focus on value adding work.
Users benefit from automation because they are freed up to do more valuable and enjoyable activities. For these activities, augmenting and guiding the user makes the user more effective – in other words they can get better results with less effort, and with a more enjoyable experience. And natural language interaction gives the user a faster, more natural and even more enjoyable way to interact with the system.
What does this mean for developers?
First and foremost, it is essential that developers understand the needs of the user:
- which routine tasks could be automated, and how?
- where and how could the system augment the user? For example, which decisions do users have to take, what contextual information do they need for that, could the system provide suggestions or recommendations along with explanations?
Also, it is important to surface intelligence consistently across all applications: if a user gets contextual information and suggestions for a certain kind of task in one application, then they expect to get the same experience when getting guidance for similar tasks from other applications.
This is where SAP Fiori comes in to play, with design patterns to ensure consistency – for the user interactions themselves as well as for user feedback on the AI outcomes, which simplifies learning.
SAP Fiori design patterns for putting AI in your UX
We follow a human centered AI approach, meaning that we look at the users’ needs holistically, which includes aspects like building trust in addition to functional insights and guidance.
User guidance can be provided both by a graphical UI, a GUI, as well as using a conversational UI – both allow the user to interact with the system and receive guidance. This guidance can be
- Predictive: the system can analyze historical data and make predictions or forecasts.
- Proactive: providing insights relevant for the activity the user is doing in the system – in other words analyzing the data in the system and giving the user guidance or suggestions on how to best proceed with the activity.
- Reactive: helping users react to external triggers or events, such as a machine breaking down or a supplier informing about a delivery issue, by guiding the user and suggesting options for dealing with the situation.
We have identified a number of UX patterns for guiding the user, which are described below. SAPUI5 controls, SAP Fiori elements and the Situation Handling framework in SAP S/4HANA support developing these patterns.
Notifications proactively inform the user that there is something which needs their attention – this could be proactively triggered by some insights, or reactive based on an external trigger. Notifications can be via the SAP Fiori notification center, but also indicators on lists or object pages, indicating that a certain object has an issue or needs attention.
Suggestions are the patterns for actually guiding the user on how to best act on a given task or situation. We have identified these three patterns for suggestions:
- Recommendations for how to proceed, for example recommended actions;
- Ranking, which means suggesting which items are the most important ones to look at or to take action on, and which ones are less important. For example, you could provide a list of customer opportunities, with the most likely customers at the top, so that users don’t waste their time following up on unlikely customers.
- Matching, which means that the system suggests that certain items are best matches for other items – for example which payments match to which invoices. This can be automated, but if there are discrepancies, the system can propose which matches are most likely, hence guiding the user. This can be seen as a special kind of recommendation.
This pattern covers predictions and forecasts. Forecasts could be visualized in a chart with a forecast for the future months. Predictions could be used to inform a user about when something will run out or fail and need replacing. Both of these are also powerful ways of providing user guidance.
Explanations are key to building trust with the user: the system explains why it is notifying you about an issue, and in particular explains the suggestions it is making. This is important because many decisions have high stakes for users, so they need to feel confident that they are making the right decision when following the guidance provided by the system – they don’t want to get into trouble for doing the wrong thing simply because they took the advice provided by the system.
Feedback allows users to feel that they are contributing to the AI insights, by indicating how useful the guidance was – allowing the system to learn about which guidance was followed and which not, and hence improve future guidance. This also ensures that users’ trust level remains high.
Situation Handling is an approach which brings together many of these patterns into one overarching pattern for dealing with business situations – in other words, dealing with issues which need attention. A situation needing attention might be a broken machine, a supplier being unable to deliver on time or contract which will soon expire.
Situation Handling includes notifying the user about the situation proactively, providing suggestions and recommendations on how to deal with it, along with explanations of the situation itself as well as explaining its recommendations.
Situations could be triggered by predictions, by proactive insights or in reaction to external triggers. Situation Handling also foresees a feedback mechanism for users to indicate how helpful the recommendations were, and also monitoring which of the recommendations were actually chosen.
Automation and Augmentation are inter-related
Augmentation and Automation look quite separate, but in fact they are related to one another:
- Notifications can be used to inform users if errors occurred during automation.
- Suggestions can also lead to recommendations for automation: if users regularly accept the main recommendation, or regularly accept the proposed matching result, then the system could recommend that these decisions be automated going forward.
- Explanations are also important for automation – explaining the automation outcome, so that users trust that it is working as expected, or if errors occur, explaining what went wrong.
- Finally, feedback can be used to confirm the automation rules, or as input for adjusting them.
To learn more about how to put AI into your UX using the above patterns, have a look at the section on how to design intelligent systems in the SAP Fiori design guidelines. For supporting natural language interaction, have a look at the Conversational UX design guidelines, which are supported by the SAP Conversational AI technology.
These blog posts give you an overview of the Intelligent Design System:
Keep an eye out on future blog posts, also from my co-author Joachim Sander, design lead for the „Intelligent System“ topic within the SAP Fiori design system.
These blog posts are a good way to get a comprehensive overview of Situation Handling:
- Situation Handling: What is it and why do you need it? (1/5).
- Situation Handling: Selected use cases in different application areas (2/5).
- Situation Handling: How do I configure situation types? (3/5).
- Situation Handling: How to analyze situations using Monitor Situations (4/5).
- Situation Handling: Advanced configuration of situation types (5/5).
- Intelligent Situation Automation – an extension of SAP S/4HANA Situation Handling.
Selected use cases explained in short videos (1 – 2 minutes, plus configuration time for two of them):
- Procurement: Quantity Deficit in Supplier’s Delivery.
- Procurement: Catalog Item Proposal Is Ready to Use (Free Text Items for Catalog).
- Procurement: Low Number of Quotations Received.
- Finance: Invoice Skipped in Payment Advice.
- Finance: Errors and Warnings in Allocation Runs (includes configuration).
- Finance: GR/IR Processor was Changed.
- Manufacturing: Stock Transport Order Overdue (includes configuration).
Advanced insights, troubleshooting blog posts:
- Situation Handling: How to use Responsibility Management efficiently.
- Help – Why isn’t there any situation notification?.
Do also have a look at the documentation:
- Situation Handling in SAP S/4HANA Cloud and
- Situation Handling for SAP S/4HANA.
- Note that the documentation also includes an overview of the application use cases (situation templates) supported by SAP S/4HANA, for example this list of Use Cases for Situation Handling for SAP S/4HANA Cloud lists 78 templates for the 2102 release.
To get more insights on the design of Situation Handling, have a look at these blog posts: