UX Design Case: Database Credential Management

Geoff Nelowet
NYC Design
Published in
5 min readAug 5, 2018

The Challenge

I was tasked with creating a credential management system for database administrators that captured a broad range of business requirements and critical functionality. The users need an easy way to manage the security credentials for multiple databases to ensure they are valid while also being able to easily identify major potential issues with the credentials. Each database has multiple credentials that are used to connect different applications and systems to that database.

The project stakeholders are building this product for internal employees at their company, and both groups are very much aligned on what is needed in the application. Because of this, I began the design process by creating sketches and high fidelity wireframes, then I presented them to the stakeholders to ensure I was capturing what amounted to particularly complex requirements. After gathering stakeholder feedback and iterating on the designs, I then converted them to full mockups and tested them on users.

Wireframes

As mentioned, I began with low fidelity sketches to map out how the features would fit onto each screen, and how the user would move from one stage to the next.

Initial sketch for table containing credentials
Initial sketch showing how users edit credentials. Users can click on individual credentials in the table and a quick view style flyout menu appears overlayed on the left.
Slightly more detailed iteration of the flyout menu for editing credentials
Second iteration of the table header, which allows users to sort and quick search.

More Detail

After sketching through my initial concepts, I decided to dive into higher fidelity wireframes so that the stakeholders could get a better idea of how specific features were going to be implemented.

Discoveries

After reviewing the designs with stakeholders, the following necessitated important iterations on the designs:

Multi-select

A critical function of the app is the ability for users to quickly apply the same changes to tens or possibly hundreds of database credentials at once. The ability to select multiple values at once and rapidly make changes is integral to the success of the app.

Quick Search

After speaking with stakeholders it was discovered that users needed a way to quickly sort between App/Server name, DB name and username, so controls to quick search each column were added to the table.

Create Credentials

One feature needed that was not originally discussed was the ability to create credentials — simply editing existing credentials was not enough.

Password Interaction

Users need the ability to see passwords for each credential, but controls are needed to maintain proper security. Simply displaying passwords in clear text is not an option, so a UX solution is needed.

Top level overview

This was looked at more as a future feature and outside the scope of the assignment, but users could benefit from having a top level summary of credentials and their state (valid or invalid)

High Fidelity Mockups

Before testing on users, I converted the wireframes to high fidelity mockups.

Credential Table view
Edit view
Multi-select dropdown
Create Credential view

User Testing & Next Steps

Users were shown the mockups on InVision and were tasked with answering a variety of questions ranging from how they interpret parts of the app, what their expectations are, what they like and don’t like, how they would perform certain tasks (create a credential, edit a credential, add multiple DB names, etc.) and so on.

Environment used for testing the designs with users

The main takeaway from testing was that there needed to be more emphasis on the ability to apply changes to many credentials at once. Enabling users to quickly make large scale changes should have been the central focus of the initial design strategy, and while the current iteration of designs does serve that need, I believe there could be a few different solutions that would provide an even better experience than the current design, which is functionally a minimum viable product.

Additionally, one consideration about the user base for this app is that users are database administrators, are very technically capable and have a broad and thorough understanding of what they’re looking at and what they need. Designing the application for efficient use at the expense of affordance and clarity would actually make a lot of sense in this context. With that in mind, I would have explored different workflows from the beginning that may have been complicated on the surface but would ultimately save time in the long run for the user — a multi-modal experience, a credential diffing view, in-line editing, multi-step editing — those things all likely would make more sense now based on insights gained from user testing.

--

--