graylog2-server icon indicating copy to clipboard operation
graylog2-server copied to clipboard

Poor User Experience Under Adverse Network Conditions

Open ChristopherKB opened this issue 4 years ago • 3 comments

A customer from a service provider in Europe wrote to tell us that the experience of using Graylog over a remote network connection can be difficult and frustrating.

Expected Behavior

When network connectivity is lost, unsaved information in the browser should not be lost. When connectivity is restored, the user should be able to resume whatever activity they were performing before the interruption.

Current Behavior

Customer Message:

"Hi,

the Graylog Webinterface is sometimes quite sensitive to network quality between it and the server. Especially when working from a bit more remote, we often observe the "Server Unavailable Modal", often for just a split second. While it's just very brief, the pain point is that all ephemeral objects are lost. Let it be aggregation widgets during analysis, dashboard changes or whole configuration dialogs.

I suppose this is not trivial to mitigate, since it changes how all the requests from the Webinterface ought to behave. But its worth dicussing, as it has impact on the quality of service perceived by technicians and customers alike."

Possible Solution

Steps to Reproduce (for bugs)

Context

Time spent configuring something is lost, whether aggregation widgets during analysis, dashboard changes or whole configuration dialogs. Customer and technician frustration impacts the service provider and Graylog.

Your Environment

  • Graylog Version:
  • Java Version:
  • Elasticsearch Version:
  • MongoDB Version:
  • Operating System:
  • Browser version:

ChristopherKB avatar Oct 30 '20 21:10 ChristopherKB

There are several options to improve the experience for users:

  1. Make sure that e.g. the search state is preserved across unmounting/remounting the page component (showing the "Server unavailable" page unmounts everything else at a high level)
  2. Make availability checks less sensitive (e.g. declare server as unavailable only after multiple timeouts/server errors)
  3. Instead of unmounting everything and showing message, show message instead in an overlay that greys out everything, but keeps components mounted.

Option 1 is the most difficult to implement, as we do rely on the lifecycle of page components to reset the state. Options 2 and 3 are easier.

dennisoelkers avatar Nov 02 '20 10:11 dennisoelkers

I am putting this in the search project for now, as search is gaining the biggest benefits from this.

dennisoelkers avatar Nov 02 '20 10:11 dennisoelkers

There are several options to improve the experience for users:

  1. Make sure that e.g. the search state is preserved across unmounting/remounting the page component (showing the "Server unavailable" page unmounts everything else at a high level)
  2. Make availability checks less sensitive (e.g. declare server as unavailable only after multiple timeouts/server errors)
  3. Instead of unmounting everything and showing message, show message instead in an overlay that greys out everything, but keeps components mounted.

Option 1 is the most difficult to implement, as we do rely on the lifecycle of page components to reset the state. Options 2 and 3 are easier.

This will really useful, when I'm using Graylog Web from a VPN Connection and the VPN's connection "blink" I lost everything on that page that was not saved.

Thank you!

chalfling avatar Nov 05 '20 13:11 chalfling