informatics-isi-edu / chaise

An adaptive user interface for the Deriva platform.
https://www.isi.edu/isr/
Apache License 2.0
9 stars 6 forks source link

Success Alerts in Record App #2524

Open jrchudy opened 2 months ago

jrchudy commented 2 months ago

Background

The current implementation of record app, shows success alerts when a pure and binary table has records added to it ("Link records" was used). Other actions on record app that modify the contents of the page don't show an alert. Those actions include:

This behavior to show an alert is removed in issue #2273 to be consistent with what we are currently doing for these other actions.

Task

This issue is for improving the "alerts" on record app to communicate changes more accurately when a user uses the actions on record page that "refresh" content for the user. The content that is refreshed happens "silently" with spinners on the sections that are updated but could easily be missed.

The alert should include information about:

Alerts should be added when the page is focused again and we are "fetching" data. This happens for

Other UX changes

If we have multiple alerts on the page, this can eventually change the main content area to be very small making it hard to interact with the app unless the user clears the alerts. We need to explore the following:

other pages/places

We have other pages where content can be added/updated where the main page opens a tab and then refreshes then content when focused again. These places include:

KenyShah24 commented 2 months ago

Here are the different UI approaches we can implement to enhance how we convey messages to users:

UI Options:

  1. Toast Alert: A small, non-intrusive toast notification at the top-right or bottom-right of the screen.

    Alert_toast
  2. Fixed Notification Bar: A persistent notification bar at the top of the page, similar to the current setup for general alerts.

    Screenshot 2024-09-10 084811

Toast notifications are commonly used in apps with real-time updates, but applications like Gmail, Netflix, and Amazon tend to use top-fixed, dismissible, or auto-fading alerts, making it a widely adopted practice. Below are some UI examples for displaying global alerts:

Alert with Title on Top:

Alert_title

Alert Highlighting Important Table Updates:

Screenshot 2024-09-10 084732

Content Example: "Data for [Table Name] has been successfully updated. [X] new rows have been added."

UX Considerations:

  1. Incremental Alerts:
  1. Collapsible Alerts:
Alert_multiple_collapse

For Color/Visuals we can use standard badge background: Green for successful updates, yellow for warnings, red for errors. But with either dismissible, collapsible or undo/retry options if needed per what kind of scenario we are implementing it on (For eg. Add records, link/unlink records, edit)

KenyShah24 commented 1 month ago

Here are the solutions we discussed and how they address the two main concerns: (1) avoiding content shift, and (2) not reducing the workspace.

1. Grouping alerts into a collapsible alert:

2. Adding a "Delete All" option:

3. Fade-away stacked alerts:

4. Having a 'Donot notify me' option to suppress alerts:

KenyShah24 commented 1 month ago

--Collapsible Alerts Design Options--

We have explored several designs for collapsible alerts to handle success messages effectively. Below are the approaches and corresponding visuals:

-Current Implementation-

image
  1. Collapsible Alerts with Show More/Less Option:

    Show_more
  2. Collapsible Alerts with Arrow Option:

Close State:

image

Open State:

open_collapse
  1. Collapsible Alerts with Bullet Points:

    image
  2. Collapsible Alerts without the Success Title:

    Screenshot 2024-09-26 095441

--Different Styles for the Alert Message--

Style1:

style_2

Grid Style (Better Readability):

style_3_grid

Wrapping message when table name is long:

image image

--Message Formations and Placements of Words--

  1. Action First: [14:02] Successfully linked 10 records in accommodation_image table
  2. Number of Records Highlighted: [14:00] 10 records in accommodation_image table have been successfully linked.
  3. Highlight the action first: [14:00] Linked 10 records to the accommodation_image table successfully.
  4. Short and to the point: [14:00] 10 records linked in accommodation_image table.
  5. Structured format for logs or technical reports: [14:00] Action: Linked | Records: 10 | Table: accommodation_image
message_formation image image
KenyShah24 commented 1 month ago

This alert will display upon successful completion of user actions such as link, unlink, add, and single edit. (Note: This will not appear for bulk-edit, bulk-delete actions, or for delete actions, as delete has its own summary alert.)

Here are some design improvements for collapsible alerts, as discussed:

  1. Showing more/less option with title :

    Screenshot 2024-10-08 124859 Screenshot 2024-10-08 113200
  2. Showing more/less option without title:

    Screenshot 2024-10-08 124703 Screenshot 2024-10-08 113004
  3. Showing collapse arrow :

    Screenshot 2024-10-08 112833 Screenshot 2024-10-08 125744

--Few success alert title options that can accommodate all the success actions are:

  1. Action Completed
  2. Successfully Updated
  3. Update Successful
  4. Records Updated Successfully
  5. Action Completed Successfully Screenshot 2024-10-08 105611 Screenshot 2024-10-08 105638 Screenshot 2024-10-08 105704 Screenshot 2024-10-08 105753 Screenshot 2024-10-08 105135