Most companies organize their in-house IT department for developments in separate units. Mostly around applications or specific development skills. With the move to the cloud, this separation will not work anymore. The cloud allows organizations to become more agile and adopt innovations faster. And they can control their project costs by starting small and scale up quickly. With the cloud, organizations will have more freedom and opportunities to implement their own-practices to support their digital transformation. In this blog, I focus on the freedom of user interface devices and how this has an impact on IT development.
Traditional Business Applications
In ‘traditional’ business applications, business logic, and user interfaces (UI) logic are written in the same code line. And mostly only available for one specific device type. These restrictions mean that these business applications are not agile enough. It prevents organizations from adopting innovations fast. And the personalization and simplification of the UI are difficult.
Multiple Device Types
Nowadays, to fulfill a business process, organizations need user interfaces for different types of devices without changing the business logic behind. Employees and business partners like to use the desktop, laptop, tablet, phone of their own. But also wearables like watches, glasses and clothing, IoT edge computing devices, and home automation needs to integrate into business processes.
In business applications, with a cloud mindset, decoupling the UI code line from business logic is the standard. Cloud vendors provide business logic as an API. And they build multiple role-based and simplified UIs on top of the same business logic. This approach gives software vendors the possibility to adopt modern user interface techniques without rewriting the business logic. And when the vendor UI does not fit the customer’s requirements, customers can build their own UI.
Decoupling the UI code line from business logic makes it also possible to simplify the UI by adapting device-specific UI features to collect information by using sensors automatically. And by using sensor data as input of cloud business services, the user interfaces can be simplified even more.
In the beginning, cloud business services facilitate simple lookups. But these services become smarter during the time using machine learning and artificial intelligence. And then, the output of these intelligent business services can advise the end-user with proposed prefilled values. And over time, when trusted, the user interface shows read-only values only. Or hide the fields in the user interface. When all requested input can be determined automatically, the process can execute in the background without user interaction.
3rd generation web application
To support many different device types, cloud vendors choose 3rd generation web application like HTML5, to support their UI. HTML5 is an ongoing specification using open standards and implemented by all modern browsers. When an application starts, the browser loads only one web page, which dynamically changes during runtime. The behavior and presence are based on templates, data, scripting, stylesheets, and assets. The browser will collect all the pieces necessary for the current screen and will request the server for additional parts when the end-user navigates through the application.
In time, the development of HTML5 applications becomes more complicated due to multiple involving technologies and standards. This opens the market for HTML5 frameworks to speed up and simplify the development of cloud business applications. For example, SAP UI5 & Open UI5, Google Angular, Facebook React, and Vue are some of the most known HTML5 frameworks. And HTML5 frameworks become the defacto UI standard for the cloud applications for 3rd generation web applications. But this UI standard will not fit all use cases.
As mentioned before, organizations and cloud vendors simplify the user interface for the end-user using device-specific features, which most of them are only accessible natively. And this conflicts with the device-independency of the 3rd generation web application.
One solution is running the HTML5 application inside a so-called hybrid container. The hybrid container is installed as a native application on the device. For the HTML5 code, this container acts like a browser with native device capabilities. During runtime, the HTML5 app recognizes the hybrid container and calls device-specific features using a generic API to collect the data and hide some fields on the screen. These features can even influence the screen flow. The hybrid container recognizes the generic API calls and bridges them to the native device-specific APIs.
The strength of this solution is the device-independent development of the HTML5 application. Vendors and own IT departments only should provide a hybrid container application for every device they want to support.
But for security reasons, lack of openness of the device, or missing features in the hybrid container, hybrid applications will not be the solution. This can also be the case when the latency of screen interaction or the network becomes very important. And in cases where the device types don’t have a browser or hybrid container at all, like wearables.
In all these cases, you need to build your application natively in the supported programming languages, with available libraries, and capabilities of this specific device. But this comes with a price. The app must be built multiple times to support different device types.
The freedom of user interface devices changed the way of UI development completely. Some companies changed their device management to a bring-your-own-device (BYOD) policy. This policy is only manageable for generic HTML5 supported devices and applications. For innovative HTML5 applications and hybrid or native frontends, it’s better to have guidance that describes which browsers and devices will be supported. Additional guidelines should describe when IT departments built an application as an HTML5 application running in a browser or as a hybrid application or as a native application.
Our advisors, design thinking coaches, architects, consultants, and trainers of NL for Business are ready to help you to innovate your SAP practice. Since 2001, we primarily focus on custom build innovations on top of SAP solutions and use our EasyRun approach to bring success to your organisation. If you have any questions of want more information, please contact us.