Project Type

New feature

Bulk Code Update

Bulk Code Update

Summary

Users were only able to update code for one website at a time, which was time consuming when managing many sites. The new goal was to allow broad management of multiple websites together. I collaborated with a cross-functional team to design a new feature that allows users to update code across multiple websites at once.

Summary

Users were only able to update code for one website at a time, which was time consuming when managing many sites. The new goal was to allow broad management of multiple websites together. I collaborated with a cross-functional team to design a new feature that allows users to update code across multiple websites at once.

Summary

Users were only able to update code for one website at a time, which was time consuming when managing many sites. The new goal was to allow broad management of multiple websites together. I collaborated with a cross-functional team to design a new feature that allows users to update code across multiple websites at once.

Background

Background

Background

Acquia Cloud Platform is a B2B hub for managing back-end aspects of a website (security, performance, code, etc.).

Enterprise-level customers manage many sites that are technically separate but are either similar or related. These arrangements blur the line between a single site and multiple separate sites, especially when managing the code that runs them. Previously, Acquia Cloud Platform only worked with distinct sites. This project was part of a larger initiative to facilitate efficient management of this sort of multi-site arrangement.

Problem Statement

Problem Statement

Problem Statement

Users looking to keep multiple websites consistent with the same code have to manually update each site individually, which is time consuming and error prone. Build a system that allows users to update the code on multiple sites with one action and track the progress.

Primary Persona/Archetype

Primary Persona/Archetype

Primary Persona/Archetype

Site builder (e.g. web developer)

My Role

My Role

My Role

Secondary product designer

Collaboration

Collaboration

Collaboration

By the time I joined the project, much of the initial work had already been done: problem definition, basic solution, and some early concepts for UI. I worked closely with the lead designer, product manager, and engineering lead to decide scope of the solution and design directions.

As part of a larger planned suite of features in an existing project, we were fairly constrained to match the UI and framework in place with where we were trying to go, which helped inform and direct the design efforts.

Challenges

Challenges

Challenges

The architecture of the UI and code made it a more involved project than simply creating checkboxes and a bulk action button. We had to first lay the groundwork for creating the concept of a codebase entity (that aggregated the related sites), then design the user experience of managing it and the sites within it. Allowing multiple sites to share a codebase was also a new concept to work through the back-end mechanics and how to represent that in the front end. Previously, each site had its own codebase, which was not presented to the user.

The Concept

The Concept

The Concept

The basis of the design included two screens:

  • Codebase details - to see and manage all of the related sites

  • Bulk deploy options - to perform a single action to update code on multiple selected sites

Early drafts

Early drafts

Early drafts

Click images to enlarge.

Codebase details

Bulk deploy options

My Part

My Part

My Part

  • Helped design and create the new component for filtering table columns

    • This was needed to power efficient selection of sites.

  • Configured prototypes for testing

  • Created mid-fidelity mock-ups of the task log

    • These designs served as an exploration for how logging might work in the new system, but were not directly needed for this feature release. (Details at the end.)

Filter component

Filter component

Filter component

Click image to enlarge.

Testing

Testing

Testing

We tidied up these early designs to make them presentable, then ran tests with current users of the software. Testers were asked to perform a basic workflow of updating the code on a certain group of sites using this new interface.

Tested design

Tested design

Tested design

Click image to enlarge.

Bulk deploy options

Results

Results

Results

Likely due to the clear and direct nature of the target task, our design tested very well. No significant changes were needed. Testers were able to accomplish the task smoothly and confidently.

Final Designs

Final Designs

Final Designs

While they didn't pose any problems in testing, we did further refine the design to remove a couple of features:


  • Ability to create a tag while updating code

    • We determined with subject matter experts that this is a separate task and process from updating code, and it should not be done at the same time.

  • Multiple ways to select sites

    • We originally had a list of predefined sets of sites to select. Testing and further review indicated that this added unneeded complexity to the process for users, and streamlining the selection to filtering in the table was best.

Handed to Engineering

Handed to Engineering

Handed to Engineering

Click images to enlarge.

Codebase details

Bulk deploy options

Follow-Up

Follow-Up

Follow-Up

The lead designer moved on from Acquia before the project was complete. I have taken over ownership and continue to work with engineers with any questions or clarification needed for implementation.

Task Logs

Task Logs

Task Logs

Existing task logs were linear and focused. This project required a technical update to allow showing tasks from multiple sites in one aggregated view in the codebase. We have a goal in the future of having the concept of a parent task (i.e. updating to the latest code) that contains multiple child tasks (i.e. updating each site's code). These are some low-mid fidelity mock-ups of how that could work.

Complex Tasks

Complex Tasks

Complex Tasks

Click images to enlarge.

Codebase task log

Parent task details

Child task details

Follow-Up

Follow-Up

Follow-Up

The lead designer moved on from Acquia before the project was complete. I have taken over ownership and continue to work with engineers with any questions or clarification needed for implementation.

Project Type

New Feature