Engineering a User Experience for
a technical audience

As a UX Engineer at Stardog, I was tasked to design & implement the second iteration of Stardog Studio after its first UI release failed with its audience.

Role: UX Engineer

Product: Stardog Studio

Collaborators: Customer Success, Sales Engineers, Front-End Engineers, Backend Engineers

Duration: 3 Months

Engineer
Design
Prototype
Screen of the workspace section of Stardog Studio, a Graph Database querying application.

What is Stardog &
Stardog Studio?

Stardog is a Knowledge Graph data storage and unification platform which uses SPARQL for data querying purposes. Typically, a user would use the Command Line Terminal to query Stardog, but with “Stardog Studio” users can query their Stardog instance using a feature-rich IDE-like desktop application.

The Problem

Stardog Studio’s first release was met with negative user feedback as there was no user-centered process to settle on its design. The release featured a Jupyter-like notebook design, which as it turned out wasn’t how Stardog users preferred using Studio.

The challenge ahead was to ensure that the next iteration of Stardog Studio wasn’t an end-user failure.

A diagram of how Stardog can be queried, either via the Command Line or Stardog Studio.
this is where all the graph data is stored
this is where you can query the data from
this is where you can also query your data, but more easily (or at least it should be)
A doodle of me having trouble doing user research

How to gather user-data without users?

The tricky part about trying to do user research at a Business-to-Business (B2B) organization is that you have limited access to end-users. This is because clients can be hesitant to give access to their employees to a vendor looking to conduct research.

Due to the sensitive nature of the data that most of Stardog’s client’s deal with, the organization was hesitant to ask its end-users and customers to be open to user testing and interviews.

With some guerilla research!

Here's how I went about solving the lack of research problem, with some inner-company guerilla activity:

A doodle of me interacting with customer success.

I built a working relationship with Customer Success, and they connected me with some end users (albeit after some pestering on my part).

A doodle of the sales team.

I reached out to the Sales Team to see if they had any customer notes from their calls. Considering the circumstances, this gave me some great initial user-data to work with.

A doodle of 3 Stardog Studio end-users.

Finally, I managed to get a hold of 3 end-users, through sheer communication and perseverance. Stardog had working relations with a couple of partner organizations, whose employees would use Stardog and/or Stardog Studio regularly.

I found end-users by just looking in the right place!

Sketch Work

While I was researching I had already started sketching up some design ideas for the IDE. Here's a sample:

Stardog Studio Workspace
a little rough around the edges but it got the idea across!

Lo-fi Prototypes

I used one end-user for a user interview to gather some additional user data, and then used that to inform the design of 3 prototypes, each of which asked a broader design question:

Do we want a design with ‘Global’ tabs, and the side navigation only changes the sidebar?

Global Tabs - Editor View
queries, databases, users, roles, all live in the same "tabspace"
Global Tabs - Database View
the main navigation only changes the sidebar
Global Tabs - Security User View
the sidebar changes but the tabs remain the same!

Do we want to divide each main navigation item into a section, and have tabs for each section?

Section Specific Tabs - Editor View
just query tabs!
each section has its own "tabspace"
Section Specific Tabs - Database View
this is a permanent tab!
Section Specific Tabs - Security User View
no need for specific tab icons

Or do tabs & a sidebar only work for the main IDE-like query writing workspace?

Editor Only Tabs - Editor View
just query tabs (again)!
Editor Only Tabs - Database View
no tabs, but instead a single section to navigate your databases
Editor Only Tabs - Security User View
a two tab split between users and roles

Validating the Designs

I gained validation for which design direction to proceed with by user testing with both internal stakeholders and external users.

internal stakeholders were users considering the circumstances

There was an almost unanimous consensus that the workspace section would be the only one with tabs. It was also clear that users would prefer to keep the sidebars for each section.

There was some positive feedback about the quick nature of being able to switch from a database to query writing in the global tabs version.

Global Tabs - Editor View
Editor Only Tabs - Database View
Section Specific Tabs - Security User View

The Final Implementation

I engineered the UI in an ElectronJS/React/Redux environment, using BlueprintJS for the core design system & SCSS to implement customized styling, as well as developing additional reusable UI components for the application.

Final Design - Editor View
Final Design - Databases View
Final Design - Security View