top of page

Stardog

Designing a visual GUI for a data unification software

Stardog is a company based in Virginia that uses a technology called ‘knowledge graphs’ (KG) to enable enterprises like NASA, Dow Jones, Capital One, Morgan Stanley etc. to unify and transform their data into ‘knowledge’ that can be used to find answers to complex business and technical questions.

​

As part of the iConsultancy at the University of Maryland, I led a team of 6 designers, researchers and developers to design a code-free visual workspace for their flagship product - Stardog Studio - for its less technically proficient users.

Mockup Cover.png
-25%

Time Needed to Build KG 

Product Roadmap

Influenced with Research

+1000

New Users

My Responsibilities

• Collaborated with stakeholders and customers, and led the concept validation and user research.

• Worked on interaction and visual design, and drove ideas from concepts to high-fi and interactive visual GUI features.

• Developed an end-to-end high-fi prototype.

Timeline

Aug ’19 - May ’20 

9 months

Teammates

Modassir, Aravind JR, Jashan Gupta, Monikka R, Natalie TY, Yirang Choe

Tools

Adobe XD, Figma, Google Suite, Miro board, Notion, Zoom

Knowledge Graph

A knowledge graph (KG) is a flexible graphical representation of data derived from a variety of sources that are connected together to create machine-understandable knowledge.

 

Enterprise data in large companies is stored in silos and fails to provide the insights required to make better decisions. KGs allow users to build flexible models and connect data from different silos.

 

The process of creating and using KGs (detailed workflow) requires a number of large, complex steps which are simplified and illustrated below -

KG Process.png

Problem

The current process of creating KGs requires expertise in multiple coding languages, and is difficult to collaborate on.

 

We realized the need for a simpler alternative from customer feedback after hitting an inflection point in sales. We conducted user research to dig deeper into these pain points and explore possible directions, finally settling on creating an interactive visual GUI for the data mapping and modeling phases of the KG creation process.

Users

Personas.png

Lead ontologists, data architects etc. with 5+ years of experience in the KG domain.

 

Needs ability to code & has many advanced use cases.

Personas.png

Junior data architects, software engrs. etc. with <5 years of experience with KGs.

 

They need to be able to create and modify data models & mappings easily.

Personas.png

Domain experts, business analysts, managers etc. with some or no understanding of KGs.

 

Wants to query & find answers to business questions.

Scope

Scope.png

User Research

Lit Rev.png

Domain Training + Tool & Competitor Analysis

User surveys.png

Screener Survey

Interviews.png

Semi-structured Interviews, A/B Tests

8 High techies,

3 Low techies

CI.png

Contextual Inquiry

5 Participants

Key Insights & Design Implications

01. Modeling and mapping are very closely tied

When users work on mapping, they need to edit/add new nodes or properties as needs arise. So we treated each project as a virtual graph where users can create data models and do the mapping on the same canvas.

02. A subset of data is selected before mapping

Users select some data columns to work with when they start mapping the data to the model. So we created a data-field selection user flow.

03. High-techies prefer coding

High-techies prefer coding because they are more comfortable with writing code than using a visual interface. So we decided to provide the flexibility to switch between synced visual and code modes.

04. Properties of nodes are defined separately

Users may define properties and classes separately and later assign the properties to the classes and map them. So we created a new place for defining properties separately.  

05. "Auto-mapping" is a common starting point

The majority of current users use "auto-mapping" as a starting point. So we highlighted that path when users create a new virtual graph project.

06. Users like both mapping by clicking into nodes and dragging data items to the nodes

In A/B tests, users found both 'click to map' and 'drag and drop' mapping functionalities to be useful in different contexts. So we supported both the interaction-flows.

Stardog Affinity.jpg

Affinity map containing detailed findings. Explore Affinity Map on Miro

Current Stardog Studio Interface

Current Stardog Customer Workflow

Studio.png
Swim lane model.png

Final Solution

Getting Started with a Project

To get started, current users of the platform preferred to use the ‘auto-mapping’ feature that auto-builds a model based on user selected data-columns, which can then be modified and shaved off as required. So we designed it to be the ‘primary button’ on the screen with the flexibility to create a model from scratch or open an existing model or select a source first instead.

Data Mapping and Modeling

I contributed largely towards designing the core data modeling and mapping interactions. I was involved in thinking through a number of use cases for creating and modifying entities like classes, relationships and properties and selecting relevant data-columns from a source and then mapping it to them. We envisioned a close-sync between code and visual modes to provide a scalable and flexible design, especially for high-techies.

My Responsibilities

I owned the design for 4 features and led user research and prototyping

​

From conceptualizing workflows, wireframing different concepts, testing, and iterating to designing the high-fis. I also assisted my team by establishing a relevant design system using Blueprint.js, helped with project management, design documentation, and hand-off using Zeplin, and prototyped the critical mapping and modeling of user flows. 

Design-system-scaled.jpg

Modified Style Guide using Blueprint.js Design System by Palantir

Feedback & iterations

Getting Started with a New Project
evaluation_virtual_graph 2.jpg

Before: The information on the card was not sufficient because users may recognize model or data source used instead of project name.

After: The iteration was easier & faster to scan & provided additional useful info like data sources & models used.

evaluation_virtual_graph 3.jpg

Before: Users were required to name their project when they create a new one.

After: Users will be taken to an empty canvas with options on how to get started with a project named "Untitled".

evaluation_virtual_graph 4.jpg

Before: The data selection view was too small for users to view all the data that they need to select from.

After: ER diagram is shown as it is conventional for users to view when they decide which parts of the database to work with

Reduce the efforts of the data selection and mapping process

image 2.jpg

Before: Users were required to select the data they want by dragging data columns from the bottom of the screen that showed all the data, then drag and drop selected columns from the left panel to the main canvas to map it to the data model - which had a high interaction cost.

After: We moved the data panel to the left side to reduce the simplify the interaction flow, and added tabs to differentiate 'all' from 'selected' data-columns

image 3.jpg

Before

1. The select checkbox showed only when users hovered over, which was not prominent

2. Users could not figure out they could drag & drop the data columns onto the model to map them

After

1. We changed the "selected" tab to the "pinned tab". Users could toggle the selection/pin mode off but it was 'on' by default

2. We added the "6 dots" indicator to indicate the data columns were draggable

3. We also added a tutorial gif on initial hover to the data columns to inform users of the drag & drop action

A flexible way to add properties and support different use cases.

evaluation_add_properties 2.jpg

Before

1. Users can only add properties in each class/relationship by using the "property popover" which was launched on clicking the model entity which users failed to recognize. This also did not fit the current users' mental models

2. Important information such as 'datatype' of thee property was missing

After

1. We added a "property drawer" that enables users to define all the properties first and assign them to different classes at their own will

2. The improved "property pop-over" showed important info. such as datatype & description

evaluation_add_properties 3.jpg

After

"Add property" launched a modal that allows users to add multiple info here, such as assign class, select mapping field & edit descriptions & it was also accessible from the property drawer

Evaluation
Evaluation Scores+Metrics Left Group.png
A:B Tests.png

A/B Testing

8 Participants, guerrilla recruitment for concept testing

user tests.png

User Testing

5 Participants, Likert questionnaire

1. List of features to explore next: Class hierarchies, Data manipulation & filtering, Versioning, Expanding for different data source types, Multiple relational data source

2. Use of color in the class-nodes did not adequately reflect user’s mental models of mapping

3. Relationship mapping needs additional constraints

User Notes Sheet.png
User testing hayes SD.png

User Test Notes

User Testing Session on Zoom

User Feedback

Reflection

It was challenging to work on a desktop software, in the complex domain of knowledge graphs that I encountered in this project for the very first time. 

 

I got the chance to briefly manage a team in this role and was involved hands-on with the entire UX cycle to churn out viable designs for a major product decision taken by the company. 

 

I also used some new, awesome collaborative tools like Notion, Miro, Zeplin and Zoom that greatly improved collaboration and the efficiency of the team.

Every great relationship starts with a hello.
bottom of page