graylog2-server
graylog2-server copied to clipboard
Poor User Experience Under Adverse Network Conditions
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:
There are several options to improve the experience for users:
- 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)
- Make availability checks less sensitive (e.g. declare server as unavailable only after multiple timeouts/server errors)
- 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.
I am putting this in the search project for now, as search is gaining the biggest benefits from this.
There are several options to improve the experience for users:
- 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)
- Make availability checks less sensitive (e.g. declare server as unavailable only after multiple timeouts/server errors)
- 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!