Work

Work

Work

Redesigning SAC's Import Tool

Redesigning SAC's Import Tool

Minimizing the number of failed import jobs in SAP Analytics Cloud and SAP Datasphere.

Defining the problem

Overview

Context

SAP Analytics Cloud (SAC) is a cloud-based analytics platform from SAP that integrates business intelligence (BI), augmented analytics, predictive analytics, and enterprise planning into a single solution. It enables organizations to visualize data, analyze trends, and make data-driven decisions in real time.


SAP Analytics Cloud is one product that interfaces with other products within SAP's data and analytics ecosystem such as SAP Datasphere (DSP) and SAP Business Data Cloud (BDC).

A story in SAP Analytics Cloud.

A story in SAP Analytics Cloud.

A story in SAP Analytics Cloud.

The Problem

"A bulk of import jobs
were failing due to
poor UX and system
performance."

Current Import Dialog Experience in SAP Analytics Cloud

Current Import Dialog Experience in SAP Analytics Cloud

Current Import Dialog Experience in SAP Analytics Cloud

Customers using SAP Analytics Cloud and SAP Datasphere were filing complaints to our internal customer influence portal regarding how long the import processes took. A lot of our customers were importing 10,000+ objects in each import job, and the larger the import package, the slower it took. The overall design of the current import tool also lacked consistency with the Export tool and presented UX issues.

Initial Research

UX Audit

It Was a UX Bug Infestation! 🐜

To understand the current pain points and bottlenecks of the Import experience, I conducted a UX audit in the form of an ad hoc heuristic evaluation. I analyzed the entire Import experience from entry point to import job processing. The themes found in the UX audit (shown below) paved the way for design decisions and informed the customer sessions.

Summary of the UX issues I found during the UX audit.

Summary of the UX issues I found during the UX audit.

Summary of the UX issues I found during the UX audit.

Precedent Study

Looking for Precedence

I wanted to see how other data-heavy tools designed their interfaces and study their behaviours and efficacy at conveying information. I conducted a reviewed and analyzed BDC&I products and the Export tool—often used alongside Import—to identify opportunities for a more unified and seamless ETL experience.

The Export tool in SAC and DSP.

Other tools across BDC&I products.

Other tools across BDC&I products.

Other tools across BDC&I products.

Initial Ideation

First Iterations

Unifying the Import and Export Experiences

During the precedent study, I found that there was a large discrepancy between the user experience of the Import and Export tools. Within the Customer Influence portal, there were also more tickets for Import than for Export indicating there were less UX issues for Export. I made it a goal to unify these two experiences.

Current Import Experience

Current Import Experience

Current Import Experience

Current Export Experience

Initial Proposal

After my initial analysis, I created a proposal that transitioned the current dialog experience to a split-screen experience. I presented this proposal to the Design Manager.

Split Screen Experience

Split Screen Experience

Split Screen Experience

Feedback from Design Manager

Design critique with design manager.

Design critique with design manager.

Design critique with design manager.

"I like the new design ... but it’s still too overwhelming and overloads
the user with data …

The settings and the table is
cumbersome with too much information.”

- Design Manager

Applying Feedback — Reducing Cognitive Load

Below shows two major changes I made in my design proposal to address the feedback from my design manager regarding information overload. This was proven to be crucial to simplify data-heavy UI.

Before

Cumbersome Help Text

Help text is often only contextually-relevant and only needed in times when the user is confused. Currently, the help text is laid out constantly laid out making it take up unnecessary screen real estate and adding to UI clutter.

Current Help Text Design

After

Contextual Help Text

All of the help text from the previous design was hidden. The help text is hidden within contextual tooltips that can be prompted open by users reducing overall UI clutter.

Proposed Help Text Design

Proposed Help Text Design

Proposed Help Text Design

Before

Unorganized Content Table

This table shows the content of an import package and should show the hierarchy of objects that are nested in one another too. The current table is categorized by object type but all objects are displayed with no option of collapsing rows and there is no visualization of object relationships.

Current Content Table

Current Content Table

Current Content Table

After

Hierarchical Tree Table

This allows users to expand/collapse rows they want to view giving them more control and freedom of what they want to see. Furthermore, the tree table visualizes object-to-object relationships better with a nested structure. The tree table also uses lazy loading where it only loads objects when the user prompts them open, utilizing progressive disclosure to improve system performance.

Proposed Content Table

Proposed Content Table

Proposed Content Table

UX Research & Validation

Overview

Getting Data to Back Our Decisions

The main priority of SAC dev teams in 2025 was to transition the entire product from the old Belize visual theme to the new and more modern Horizon visual theme to visually align with the rest of SAP products. UX enhancement projects like our redesign proposal were being backlogged so I proposed to conduct a UX validation project to the Senior UX Designer in an effort to leverage UXR data and customer's voice to change the development roadmap's priorities.

Recruiting

Customer Influence Portal

At SAP, a large, process-driven B2B enterprise, our UX research team took a proactive approach to recruitment by engaging directly with customers who submitted feedback or issues through the Customer Influence portal. We also leveraged usage tracking data to identify and reach out via email to frequent users of the Import tool, ensuring we gathered insights from those with hands-on experience. We ended up recruiting 9 users from 5 companies.

Testing Plan

Understand, Test, Compare

The UX Researcher and I developed a testing plan together that consisted of 4 sections:


1. Background Questions – to understand the user’s role and how the Import tool fits into their workflow.
2. Contextual Inquiry – users were tasked to import a package using their current SAC tenant to identify pain points in the existing design, followed by a rating.
3. Prototype Validation – users were tasked to import a package using a Figma prototype of the new design, rated it, and shared feedback on its effectiveness.
4. Follow-Up Evaluation – users compared both designs and discussed areas for improvement.

Research Findings

Our Customers Cared About Speed and Transparency

Slow System Performance 🐌

Users though that one of the largest drawbacks of the current Import process was the slow loading times. This was prevalent in two main areas: loading the package content table during the import configuration step and processing the import job after a request is created.

Lack of Exception Handling ⁉️

Users though that one of the largest drawbacks of the current Import process was the slow loading times. This was prevalent in two main areas: loading the package content table during the import configuration step and processing the import job after a request is created.

Muscle Memory 💪

Users thought that one of the largest drawbacks of the current Import process was the slow loading times. This was prevalent in two main areas: loading the package content table during the import configuration step and processing the import job after a request is created.

Design Decisions

Improving System Performance

Iteration Point 01

Hierarchical Tree Table

The tree table was introduced as it was found to be more efficient than the previous static table. It uses lazy loading to load objects only when prompted open by the user improving loading times and also effectively visualizes object hierarchy within an import package.

Retaining Muscle Memory

Iteration Point 02

Standardized Settings
Layout

Each setting in the current design was inconsistent from one another in various aspects including typography, layout, and spacing. To improve consistency, the layout for settings were standardized and placed within accordion components.

Iteration Point 03

Redesigned Overwrite
Settings

We found users often clicked 'Import' without configuring all of their settings. We added a 'No selection' option for Overwrite Settings so that users would be prompted to make a conscious decision before importing.

Exception Handling

Iteration Point 04

Warning Filter

Better querying patterns were created for warnings in the import package table. Using a toggle button to show only affected rows allowed for more streamlined warning handling.

Iteration Point 05

Formulaic Approach to Warning Messages

To address the ineffective warning messages in the current design, I worked closely with UX writers on my team to create a formula for writing effective warning messages.

Current: Non-Descriptive Generic Messages

The current warning messages lack a reason explaining why the issue occurred and it also does not provide instructions for the user on how to recover from the issue.

New: Diagnostic Warning Messages

The new warning messages were structured based on a 'formula' consisting of 1. A 'What Happened' statement, 2. 'Why It Happened' statement, 3. Instructions for Recovery, and 4. Last Resort Escape ('Jump Ship') CTA.

Iteration Point 06

Scenario-Based Guardrails

There are 5 different cases of exceptions that can occur during the Import process. These include 3 warning cases, 1 error case, and 1 informative case.


Rather than having a generic status message for all of these cases, I broke each case down and made specific exception handling UX for each case.

Error Cases

Error cases are detrimental to the completion of an import request. If these are not resolved, the user will not be permitted to complete the import configuration process.

Warning Cases

Warning cases are not detrimental to the successful import of a package. However, there may be errors in the import if these warnings are not resolved.

Informative Cases

Informative cases are situations where a message will appear to notify the user why an object may be missing from the package to provide transparency to the user.

Solution

The Final Design

New Import Design: Split Screen Experience

After a UX audit, countless design iterations and critiques, and a round of usability testing with customers, we landed on a split screen experience for customers. This design not only boosts transparency, showing customers how their import settings directly impact package content, but also enhances error visibility and also system performance through changing component usage.

New Import Split Screen Experience in SAP Analytics Cloud

New Import Split Screen Experience in SAP Analytics Cloud

New Import Split Screen Experience in SAP Analytics Cloud

Improvement 01

Faster Load Times⚡

Customers won't need to wait 3+ minutes for their import package summary table to load decreasing the load time to a matter of seconds. After collaborating with the dev team, we’ve implemented a more efficient tree table component with lazy loading from our component library.

Improvement 02

Diagnostic Exception Handling 🔎

Warnings are common during imports in SAC and DSP, often due to specific configurations. Our new exception handling framework simplifies this by providing real-time messages, filters, and row indicators to help users quickly identify and resolve issues.

Improvement 03

Catering to Muscle Memory 💪

We designed the import settings to balance familiarity for existing users and ease for new ones. By keeping the layout similar to the current design, we maintain consistency while improving UX and minimizing the learning curve.

Reflection

Next Steps

Impact & Next Steps

As a result of the redesign initiative and the UX research project, here are some tangible changes:

Takeaways

What I Learned

What I Learned

What I Learned

Leveraging UX Research Can Influence Organization-Wide Changes

The main priority for SAC as a product was to transition it from the old Belize visual theme to the new and more modern Horizon theme to visually align with the rest of SAP's products. UX enhancement projects such as this redesign project were backlogged. Using UX research findings and data allowed us to gain stakeholder buy-in from PMs and development to prioritize it on the development roadmap.

Backend is UX Too

The main complaint from our users for the UX of the Import tool was the slow performance. To fix this issue, the front-end UI could not be changed much. However, as a UX Designer I was able to get creative and investigate the loading times for different table components within SAP's design system and chose the most efficient component with developers to improve the loading times.

Words That Work

While working with UX Writers, I learned how important UX copy was in helping users understand complex settings and for conveying more effective warning messages. I learned conveying information to the user was not only reliant on the way that components are laid out on the screen but also the text that accompanies these components.

2025

William Lee