Error messages are an important part of an application. Generally each application/system has a collection of error messages stored somewhere (I would use a dictionary of some sorts). From a UX stand point it’s important to phrase and design error messages and dialogs, in a way that tells the user what ‘exactly‘ just happened. There’s no point in covering technical issues with a generic error message such as “Service unavailable“, when it doesn’t do anything to help the user take any action based on that information. Provide them with what to do when a service is not available. Is the internet connection not available? Is your web service down for maintenance? Is it a windows service on user’s machine that didn’t start correctly on reboot?
Technially it’s always possible to go that one extra mile to figure out and tell the user exactly what just happened and provide them with links to help documentation or provide useful actionable information immediately available, most times, right on the Error Dialog may be.
I recently got this Error dialog, when I was trying to activate a tool, I entered my credentials and bam, I got this error.
It could have been more specific, as in I entered my credentials wrong or the web service it used to authenticate is not available.