SAP Fiori is a design language and user experience approach developed by SAP for use by SAP, its customers and its partners in business applications.
The Fiori design guidelines provide guidance on implementing UIs that adhere to the priorities of the Fiori design language. The goal of the Fiori design guidelines is to guide designers and developers in creating applications that are recognizable to users as Fiori applications and that behave in a consistent and predictable way. The guidelines define shared services like search, the Fiori Launchpad and message handling that may or may not appear in specific applications. They also define characteristics that are common to all applications like theme, look and feel, and behavior of common controls like buttons, tables and tiles.
The Fiori Launchpad is the most recognizable shared service defined in the Fiori design guidelines and is what most people associate most closely with a Fiori UI.
The Fiori Launchpad in the current, Fiori 2.0 design concept consists of a set of groups and tiles used to launch applications and display relevant information, along with a set of supporting services providing authorization, personalization, search and notifications. SAP provides multiple implementations of the SAP Fiori Launchpad that customers can use for their own applications on SAP Cloud Platform and the SAP NetWeaver ABAP and HANA platforms. SAP also provides its own applications such as SAP Ariba and SAP Analytics Cloud via UIs that comply broadly with the Fiori Launchpad design guidelines.
Security and role-based design
The SAP Fiori design guidelines highly value the concept of role-based design and personalization. This means that, by default, Fiori interfaces should be designed to provide users the capabilities required to execute their role in the organization -- no more and no less. This is an aspirational ideal: The intent is to encourage designers and developers to spend time carefully considering the roles of their users and removing extraneous applications and application elements from their designs.
Further, both the Fiori Launchpad and Fiori SDKs provide personalization services that allow users to modify the Launchpad and applications to fit their specific needs. These services vary from allowing the user to hide or define new tiles, to setting default filters and table layouts in applications, to dynamically hiding UI elements that are not required.
Both role-based design and personalization are separate from security, which remains implemented in back-end systems such as the S/4HANA enterprise resource planning (ERP) platform. The design guidelines encourage developers of Fiori UIs to be security-conscious and adapt their UIs to the access level of the user. However, the security itself cannot be handled at the UI layer.
Implementing Fiori apps
While the Fiori design guidelines are extensive, they do not specify the technology to be used for implementation. There are specific guidelines to the SAP UI5 and iOS SDKs, but the general guideline concepts can be applied to any technology platform or adapted to better fit customer branding and expectations. Such adaption can range from simply applying a custom theme all the way up to modifying the way controls work.
Types of Fiori apps
For a few years, SAP carefully distinguished between a few different types of Fiori applications:
- Transactional applications designed for interacting with individual business objects such as customers or sales orders, managing lists of business objects or carrying out a specific business process such as posting of financial documents.
- Analytical applications meant to analyze a business question or visualize a business process or set of key performance indicators (KPIs) at a higher level.
- Fact Sheets, designed to display all the relevant information regarding a specific business object in one place.
As the Fiori design language has evolved, these distinctions have begun to break down and applications have become more mixed. For example, applications that are transaction-focused have begun to incorporate more analytical elements, and Fact Sheets have begun to be replaced by Object Pages, which mix elements of display with editing capabilities, and Overview Pages, which mix detailed object information with analytical KPIs and visualizations.
SAP Fiori Cloud
SAP Fiori Cloud is a cloud-based subscription service that provides most of the services and technologies required to implement the SAP Fiori design. It includes an implementation of the Fiori Launchpad, authentication and authorization services, back-end connectivity and hosting of both SAP standard and custom-developed applications. It is one of the recommended ways of delivering an SAP Fiori experience.