I'm working on a web application that, among other things, receives orders for a business. There's a page where the orders are listed, and it is refreshed at fixed intervals so that the list shown on-screen is up to date.
However, there will be many cases where the user of this web application will not be paying attention to the browser window (it could be minimized), perhaps because this person is busy dealing with workmates, things that happen in the business, or using other software on the same PC (maybe 1 or 2 other applications, desktop ones). This user might be using a software that takes the whole screen for itself, and our web application needs to get the user's attention when new orders arrive, even when all the situations described before are happening.
I've talked with potential users and they've told me that something like Avast's update notification would be ideal - that is, a notification that grabs the user's attention through both visual and auditory means, and that is overlayed on top of everything currently on-screen.
However, something like Avast's update notification is not possible in a web environment, to my understanding. The idea I had was the following, combining 3 techniques:
- First, a sound alert will be played each time new orders arrive.
- Immediately after that, the browser window will be given focus using JavaScript (e.g.:
window.focus();
). - Following that, a JavaScript
alert()
will be triggered, with a short message indicating that new orders have arrived, and that the user should pay attention to/read the list of incoming orders in the page.
From a technical standpoint, said approach faces problems regarding browser and operating system behaviour.
- Each browser behaves differently regarding the techniques I mentioned. For example, while Chrome and Internet Explorer can be brought on top of all other windows through
alert()
and/orwindow.focus()
, Firefox won't even do as much as having its task bar icon blink. - Each operating system might also behave differently.
Now, while the solution to this problem needs to be cross-browser and cross-system (which is a technical issue, and not a user experience one), it is part of the problem as a whole, which I do believe is a user experience problem: How to get the user's attention no matter what. Sounds alone won't be enough; a business can be quite chaotic, and sound alerts can go ignored. A visual element that stays on-screen until the user reacts is essential.
How would you handle this scenario?
P.S: If you told me it's an issue with the user itself who isn't paying attention to the system in use, I'd agree to a degree, but there's not much that can be done with the user itself, so the web application must try to cooperate in this regard.