Bulk Upload Clients

📁

Bulk Upload Clients 📁

 

Challenge

Modica is a global CPaaS platform supporting communication with any mobile on the planet. They do this via a suite of API’s (HTTPS, REST, etc) and applications (OMNI Web2SMS, etc).

Our Service Delivery team has to create new Clients manually. It is not uncommon for them to have to create 200 Clients, one at a time.

Response

The Platform squad received a request from the Service Delivery team and got cracking on a Proof of Concept. After spotting this altered user flow in a wider team demo, I offered my UX services to further improve the experience. Now, Bulk Client Upload has a really happy path, with thoughtful error support.   


 

MAP USER FLOW

Mapping out the existing user flow helped to identify a possible slip error with no error-recovery:

  • A pre-populated field dropdown could lead to hundreds of Clients uploaded to the wrong customer

  • There was no way to quickly review / audit the uploads just completed

  • And no way to remove incorrect uploads in bulk or automatically

Therefore, we removed the pre-populated default, made the field mandatory, and provided in-line feedback if the selection was left blank.

 

REVIEW back-end processing

Our wizard developer Bo was instantly able to provide info on the timing of specific back-end checks during validation and processing stages, when asked.

My recommendation:

  • Retain CSV file type and format checks during validation.

    • Throw these as in-line errors and clear the CSV field ready for next selection.

  • Move file content validation checks to the processing stage.

    • Do not terminate the process based on number of errors (previously this was set to 5 errors)

    • Insert all rows without errors into the database.

    • Collate any rows with errors into a downloadable ‘skip file’

 

BEFORE

Some errors were displayed in a notification.

This put the onus on users to match errors shown on-screen to lines in their file. However, not all errors were displayed, so likelihood of failure on retry was high.

AFTER

A downloadable file!

All failed rows are included. Column 1 lists all reasons a row failed. Errors can be fixed immediately, then the file can be saved and re-uploaded. Column 1 is ignored.

 

ALTERNATE FLOWS

I considered alternate flows and learned from Service Delivery what their most likely next actions were. Common next-steps included navigating to the Customer page to confirm the upload worked, applying filters, and using the displayed list of new Clients to Ctrl + Click new tabs open and work through them as a To Do list…

  • Considered system-error or third-party failure flows, as well as partial success and complete success

  • Notification of partial or complete success displayed the total rows inserted to the database

  • Notifications also included a link - with filters applied because Bo Liu is a genius - for users to review their uploads

 

tools

Slack - Zoom - Figma - JIRA - Google Spreadsheets - Confluence