← Back to context

Comment by ivan_gammel

3 days ago

…and the same ID can be displayed to user on HTTP 500 with the support contact, making life of everyone much easier.

I have seen pushback on this kind of behavior because "users don't like error codes" or other such nonsense. UX and Product like to pretend nothing will ever break, and when it does they want some funny little image, not useful output.

A good compromise is to log whenever a user would see the error code, and treat those events with very high priority.

  • > I have seen pushback on this kind of behavior because "users don't like error codes" or other such nonsense […]

    There are two dimensions to it: UX and security.

    Displaying excessive technical information on an end-user interface will complicate support and likely reveal too much about the internal system design, making it vulnerable to external attacks.

    The latter is particularly concerning for any design facing the public internet. A frequently recommended approach is exception shielding. It involves logging two messages upon encountering a problem: a nondescript user-facing message (potentially including a reference ID pinpointing the problem in space and time) and a detailed internal message with the problem’s details and context for L3 support / engineering.

  • > UX and Product like to pretend nothing will ever break, and when it does they want some funny little image, not useful output.

    Just ignore them or provide appeasement insofar that it doesn’t mess with your ability to maintain the system.

      (cat picture or something)
      
      Oh no, something went wrong.
      
      Please don’t hesitate to reach out to our support: (details)
      This code will better help us understand what happened: (request or trace ID)

  • We put the error code behind a kind of message/dialog that invites the user to contact us if the problem persists and then report that code.

    It’s my long standing wish to be able to link traces/errors automatically to callers when they call the helpdesk. We have all the required information. It’s just that the helpdesk has actually very little use for this level of detail. So they can only attach it to the ticket so that actual application teams don’t have to search for it.

  • Nah, that’s easy problem to solve with UX copy. „Something went wrong. Try again or contact support. Your support request number is XXXX XXXX“ (base 58 version of UUID).