I have a browser based video editing tool and one of the main issues I face is using websockets to stream information to the app in realtime. Some examples of why websockets are useful.

  • Automatic subtitles (transcription job can take 30s+ so we need to stream the results back asynchronously)
  • Rendering a video and getting progress streamed back to the client
  • Any long running task, by having a websocket we can defer

The app works great, but every so often for whatever reason some clients cannot connect to the websocket server -- still investigating this. Some of the reasons, adblock seems to disable sockets, Brave browser has some issues with sockets, firewalls, etc.

I am wondering as a courtesy for the user, if the sockets fail to connect, should they receive a toast, or a modal, or some sort of notification letting them know the socket is not working and it may be due to the following, firewall etc?

Basically blocking the service until they fix the issue with some guidance? I am finding currently users who run into this issue will try to transcribe audio and itll get stuck because it never gets a response.

What is the optimal way of handling these network issues so the user can troubleshoot and not have a horrible experience?

  • 1
    Yes definitely. Tell the user there is a network / connectivity problem. If you can reliably hint at the possible cause and if the cause is rectifiable by the user, do so, otherwise just let the user know it is not usable at the moment. And they should try later or from a different device / browser / etc (as applicable).
    – ahron
    Commented Feb 8, 2022 at 6:36
  • There are quite a few potential areas where the user experience can be improved with better messaging. There are already some good guidelines to help you determine when you need to provide error message and prompts to get you started: nngroup.com/articles/error-message-guidelines
    – Michael Lai
    Commented Sep 13, 2023 at 1:33


Browse other questions tagged or ask your own question.