Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
Tunir
Product and Topic Expert
Product and Topic Expert
Customers want to maximize the capabilities that are available within SAP Analytics Cloud. These capabilities provide a viewer the flexibility to interact with their dashboards to draw valuable insights from their data. In doing so, viewers require this information to come back as quickly as possible.

 

In Optimized View Mode (more details in this blog post), we’ve provided a new rendering experience, Active Viewport Rendering, which has been optimized for interactive workflows. For less interactive use cases we still provide the ability for the story designer and viewer to revert back to the Classic Rendering experience that is already available in SAP Analytics Cloud.

 

Active Viewport references the part of the dashboard that is currently visible to the viewer. The viewport maybe different for every viewer based on their browser size or screen resolution. Active Viewport Rendering only renders objects that are visible on screen and will pause all objects outside the viewport until the user scrolls to another area of the story. With this, we avoid loading information that is not relevant to the current view. It enables SAP Analytics Cloud to provide information as quickly as possible while enabling the viewer to execute multiple subsequent interactions.

 

The Dashboards and Interactivity Benefits


The benefits of Active Viewport Rendering depends on the dashboard design and the way that a viewer interacts with a dashboard. For example, it is beneficial when (but not limited to):

  • A dashboard contains several data related objects outside the viewport.

  • A viewer is conducting analysis by executing multiple subsequent interactions without modifying their viewport.


There will be little to no impact to stories that only have data related objects that are part of the Active Viewport. Furthermore, data related objects that are not yet compatible with Active Viewport Rendering (Table, Value Driver Tree, and R-Widget), will always render even if the object is outside the active viewport.

 

The New Rendering Experience


Let’s take a closer look at how Active Viewport Rendering compares to the existing Classic Rendering experience available in SAP Analytics Cloud.

 

Story Opening


Assume as a viewer we open a dashboard that contains 9 data related objects in the Active Viewport and a further 12 data related objects outside the Active Viewport. The story designer has set the default Story Filter on Country to CA and US.

 

Active Viewport Rendering


In Active Viewport Rendering we prioritize rendering objects that are visible on screen and will pause all objects that are outside the Active Viewport. Hence, the experience on story open would be:

  • Objects in PURPLE (Active Viewport) are rendered as part of the initial load

  • Objects in BLUE (outside the Active Viewport) are never requested for. These objects will remain unrendered unless the viewer scrolls to bring these objects into their Active Viewport.





Classic Rendering


In Classic Rendering all objects within a dashboard are rendered while prioritizing the Active Viewport. Hence, the experience on story open would be:

  • Objects in PURPLE (Active Viewport) are rendered as part of the initial load

  • Objects in BLUE (outside the Active Viewport) are requested one by one and loaded in the background once the Active Viewport has rendeded.

  • Modifying the Active Viewport will prioritize any unrendered objects in the New Active Viewport over background loading.



 

Multiple Interactions


Assume that now the viewer wants to scroll to the bottom of the dashboard and change the filter from CA and US to just CA.

 

Active Viewport Rendering


With Active Viewport Rendering, the rendering experience is identical to story open. Objects that are within the Active Viewport and rendered while all other objects outside the Active Viewport are paused even if they used to be in an earlier Viewport.

 

As the viewers scrolls, an overlay is displayed indicating that the objects are not loaded yet. Releasing the scrollbar sets the New Active Viewport at which point the new ghost loading indicator appears until the data returns from the server.

 

For example, assume the viewer opens the story in the example above. Hence, the experience on story open would be:

  • Objects in PURPLE (Active Viewport) are rendered as part of the initial load

  • Objects in BLUE (outside the Active Viewport) are never requested for. These objects will remain unrendered unless the viewer scrolls to bring these objects into their Active Viewport.



 

Assume now the viewer scrolls all the way to the bottom of my dashboard and does not stop in between. In this scenario, the experience would be:

  • Objects in PURPLE (New Active Viewport) are now requested for and prioritized

  • Objects in BLUE and never requested for as the Viewport was never fixed on these objects

  • Objects in GREEN were objects that are previously rendered



 

Now assume the viewer modifies the Story Filter on Country from CA and US to CA. Then, the experience would be:

  • Objects in PURPLE (Active Viewport) are requested for

  • Objects in BLUE are never requested for as these objects are not in the Active Viewport

  • Objects in GREEN will remain in their old state as these objects are no longer visible to the user as they are outside the Active Viewport.



 

The new rendering experience enables viewers to have data returned to them as quickly as possible and allows them to execute multiple subsequent interactions in a seamless manner.

 

Classic Rendering


With Classic Rendering modifying the filter to CA will result in all objects being requested for at the same time regardless of the Active Viewport.


 

Hence, depending on the size of the page there may be a significant delay between the time the viewer executes an action until the first visible interaction. It is because the dashboard needs to apply the filter interaction to all objects on the entire page (include those outside the Active Viewport).

 

For other interactions which impact a subset of objects on a page (such as linked analysis, group page filters, and so on), the dashboard needs to determine which objects on the entire page are impacted based on the interaction that is executed. Hence, it may take a while.

 

Enabling Classic Rendering in Optimized View Mode


There are use cases where Active Viewport rendering may not be desirable especially when the viewer may be presenting a dashboard with little to no interaction. In these scenarios, the viewer may require all objects to render by the time they modify the Active Viewport. Hence, SAP Analytics Cloud provides an option for the story designer to set the default rendering experience on a per story basis.

 

Furthermore, the story viewer can set the rendering experience on a per session basis. It means that if a viewer closes the story and reopens it, then the default rendering experience set by the story designer will be maintained.

 

The story designer and viewer can set the rendering experience via the data refresh option available in stories.

 


 

With Optimized View Mode, and the new default rendering experience, viewers are provide information as quickly as possible while being enabled to execute multiple subsequent interactions.

 

SAP Analytics Cloud Documentation on Optimized View Mode


For more information on the Optimized Story Experience

For more information on how to enabled Optimized Story Experience, see Enabling Optimized Story Experience.

For more information on the limitations, see Optimized Story Experience Restrictions. Frequent updates are made for Fast Track tenants.

For more information on the behavior improvements, see Optimized Story Experience Improvements.
3 Comments