코드만 보이는 화면에서 이용자가 느끼는 것
문의나 예약 양식을 제출했더니 알아볼 수 없는 영문 코드만 나타나면 이용자는 다시 시도해야 하는지, 입력을 고쳐야 하는지, 아예 접수가 되었는지 알 수 없습니다. 이런 화면은 담당자가 원인을 찾는 데에는 쓸모가 있어도 이용자에게는 도움이 되지 않습니다. 오류 안내의 첫 번째 역할은 무슨 일이 일어났는지와 지금 할 수 있는 행동을 알려 주는 것입니다. 내부 코드는 문의할 때 참고하도록 보조 정보로 두는 정도가 알맞습니다. 사용자가 읽는 문장은 짧고 구체적이어야 하며, 무엇이 문제였는지와 어떻게 하면 되는지를 각각 한 문장으로 나누어 쓰면 이해하기 쉽습니다.
입력 오류와 서비스 문제를 구분합니다
이용자가 고칠 수 있는 오류와 서비스 쪽의 문제는 안내 방식이 달라야 합니다. 필수 항목이 비어 있다면 어느 칸인지를 표시하고, 이미 입력한 다른 값은 그대로 남겨 두어야 합니다. 다시 처음부터 쓰게 만들면 대부분의 이용자는 포기합니다. 입력 오류 문구에는 올바른 형식의 예를 한 가지 보여 주면 이용자가 스스로 고치기 쉽습니다. 예를 들어 연락처 칸이라면 숫자만 입력하는지 하이픈을 함께 쓰는지를 칸 가까이에 적어 두는 식입니다. 반면 서버나 외부 인증에 문제가 생긴 경우에는 이용자가 잘못한 것처럼 표현하지 않고, 잠시 후 다시 시도하거나 공식 문의 경로를 이용하도록 안내합니다. 복구 시각을 확인하지도 않고 약속하는 문구는 쓰지 않습니다. 대신 지금 확인된 사실만 말하고, 추가 안내가 있을 곳이 어디인지 알려 주는 편이 정직합니다.
예약과 결제에서는 완료 여부가 가장 중요합니다
중요한 행동 앞에서는 처리가 끝났는지가 이용자에게 가장 큰 관심사입니다. 오류 화면이 떴더라도 실제로는 접수가 이루어졌을 수 있어서 처리 결과를 확인하기 전에는 곧바로 다시 제출하라고만 안내하면 같은 신청이 두 번 들어갈 수 있습니다. 현재 상태를 확인할 수 있는 경로를 제공하고, 운영자가 추가로 확인해야 하는 경우에는 필요한 정보를 최소한의 범위로만 요청합니다. 이용자가 입력한 내용이 사라지지 않았다는 사실을 함께 알려 주면 불안이 한결 줄어듭니다. 개인정보를 공개된 댓글이나 게시판에 남기라고 안내하는 일은 없어야 합니다.
메시지가 놓인 위치와 전달 방식을 점검합니다
화면 맨 위에 오류라는 낱말만 나타나고 실제로 문제가 있는 입력란은 아래쪽에 있어 찾기 어려운 경우가 있습니다. 문제가 있는 입력 칸 가까이에 이유를 적고, 키보드로 이동하거나 화면 낭독 프로그램을 쓰는 이용자에게도 오류가 전달되는지 확인합니다. 빨간색 같은 색깔만으로 상태를 구분하지 않고 글자로도 표시합니다. 휴대전화와 컴퓨터에서 같은 메시지가 같은 뜻으로 보이는지도 시험합니다. 글자 크기를 키웠을 때 메시지가 잘리지 않는지도 점검 항목에 넣습니다.
이용자에게 보이는 문구와 내부 기록을 분리합니다
고객에게 보이는 문구와 내부 로그는 목적이 다르므로 분리해서 관리합니다. 지원 담당자가 추적할 수 있는 접수번호나 발생 시각은 제공하되, 시스템의 민감한 구성 정보는 공개 화면에 드러내지 않습니다. 화면 전체를 캡처하거나 입력값을 그대로 보내 달라고 요청하는 방식은 개인정보가 섞일 수 있어 피하는 편이 안전합니다. 담당자가 오류 재현을 위해 필요한 정보는 화면의 어느 단계에서 어떤 동작을 했는지 정도로도 충분한 경우가 많습니다. 문의가 들어오면 접수번호와 오류가 난 시각 정도만 물어도 대부분 원인을 추적할 수 있습니다.
같은 오류가 반복되면 문구보다 원인을 고칩니다
같은 오류가 되풀이된다면 문구를 더 친절하게 고치는 데에서 멈추지 말고 원인을 찾아 해결해야 합니다. 오류 메시지가 실제 시스템의 동작과 일치하는지 주기적으로 시험하고, 문의로 들어오는 오류 상황을 모아 자주 발생하는 순서대로 개선합니다. 개선한 뒤에는 같은 상황을 직접 재현해 새 문구가 의도대로 보이는지 확인하고, 변경 내용과 날짜를 기록해 둡니다. 좋은 오류 안내는 이용자에게 코드를 해석하라고 요구하지 않고, 자신의 작업이 어디까지 진행되었는지 이해하고 안전한 다음 단계를 스스로 고를 수 있게 합니다.