top of page

Edit panel error scenarios

Launched -  Jul 2020
Overview
-Simplifies the editing of block volume

The goal of this project is to simplify the editing of block volume within Oracle Cloud Infrastructure. The way to simplify the editing experience is by combining all the separate action buttons on the block volume detail page into one unified edit panel. User can then go to one single place to edit everything. It's kind of like "all-in-one" shopping experience. 

-Why error scenarios become challenges here?

There are two types of API here. One is called synchronous call, the other is called asynchronous call. Synchronous calls can return error messages immediately after users submit information. Asynchronous calls, however, require backend processing time before error messages are returned - from as little as few minutes to as long as 24 hours. The edit panel contains both synchronous calls and asynchronous calls on the same panel.

Team.png

Team

Oracle Cloud Infrastructure,

Block Storage Team 

Role

UX Designer

Collaborations

PM, Engineers

Duration 

Feb2020 - May2020

Background  Knowledge
-What is a block volume?

Generally speaking, a block volume is a virtual hard drive in the cloud. Technically speaking, it is a detachable block storage device allowing users to dynamically expand the storage capacity. Learn more

Before The Change 

Each action button at the top represents a feature that users can edit. For instance, clicking "Edit" button pops out a dialog editor to rename the block volume; clicking on "Resize" pops out a dialog to change the block volume size, etc. While the UX design is straightforward, it creates significant scalability issue: as the number of features increase, buttons no longer fit into the screen. 

old console3.png

Also notice the "assign" backup policy link is located in the metadata box, not in the top action button line, resulting in users' needing to hunt to find where to edit what. Organizing everything in one place would simplify and expedite editing. 

old console edit.png

The following screen exemplifies the user experience after clicking each of the action buttons shown.

After The Change 

Combining all functions into a single edit panel simplifies its appearance. Now there's only one edit button on the screen.

after.png

Name

The name of the volume

Compartment

Where the volume stores

 

Volume Size/ Performance/ Auto-tune

Size & Performance

 

 

 

 

Backup Policy 

How the volume is backed up

Problem
Different types of API calls on the same page 
- How should we display error messages?

There are two types of API calls, synchronous and asynchronous calls. The difference between them:

Synchronous Calls

Return error messages immediately after submission.

Asynchronous Calls

Require processing time before error messages are returned after submission.

Therefore, after a user hits "Save Changes" button, there's a possibility that synchronous API calls can return error messages immediately while asynchronous API calls are still processing in the backend. How should the UI handle these situations? 

API Calls2.png
Error Scenarios

Scenario 1:

Users Only Edit Sync Calls

Error message returns immediately after users click on "Save Changes" button, users clear errors before proceeding

Scenario 2:

Users Only Edit Async Calls

Users click on "Save Changes" button, panel closes, back to the block volume detail page. Users wait for the API to process while doing other work in the console. Success/ error message pops out on the screen when API is done processing. 

Scenario 3:

Users Edit Both Sync Calls and  Async Calls

The most complicated scenario.

1) Any sync call fails: Show error messages immediately under the fields while the async call section is greyed out. Users clear the error messages for sync calls before submitting the form again. When users submit the form again, the async call section might still be greyed out or back to live depending on how long users have stayed on the panel for. If the async call section is still greyed out, the success/ error message of async calls will pop out later in the console. 

2) All sync calls pass: It is the same as scenario 2. The edit panel closes upon users click on "Save Changes" when every sync call passes. Users will wait for async calls' success/ error message in the console.

Scenario 4:

Users Re-enter "Edit Panel" While Async Calls Are Still in Process

The async call section stays greyed out until the backend API has done processing. 

Final Screens & User Flows

Scenario 1:

Users Only Edit Sync Calls

Form Validation

When users edit any of sync calls (name, compartment or backup policies) fields, if these fields have form validations (e.g. number out of range), it will show immediately as users finish typing. 

API Validation

When users finish editing all sync calls and hits the “Save Changes” button at the bottom, the fields are now sent to API and are validated at API level. Two possible outcomes result: 

1) Succeed (every field passes)

   The panel closes, taking users back to the block volume detail page

2) Fail (any of these fields fails)

    An error message appears directly underneath the field. Users edit error messages until all error messages are corrected. Click on 

    “Save Changes”, panel closes, back to the block volume detail page

S1.png

Scenario 2:

Users Only Edit Async Calls

Form Validation

When users edit an async call (i.e. volume size, performance or auto-tune), volume size format can be immediately validated as users finish typing.

S2-1.png

API Validation

When users edit volume performance or auto-tune performance

S2-2.png

Scenario 3:

Users Edit Both Sync and Async Calls

The most complicated scenario.

Form Validation

When users edit anything that has immediate form validation (name, compartment, volume size or backup policy), the validation appears immediately as users finish typing. 

S3-1.png

API Validation

After users edit both sync calls and async calls, and hit “Save Changes” button: 

1) Every sync call passes, panel closes, back to the previous page. Users wait on the previous page for async call results. It’s similar to “Scenario 2 - API validation" except here, sync call changes have been saved.

2) Sync call error returns immediately while async call area is greyed out so users can correct sync call error before proceeding.

S3-2.png

Scenario 4:

Users Re-enter "Edit Panel" While Async Calls Are Still in Process

Occurs when users immediately re-open edit panel after editing async calls. 

S4.png
- END -
THANKS FOR READING
heart light pink.png
bottom of page