Open & save experience

To comply with my non-disclosure agreement, I have omitted and obfuscated confidential information in this case study. The information in this case study is my own and does not necessarily reflect the views of my employer.

 

The problem

  • Open and save was very slow with users who had a large amount of files in their repositories.

  • Searching was only folder specific. They needed a way to search everything.

  • When trying to save, users were presented with a series of steps that were uncommon to the natural behaviors of a good file system.

  • Users were unable to create folders, rename folders, and rename files.

  • Users had no way of viewing recently accessed files.

 

Our team

I was part of a team that consists of a product owner, a project manager, several software engineers, two QA assurance engineers, and one technical writer. I also worked with my other UX teammates during the design process. I was responsible for research, flow charts, wireframes, visual design & presentation.

 

The approach

Since we were addressing both the open and save experience, I split the research into several parts.

  • With support engineers, we first went through through tickets of user issues.

  • I then did an audit of our product to capture the current open and save flows. (This was important for our team to see the current flows to help identify where we can improve)

  • I also captured what functionality we currently had in the open and save dialogs, and what functionality we were missing from standard file system behavior. (Windows, Mac OSX, Linux, other tools)

 

Building our persona

After reviewing our support tickets, I was able to meet with three users who had logged these issues. These three users identified themselves as Data Scientists, our tool’s primary persona.

ds.jpg
 

Empathy map

After meeting with our users, and building our persona, I wanted to make an empathy map to help communicate the immediate points to our stake holders. Below is a summary of some of the most common things I wanted to address:

emp.png
 

Project framework


Opening files, old vs new

The next step was to capture the entry points for opening a file within our tool. The user currently had three ways of doing this:

  • Through our file menu

  • Through the toolbar open icon

  • Through the server explorer UI (legacy dialog).

Out of our three users we spoke with, zero of them opened a file from the server explorer dialog. From this result, this led the team to eliminate that entry point to opening a file and streamline the entry points from the start.

Old flow

New flow

Open a file
 

Saving, old vs new

In the old flow, our users were taken through a series of screens after clicking the save button. First a properties dialog, then a check in comment screen.

The feedback we received was that our users would continuously hit enter to go past these screens.

Old flow

New flow

1.png
 

Identify current behaviors

Next, I did an audit of what functions we currently had in our open dialog.

  • Search - Only allowed searching a single folder.

  • Regular expression - Toggling this option allowed the user to search by a custom regular expression.

  • Expanding and collapse - These toggles will expand and collapse the entire folder structure, which included children.

save.png

Since we previously did not have a save dialog, there was no audit of existing functionality. This is where the user feedback and requests came in key, it helped us identify where we should begin with planning around functionality.

 

Wireframes

After some preliminary sketches, I wanted to make it clear about telling the users story to our engineering team through wireframes.

Below are some example screenshots taken from the wireframes, however, in the full scope of the project, I also covered the following:

  • Recent view - Displayed your last 12 opened files, and would expire the list after 1 month.

  • Icons to distinguish each section of your structure: Recents | Home | Folders | Public

  • Icons for distinguishing between file types: Transformations | Jobs

  • Global search - Searching within your entire repository.

  • Breadcrumb control, and context menu for deep folder locations.

wireframe1.jpg
 

For our new save dialog, there was more storytelling to do. Below are some example from the wireframes.

  • Creating and deleting folders within the repository.

  • Renaming files and folders.

  • Global search - Searching within your entire repository.

  • Breadcrumb control, and context menu for deep folder locations.

 

Responsive

We next thought about responsive behaviors, that way our users were able to leverage as much of their screen real estate as possible.

 

Micro-interactions

In the instance where the users repository contained thousands of files, we introduced micro-interactions to support our performance improvements. Lazy-loading animations helped keep the user informed as their folder structure loaded.

folder.gif
 

The final piece of micro-interaction we introduced was for when a user searched a folder for a specific file in a folder that had lots of files. On return, the busy indicator will appear to let the user know that we were making their search happen, once the file was found the indicator would then disappear.

search.gif
 

Detailed specs

Once it was time for the team to execute the vision, I provided the team with detailed specifications. This was the second project that the team had built using a thin framework. These specifications were also added to the kitchen sink the design team had started to create new elements for our product.

The execution

The gallery below shows some of the design of the feature.

 

Testing

Before we were ready to roll out with this feature we let our users test out our improvements. Below are some of the results we got back from our tests:

  • Saw an improvement of approximately 80% to load performance (engineer performed tests).

  • Long folder names were not truncating properly in the folder breadcrumb. We fixed this upon release.

  • Renaming of folders was not persisting once the dialog closed. We fixed this upon release.

  • Positive feedback about the new UI, responsive behavior and micro-interactions.

  • Searching globally throughout an entire repository helped our users find what they needed much quicker.

 

What I learned

The biggest thing I learned on this project is that you can easily take for granted the experience of saving and opening a file. When you are building for a user, you must always wear an empathetic hat. The challenge of building out this experience is that it will perform differently amongst your users because of their repository sizes. Taking that into consideration, we had to always make sure that the user had continued feedback when things behind the scenes were happening.

Amongst our users, we’ve received some fantastic feedback. We’ve been able to address their needs, as well as most importantly, help them access their files in a quicker time frame.