I have a form that needs to be compiled. The form before to load it gets some data from some service, if one of these services fail the data of the form will not load, because it will be an incomplete form. My question is, how should I handle this situation? Should I display a message that says like sorry one of our services is down? Or should I redirect to a Support page? The fact is that the form needs to be accessible only if all requests are 200 OK.
Users don't care about your implementation. They care about completing their task.
When a user requests something from your application, a form is already an obstacle to them getting what they want.
The fact that the form integrates several services with conditional data means nothing to them. What you want to do is provide them with useful error messages.
Message guidelines: This is an error (but not the users fault)
Nielsen Norman Group has some good guidelines for handling errors:
Make error messages clearly visible, reduce the work required to fix the problem, and educate users along the way.
- Make it clear it's not their fault. In this case, the failure is on the application side.
- Allow them to retry. If possible, allow them to retry with a simple button.
- Show them a path out. Don't land them on a generic 404 (or equivalent status code). Provide them a quick link to home, or to return to where they were previously.
- If it's crucial, provide contact info for support This can work if there's another way to complete the task by phone/email/support ticket.