Evaluating SAP Fiori

Objectives
After completing this lesson, you will be able to:

After completing this lesson, you will be able to:

  • Describe the importance of a consumer-grade user experience
  • Differentiate between the available SAP Fiori UX floorplans

The Importance of a Consumer-Grade UX

No matter how innovative a software application is, it is the successful adoption of it by end users that ultimately decides its success or failure, and nothing correlates to that successful adoption more than the user experience (UX) the application provides.

Why is UX so important? Today, unlike in the past, end users expect enterprise applications to have the same visual look and feel as the applications that they use on phones, tablets, and Web sites everyday.

As discussed in the lesson, Introducing the Clean Core Approach, the needs of end users, while important, must be balanced against the needs of the business and the IT department. Fortunately however, in this case, this balancing results in a "win-win" for everyone. Beyond happy end users, a well-designed UX decreases training costs, as end users require less time to learn the application. Well-designed apps also have fewer errors, which leads to the IT department spending less time processing support tickets, not to mention higher productivity on the part of end users. Finally, fewer errors lead to fewer customer complaints, which lead to a higher Net Provider Score – something all companies value.

What Is UX?

Now that we understand why UX is so important, let's turn to examine what exactly UX is. There are some variations of the definition, which is understandable and not necessarily problematic. One good starting point for a definition is the International Standards Organization (ISO). ISO 9241 defines user experience as a "user’s perceptions and responses that result from the use and/or anticipated use of a system, product, or service". The perceptions referenced in the ISO definition are influenced by the application being used along with the use in question and the context in which the application is being used.

This definition is a good starting point for SAP’s Consumer-Grade UX – one of the pillars of SAP S/4HANA Cloud’s product strategy. For SAP, consumer-grade UX means enterprise apps that have the "consumer" look and feel that end users want. Consumer-grade UX is personified most clearly in SAP Fiori. SAP Fiori is a design system encompassing all aspects needed for effective UX development. Those aspects include visual elements making up an application, navigation concepts, application provisioning options, and more.

As well as product strategy, SAP Fiori is also an important part of the clean core approach. Recall that in the lesson, Introducing the Clean Core Approach, we mentioned that one of the parts of the clean core approach is the usage of well defined, upgrade-stable interfaces. SAP S/4HANA Cloud data is supplied to an SAP Fiori app through interfaces, specifically remote APIs – the exploration of which we will see in an upcoming lesson.

SAP Fiori Benefits

SAP Fiori apps provide project teams with the following advantages:

  • Consistency of SAP Fiori apps
  • Faster build times
  • Easier test processes
  • Standardized development terminology

Consistency of SAP Fiori Apps

SAP Fiori apps are built using SAPUI5. SAPUI5 in turn is based on standardized Web-based technologies. SAPUI5 uses HTML5 along with CSS3 and JavaScript. It also leverages two well known and popular libraries: LESS and jQuery. SAPUI5 has almost 200 standard controls that a developer can use in building UIs. These controls look and behave the same regardless of the application they are used in. So, whether it is the Cash Flow Analyzer app used by those in the finance department, or the Count Physical Inventory app used by a warehouse clerk, the types of elements are the same.

Faster Build Times

There are two innovations that the project team find invaluable in building SAP Fiori applications. One is the SAP Business Application Studio, the other is SAP Fiori elements.

SAP Business Application Studio is a service available on SAP Business Technology Platform (BTP). SAP Business Application Studio is a modern, integrated development environment that can be used to build SAP Fiori apps. Using a set of integrated tools and wizards, the project structure, along with files containing the code, can be generated automatically in just a few clicks of the button. This results in an extraordinary reduction in development time compared to creating all necessary project components from scratch.

SAP Fiori elements can reduce development time even further. When a project team is designing an SAP Fiori app, one of the things they must decide is whether to develop the app freestyle or with SAP Fiori elements. While the SAP Business Application Studio in both cases generates all required project components, a freestyle app can be further enhanced with additional code to handle functionality the SAP Business Application Studio did not generate. This additional functionality is most likely added in the form of additional HTML5, CSS3, and JavaScript added at the appropriate locations. This requires developers to be familiar with those languages in order to implement the needed additions.

SAP Fiori elements takes a slightly different approach. It categorizes applications by purpose (that is, Analytics, Worklist) into one of several floorplans. The floorplan is chosen by the developer in the SAP Business Application Studio when developing the application. However, unlike a freestyle generation, the HTML5, CSS, and JavaScript files are not generated. Instead, a series of files containing annotations, which are XML-based, are created. These annotations are evaluated at runtime by the SAPUI5 runtime when the end user launches the application and the UI is rendered dynamically.

The following floorplans currently exist:

  • Analytical List
  • Page
  • Initial Page
  • List Report
  • Object Page
  • Overview Page
  • Wizard
  • Worklist

As with freestyle, the developer can further enhance the application with the required functionality. This is where another feature of SAP Fiori elements shines. An SAP Fiori element application can be "bound" to an OData service that is implemented in the ABAP platform (specifically, a Core Data Services (CDS) view). Annotations can be placed in the CDS view, which will be evaluated by the UI5 runtime. Along with the capability of placing annotations in the SAP Business Application Studio project, these two options give the developer flexibility in the design of an application. Annotations that are more global in scope can be placed at the ABAP layer (thus avoiding the developer having to repeatedly copy them in multiple apps). More specific annotations (that may vary from app to app, based on end-user requirements) can be placed in each individual application. The potential advantages of this coupling between the ABAP layer and the UX layer becomes more apparent in a later unit when we explore the different types of extensions possible under the SAP S/4HANA Cloud extensibility model.

Easier Test Process

SAP Business Application Studio has a plethora of test tools to aid developers. XML, JavaScript, and JSON code all benefit from automatic code insertion and completion. All three are syntax checked with integrated tools. Developers are able to launch the SAP Fiori applications they are working on directly from the integrated development environment.

Standardized Development Terminology

SAP Fiori is based off of the popular "layered" development philosophy. A data layer provides persistence. A service layer provides an implementation of create, read, update, and delete operations (CRUD). The visual layer is implemented based on the popular Model View Controller (MVC) pattern, which most developers are familiar with, and for those who are not, it is easy to learn. Each element of the MVC pattern has a defined set of development objects with specific features that make it up. As a result of this standardization, communication between project team members is easier. Development of apps is more efficient and maintenance of apps is more straightforward.

Design Principles

Consumer-grade UX implemented through SAP Fiori is based off of the following five fundamental building blocks:

  • Role Appropriateness
  • Adaptability
  • Simplicity
  • Coherence
  • Delightfulness

Role-Based

SAP Fiori applications are assigned to end users via the role concept maintained via transaction PFCG. Transaction code PFCG is well known with SAP Basis administrators and authorization experts, so the learning curve for SAP Fiori is minimal. SAP Fiori apps are assigned to two types of artifacts: Catalogs and Groups. Either or both can be assigned to a role, which in turn is assigned to users through the transaction code PFCG. The ease of the assignment process allows companies to make sure that work requirements are harmonized with compliance and organizational control requirements.

Adaptive

One of the biggest demands from end users today is their preference to use the device of their choice to do their work. Not only do end users use phones, tablets, and desktops, but they expect to be able to begin a process on one device and finish it on another different device. SAP Fiori has adaptability built in its core. An application renders itself based on the type of device that it is being used on. Draft capabilities inherent at the ABAP layer allow end users to temporarily stop application execution and complete it at a later point in their timeline.

Simple

In the SAP ERP world, SAP GUI applications could sometimes be composed of a large number of screens, with a correspondingly large number of fields, menus, and buttons. In the SAP Fiori world, those applications are deconstructed into small modular applications, based on the principle of one – a single application for a specific purpose.

Coherent

No matter which SAP Fiori app an end user is using, and no matter for which purpose they are using it, they experience consistent interaction and visual experience across the entire enterprise.

Delightful

As mentioned earlier, the end user is where the ultimate value of enterprise software is realized. Because SAP Fiori allows them to simply do their work, their work experience is enriched.

Create a UX Using SAP Fiori Elements

Log in to track your progress & complete quizzes