Some of our user can get thousands alerts per day, when the check alerts, that cause the whole platform slow down. 

Most of the feature enhancements are focus on solving loading speed and helping users to easily manage alerts. 

In Veo One, alerts has large view (large size module), small view (small size module) and quick view (quick pop up on the header)

Because of the data problem, we only restore 30 days alerts

There are 3 alert types in Veo One - Account, Cash Management and Trading. Under each alert type, there are many different alert subscriptions. 

When we did user testing, most of our users are confused about alert type, for example: does subscription "Money In" belong to "Cash Management" or "Account"? People who focus on trading may also need to check "Transfer Status" which is under "Account" but relate to trader's work.


So how do we classify different types and subscriptions? To be honest, it isn't important. We removed "alert types" and only leave "alert subscriptions" for reducing confusion.

Veo One users can track alerts date to last 30 days. In alert small view, there are 3 options: today's alert is default loading status, user can switch to last 7 days (includes 2 calendar week days) or last 30 days. 

We introduced "grouped by subscription type" for increasing alerts loading speed. All alerts are classified under different subscription types. Each subscription type has their own pagination control. By clicking each subscription, user can read details in a modal. 

Grouped by function also help large user to easily manage their alerts. For example, John Smith is expecting some transactions, but he has more than 1000 unread alerts. Without using filter or sort, he can just focus on subscription "Money In" and "Money Out". 

Grouped by date is an existing feature in Veo One legacy alerts. When user grouped by date, there is no real group, instead, all individual alert are listed in the order of received time. When I discussed this feature with my PO, we decided to keep this function since some users are get used to it. Grouped by date also works well for some users who don't have too many alerts.


Ideally, it should show grouped by date. For example, if user selects last 7 days alerts, it should show 7 rows with different dates. However, there always be a balance between time and good design function. So for MVP, we keep grouped by date as it was. 

When user group alert by date, clicking each alerts, details shows in modal. 

I didn't do too much copy writing work since we have a UX copy writer. Because I am not a native English speaker, I always all the copies is very clear and easy to be understood. It might sound stupid, but that reduce confusion. 

Alert large view includes all the functions in small view. In addition, filter is available. User can choose multiple alert subscriptions, last 1 to 30 days alerts, multiple account numbers and date range for filtering. 

"Mark alert as read" was a big pain for Veo One users. Before I talk about "Mark alert as read", I would like to talk about showing "All" or "Unread" alerts first.

In Veo One legacy alerts, unread alerts was default view. There was a small drop down goest button hidden in the corner could let user to switch to all alerts. 

You may say "that's Ok, unread only can reduce alert list on the table". However, the problem is once user mark alert as read, that alert immediately disappear without any animation. User sometimes doesn't realize that this alert has gone and sometimes user doesn't know how to find it back. 

My solution was adding some animation to show user that this alert won't show here. But that solution would increase many calls for the data base. So instead of adding animation, we switch showing "All" alerts as default. Also, we move this selector out of filter, change drop down to a colorful toggle button. 

There are two places user can mark all this as read for subscription level. One is the envelope icon on the top of table header, one is a hyper link "Mark all as read".