UPDATED 12 October 2016 – mySmartApp is out of beta and now generally available. Request access here to try it for yourself.
Long in the making, I’d like to introduce the story behind a soon to be released Design Studio extension, mySmartApp. Although a commercial add-on, I thought it would be of educational value to share the journey and the end result. I’ll talk about the challenges, design decisions and intent, as well as key features, with a view to receiving your opinions about the concept and encouraging further discussion.
For those that are interested in providing more direct, hands-on feedback, I’ll include information about the upcoming beta program towards the end of this blog.
mySmartApp in a Nutshell
mySmartApp is a single, self-contained, end-to-end component which allows the very rapid design and deployment of visually appealing, engaging analytical apps without the need for any coding, in a browser-based environment with run-time configuration wizard for easy definition of content using a variety of layout options and consumption patterns.
What It Is and What It Is Not
- IS a tool for quickly deploying curated, lightweight yet sophisticated BI apps for the masses, by business users for business users
- IS a complement to the existing “ready-to-run” standard apps
- IS NOT a replacement for custom built Design Studio BI apps. There will always be a need for specialised BI apps for specific user groups, taking advantage of both standard components and other SDK components from the List of Design Studio SDK Components as well as the SCN Design Studio 1.6 SDK Components
Target Audience and Use Case Scenarios
1) Non-technical business users for creating code-free BI apps by focusing on business content rather than technical design
2) Customers with small IT departments to allow them to be more productive by doing more with less
3) Customers with large IT departments to allow rapid rollout of useful BI apps while freeing up resources in parallel to work on custom built specialised BI app requirements
4) SAP Partners to package rapid deployment of BI apps with complementary value-added services for their clients
No need to worry about properties or scripts
Based on various SAP presentations and feedback on the SCN, I think it’s safe to say that standard Design Studio is intended as an IT developer tool for creating professionally authored dashboards and BI apps rather than a tool for business users without coding experience. While it’s true that with the latest features such as property binding, it is easier to create apps without coding (or at least with less code), more sophisticated apps still require coding. This is one of the challenges mySmartApp seeks to address.
mySmartApp does not have an Additional Properties Sheet (APS) with a huge selection of properties, nor does it include any script methods. This is quite deliberate as the intent is to provide an easy to use, code-free environment for rapidly building useful BI apps which simplifies the process for business users and other non-programmers.
The philosophy here is to Run Simple, where less is more.
As you can see from the screenshot below, the mySmartApp component makes up the entire BI app. The content is not rendered on the canvas at design-time because it is defined through a configuration wizard at run-time.
Easy to deploy for IT
Since mySmartApp is a single, comprehensive, self-service component only one Design Studio app with this component needs to be deployed to the BI Platform, after which multiple views can be configured and saved as needed at run-time. This simplifies deployment and maintenance.
Stay organised with a built-in launchpad
As shown in the following screenshot, mySmartApp includes a tile-based Launchpad to access SmartViews (explained further along) available to the user:
Combine the best of self-service and guided configuration
- Initially create views with the Configuration Wizard
The Configuration Wizard guides the user through a step-by-step process to define the content of a SmartView, as shown in the example below:
- Then edit them on-the-fly as needed
Once a SmartView has been created, end users have the option of adapting them further with the in-view editing feature. Some examples are shown below:
The combination of Configuration Wizard and In-view Editing allows separate roles for designer and consumer if needed, whereby a designer can create SmartViews based on specific data sources and initial configuration, which can subsequently be shared with end users who can further refine these views for their specific needs.
Pick your own data source
The Configuration Wizard includes a step for selecting a data source from a BW or HANA backend system, based on a built-in data browser as shown below:
Select from multiple layouts with SmartViews
An important concept behind mySmartApp is that it takes an approach of providing a range of design patterns similar to templates, called SmartViews, with built-in configurable logic, to accelerate analytical app development. The beta version includes two types of SmartViews as illustrated below but many more are in the pipeline and new ones will also be added based on feedback.
This view presents a master-detail layout with a drill-down list on the left and a tile-based summary of KPIs on the main page. It includes options to display the list as microcharts, bars and variances. Similarly, the tiles may display either microcharts or variances.
Clicking a tile displays the corresponding detail chart which is built-in to the view:
This view allows the creation of a custom KPI hierarchy from selected measures. The hierarchy nodes can be expanded and collapsed. Zooming and panning is also supported. The list on the left enables drill-down through dimensions.
Clicking a hierarchy node tile displays the corresponding detail chart, once again automatically included functionality:
Choose the look and feel from a range of themes
By default, mySmartApp implements the Blue Crystal Theme in conformance with the Fiori style. However, it is clear from the SCN discussions and the customer feedback that there is also a desire to have the flexibility of alternative themes. In particular, with standard functionality, theming an entire application with CSS can become quite a time-consuming process due to the need to research through debugging which style classes need to be overridden for each element. mySmartApp provides a range of built-in themes to customise the look and feel of the app.
Below are some examples of a dark theme with gradients on the charts:
Create once, run on any device: responsive and adaptive
One of the challenges of deploying Design Studio apps, as evidenced by various SCN discussions on the topic is to provide support for different types of devices such as smartphones, tablets and desktops, particularly in an increasingly mobile world where a mobile first design is encouraged. mySmartApp addresses this issue with both a responsive and adaptive design. There are various definitions of this terminology but I’ll define them as follows:
Responsive design keeps the same content for all target devices but simply changes the layout according to the form factor, whereas Adaptive design also includes logic to explicitly change the content for a particular target device such as smartphone or tablet.
View in your own language with built-in translation
To cater for a global user base, mySmartApp includes pre-translated menu texts. The set of supported languages will continue to be expanded.
In this section I’ll discuss the main design decisions that were made in the course of the development of mySmartApp and why.
1. Apply the Fiori Design Guidelines
SAP’s User Experience Strategy clearly sets the Fiori UX as the future direction of SAP applications. This has been reinforced with the recent announcement of SAP’s partnership with Apple whereby the Fiori Design Guidelines now also include a standard for iOS. Furthermore, from a Design Studio perspective this commitment to the Fiori design has been implemented with the new M Mode introduced in Design Studio 1.6.
Taking these factors into account, the main reasons for this decision were:
- to ensure consistency with SAP’s stated future UX direction;
- the adoption of a well-defined, enterprise grade standard like Fiori saves a considerable amount of time in terms of having a foundation to build on rather than creating one from scratch;
- since Design Studio apps can be integrated as a tile on the Fiori Launchpad, the look and feel of mySmartApp will be consistent with the look and feel of the Fiori Launchpad and other Fiori apps thereby providing a familiar, coherent user experience as defined in the Fiori Design Principles.
2. Provide flexible theming support
Although the Fiori Design Guidelines include what I consider to be an effective style based on a flat design with subdued colours as recommended by best practices, feedback from customers has brought attention to the need for providing flexibility in this area. I confess that personally I have certainly been an advocate of such best practices in visualisation design but have come to realise that perhaps this stance could be a little idealistic. In particular, it became quite clear that end users such as managers and C-level executives love their dashboards with gradients, lively colours and black backgrounds and that in the real world, this habit can be difficult to break. Rightly or wrongly, it has a genuine influence on management support, adoption of one tool over another and the proliferation of BI within an organisation. This need is also fuelled by the “consumerization of IT” whereby business users are now accustomed to using highly engaging and visually appealing apps on their smartphones and tablets and so expect the same in business apps.
In light of this feedback, it was decided to include a theming feature with mySmartApp to provide a balanced approach for look and feel.
3. Allow analytics based on configurable design patterns rather than free form design
Standard Design Studio already provides a developer environment for building custom BI apps through a free form WYSIWYG drag and drop interface and script coding. The intent of mySmartApp is to complement this with the ability to rapidly create analytics through configuration of visually appealing and engaging design patterns, allowing non-technical business users to focus on the business content rather than the details of traditional custom app development.
4. Implement run-time configuration rather than design-time configuration
Two main reasons drove this design decision:
- By implementing run-time configuration we are able to move the design process into the browser, providing a more immersive, in-app user experience tailored for business users, whereas the Design Studio client is based on Eclipse, an Integrated Development Environment more suited to technical developers
- Run-time configuration allows for a dynamic app where both design and consumption are within the same environment, providing a seamless experience for business users
5. Implement as a composite component rather than a standalone app
mySmartApp is effectively a complete app within a component i.e. a composite component. A natural question arises which asks why not then implement the mySmartApp add-on as a standalone UI5/Fiori app on the HANA Cloud Platform? The main reasons for this design decision were as follows:
- Design Studio offers very important built-in BI plumbing for OLAP processing and data source access, including hierarchy support, navigation and drill-down which are not as easily reproducible with OData services for UI5/Fiori. To replicate OLAP capabilities via web services for consumption in a UI5/Fiori app, the XMLA interface comes the closest but this adds the complexity of having to generate appropriate MDX queries on-the-fly to perform the desired manipulation
- When deployed on the BI Platform there are additional advantages such as security and mobile BI
- Implementing as an add-on for Design Studio complements a customer’s existing BI stack rather than presenting “yet another BI tool” which has to be separately deployed and managed
Matthew Shaw provides a very good review of choice of technology for implementing dashboards, covering SAPUI5, SAP Fiori and the SAP BusinessObjects BI Platform, in the blog post Custom SAP Fiori for my dashboard application? mySmartApp aims to combine the best of each of these three options into a single add-on for Design Studio.
6. Implement as a single composite component rather than multiple discrete components
Typically a Design Studio SDK component is implemented as a discrete component, such as a chart or a table, for a specific purpose, which is integrated with the overall BI app via scripting. However, mySmartApp is implemented as a composite component for the following reasons:
- To allow the implementation of code-free design patterns whereby the logic integrating each of the elements is embedded in the component
- To allow much tighter integration of the elements that make up the design pattern than would be possible through “wiring” of separate components via scripting
- To allow the implementation of a standardised theming architecture across all elements of the design pattern
7. Provide Support only for BusinessObjects BI Platform Deployment
Although technically Design Studio apps can be deployed on 3 platforms: BusinessObjects BI, NetWeaver and HANA, each of these options offer support for a different set of overlapping features, with BusinessObjects BI offering the most comprehensive. SAP’s future direction for Design Studio platform support was clearly described in the blog The Future of Design Studio Platform Development whereby all future investment will go into deployment on the BI Platform. In order to future-proof mySmartApp and take maximum advantage of Design Studio features, aligning with the BI Platform was a natural choice.
8. Maximise the use of technology that is included with the SDK framework rather than relying on 3rd-party libraries
The Design Studio SDK already includes the SAPUI5 and D3 libraries. The combination of the robust SAPUI5 app framework with the flexibility of D3 custom visualisations provided a comprehensive foundation for building mySmartApp without the need for specialised proprietary libraries.
UPDATED 12 October 2016 – mySmartApp is out of beta and now generally available. Request access here to try it for yourself.
If you’d like to provide hands-on feedback and influence the future development of mySmartApp, please sign up for the beta program here. A limited number of registrations are available. Your input and participation would be greatly appreciated.
I hope you’ve found this to be an informative story of the journey and thought process behind the development of a particular Design Studio add-on. This is just the beginning for mySmartApp as we move forward with exciting plans for the future.
I look forward to receiving your questions and comments for further discussion.