D-Tree

Context

I was a UX/UI design intern at SJ Design Studio for 3 months before officially joining the team.

Samsung is one of the agency's key clients, with whom it has several ongoing projects. I’ve had the opportunity to be involved in two of these projects in an associate UX/UI designer capacity:

  1. D-Tree

  2. Vikarius

⏳ These projects are still in progress…

Overview

When I joined, the team was in the midst of overhauling Samsung's decision tree, renamed "D-Tree." With D-Tree, users can generate flows that serve as both self-help resources and scripts for customer service agents once published. The primary UI of the application enables users to construct a "decision tree," where each decision corresponds to a "node.”

Role

UX/UI Designer

Duration

May 2024 - July 2024

Team

Myself

3 Developers

Lead UX Designer

Tools

Figma

Modal to add and edit product models

🤔 The Problem:

Users need a way to easily view, rename, delete, or add product models. Currently, there isn’t a clear interface for managing them.

🤝 The Solution / Ask:

Design a modal interface that enables users to visualize existing models, delete non-default models, rename models, and add new models.

Essentially, each flow can have a set of models, that can represent things like actual product models (e.g., Samsung Frame TV) or anything the editor might want, such as an issue type (e.g., water damage).

💭 DESIGN PROCESS

Research

My goal was to grasp the functionality of this tool before focusing on the modal. This led to an impromptu usability test using the latest build, where I navigated through tasks involving the modal I was designing, noting any bugs or usability issues encountered along the way.

Task Flow

Once I understood how to use the tool, I created a task flow for "adding and editing product models" to help guide the design.

Task Flow

First Iteration

After reviewing the task flow with the lead UX designer, I went straight into fleshing out the design.

Wireframes of two versions of the design.

Testing

This design was built into the existing D-Tree for testing. During the evaluation, one immediate usability issue surfaced:

Requiring users to click the edit button each time to modify text is inconvenient, especially when a new model is added. The user's initial action is often to rename the newly added model, making the current process inefficient.

To resolve this issue, I plan to remove the edit button and allow text editing to be activated by clicking the text. When new models are added, the text should be highlighted by default, allowing the user to immediately rename the model.

🔧 NEXT STEPS

My next task is to iterate on the design with the feedback from testing and handoff to the developers to build into the MVP.

Visual error feedback

🤔 The Problem:

Users struggle to identify and resolve errors when attempting to publish a project with missing information, leading to confusion and potential delays in project completion.

💡 The Solution

Design a visual feedback system to notify the user of any unfinished nodes that need to be edited before the flow or “Tree” can be published.

For the user to publish a Tree, all the nodes need to be completely filled. When there were nodes with missing information, there was nothing in the UI that alerted the user why their Tree could not be published.

First Iteration

Due to the dev team having a meeting where they needed to present on their progress, they asked for a quick and simple feedback to implement into the latest build for demo purposes.

So I designed a simple toast style alert notifying the user that their 'tree' could not be published due to incomplete information related to the 'nodes':

Notification for when the user clicks “Publish” when there is a node that doesn’t connect to anything:

Notification for when the user clicks “Publish” when there is a node with incomplete information.

⚠️ However, there were some obvious issues with this style of notification:

  • It overlapped with other alerts that showed up as a toast notification (such as autosave notification, which showed up frequently).

  • The user could forget what the issue was as the message would eventually disappear, leaving room for repeated mistakes and frustration from the user.

  • There are 4 different types of nodes that can be created. There would have to be more variations of the toast copy to cover all the different scenarios when a Tree can’t be published.

Some examples of scenarios that needed customized copy are:

  • A Tree Node allows the node to be connected to another Tree. The user needs to select which Tree the Tree Node is going to and what node it should return to once the necessary steps are taken.

  • A Link Node needs a URL for the user to be redirected somewhere.

  • A node could be unreachable because it does not have any inbound connections.

From there, a secondary problem was formed:

How might we create a way to communicate error messages that catches all the different scenarios when a user needs to input additional information in order for nodes to function.

Research

I went back to the drawing board and did some research on other similar error feedback systems. I also drew inspiration from user onboarding checklist formats, which allow users to visualize unfinished tasks.

💡 Second Iteration

An error feedback system that utilizes the Zeigarnik Effect, by showing a list displaying outstanding tasks to help users see what still needs attention, rather than requiring them to manually go through a list of tasks. The design will show a number that minimizes with each resolved task may motivate users to address the issues themselves before seeking external help.

🔧 NEXT STEPS & MEASURING IMPACT

My designs were communicated with the team and handed off to the developer who will be building this. Once implemented, next steps will be to test and evaluate the design for any usability issues and iterate as necessary.

I plan to test for Error Resolution Rate with specific tasks and measure the percentage of errors that users are able to resolve on their own after receiving the feedback from the new feature.

Additionally, I plan to measure Error Recovery Time to see if the amount of copy/information provided in the feedback list is enough guidance for users. Shorter times would indicate clearer guidance.

🧠 LEARNINGS

The project is ongoing, but these are my insights so far:

  • Ask (more) questions early on. I've learned a great deal working closely with developers. Through communicating and discovering feasibility, I learned the importance of asking the right questions early on to make sure everyone is aligned.

  • Start with a strong foundation. It took me a moment to realize this as I was adjusting to the team’s processes, but through trial and error, I’ve learned the importance of starting with a strong foundation (steps like building components, utilizing variables). This approach makes future adjustments easier for myself or others.

Next
Next

WellUp