토스뱅크의 에러메시지에 동의하지 않습니다 - 에러메시지는 어떠해야 하는가
최근 토스뱅크 출범 후 빠르게 대기 신청을 하고 순서가 되어 약 한 달간 사용해 본 결과, 여러가지 UX 문제점이 눈에 띄었지만 그 중 에러메시지에 대해서 다루어 보고자 한다. 토스가 UX writing에 특히 심혈을 기울이는 회사라는 점과, 토스뱅크는 금융 서비스를 제공하는 어플리케이션이라는 특수성이 있어 다루는 것이며, 토스가 더 발전하기를 바라며 포스트를 작성해본다.
에러메시지의 역할
서비스 사용 중 에러가 발생하게 되면 사용자는 기본적으로 당황하게 된다. 에러메시지가 해야할 역할은 (1)사용자에게 에러의 내용을 충분히 설명하고, (2) 해결방안을 제시하는 것이 되어야한다.
그런 면에서 토스 뱅크의 에러메시지는 좋은 UX가 아니다. 한 달간 사용 중 발생했던 에러 두가지를 예시로, 좋은 에러메시지는 어떠해야 하는지 살펴보자.
최악의 에러 메시지: could not execute statement; SQL [n/a];
최악의 에러메시지는 프로그램에서 발생한 에러메시지 그 자체를 그대로 사용자에게 보여주는 것이다.
물론 에러의 내용은 명확하게 보여주고 있다. 그러나 비어있느니만 못하다. 비어있는 에러창은 사용자를 황당하게 만들 뿐이지만, 프로그램의 에러를 그대로 보여준 에러창은 사용자를 당황하게 만든다. 당연히 서비스 전체에 대한 이미지에 악영향을 미친다.
시작할 때 말했던 '사용자에게 에러의 내용을 충분히 설명한다'에서 이 경우는 '사용자에게' 설명하는데 실패했다. 저 에러 내용을 이해할 수 있는 사람은 토스 내부의 시스템 개발자 뿐이다. 개발자는 저 에러를 보자마자 "아 여기서 에러가 발생했네" 하면서 코드를 고치러 가겠지만, 디자이너는 저걸 보면 바로 경악하면서 메시지 수정을 요청해야한다.
제품 개발시 프로그램 에러메시지는 개발자 도구 혹은 개발 모드일 때에만 노출되도록 하고, 프로덕션에서는 프로그램 에러메시지가 사용자에게 그대로 노출되는 로직 자체를 차단해야한다.
또 누군가는 스크린샷으로 에러 리포트가 들어왔을 때 에러코드라도 적혀있어야 한다고 주장할 수 있다. 그러나 사용자가 알아먹을 수 없는 정보는 아무런 의미가 없이 혼란만 야기할 뿐이다. 에러가 발생했을 때 해당 에러를 보고할 때에도 직접 에러 코드나 메시지를 드러내야할 필요는 없다. 이걸 해결할 수 있는 UX는 널리고 널렸다. 우리가 네이버 접속할 때 네이버 서버 IP를 직접 입력하지는 않는다. 뒤로 숨겨져 있어야 할 데이터는 뒤에만 있어야한다.
에러메시지는 격식체로: 돈을 옮기는 중 오류가 발생했어요.
잘못했으면 격식을 차려야
에러메시지는 제품의 문제로 인해 사용자에게 양해를 구하는 메시지가 되어야한다. 그렇다고 '죄송합니다'와 같은 단어를 집어넣을 필요는 없지만(오히려 넣으면 안된다고 생각한다).
'~해요'와 같은 해요체와 '~습니다' 같은 하십시오체는 미묘한 차이가 있다.
국어에서 해요체는 비격식체로 분류가 되고, 하십시오체는 격식체로 분류가 된다. 즉 사용자에게 격식을 차려 내용을 전달해야하는 에러메시지에는 격식체인 하십시오체를 사용해야한다.
해요체는 자신을 낮추는 동시에 수동적인 태도를 드러낸다. "제가 이걸 하다가 문제가 발생했어요" 뒤에는 "죄송해요" 보다 "어떡하죠?"가 더 자연스럽다. "죄송해요"라고 해도 얘가 뭔가 스스로 해결책을 가져올거 같지는 않다. 토스 전체적으로 해요체를 톤앤매너로 삼아 사용자와의 거리를 좁히려고 하는 것은 이해하겠지만, 난 굳이 잘못을 고백하는 은행원과 친밀해지고 싶지는 않다. 적어도 잘못했을 때는 격식을 차려달라.
사용자는 제품을 스스로 고칠 능력이 없다. 사용자 스스로도 알고 있기 때문에 서비스의 톤은 언제나 '믿음직한' 이미지를 제공하여 사용자의 문제를 서비스가 언제나 해결해 줄 수 있다고 생각하게 만들어야한다. 금융관련 서비스라면 특히나 그렇다. 따라서 하십시오체를 사용하여 책임감과 믿음직함을 느낄 수 있도록 해야한다.
어? 나를 무시하나?
"돈을 옮기는 중"과 "송금 중" 둘 중에 어떤 언어를 선택하느냐도 앞선 제품의 신뢰도 문제와 직결되어있다. 우리는 금융 서비스를 사용할 때 친구가 내 돈을 다뤄준다고 생각하지 않고, 금융 전문가가 내 돈을 조심히 다뤄주기를 기대한다. 수십년간의 금융 관련 계약서에서는 '돈을 옮기다'라는 표현보다 전문 용어인 '송금'이 더 많이 등장해왔다. (송금은 그렇게 전문적인 용어도 아니다.)
"송금의뢰 이체금 전송 거래 요청 수리 실패" 따위의 언어가 아니라면, 사용자가 이해할 수 있는 단어를 굳이 풀어서 설명할 필요가 없다. 이해할 수 있는 단어를 두고 더 쉬운 용어를 택하는 건 오히려 사용자로 하여금 자신을 무시한다는 불쾌함을 유발시킬 수 있다.
그래도 이거는 잘했다
토스의 에러메시지에는 다른 어플리케이션에서 툭하면 볼 수 있었던 느낌표나 붉은색 경고 표시가 등장하지 않았다. 매우 좋은 선택이다. 느낌표와 붉은색 경고 표시는 사용자가 위험한 상황이거나 긴급하게 정보를 인지해야할 때 사용한다. 그러나 대부분의 에러메시지는 긴급할 필요가 없다. 에러메시지가 뜨면 모든 작업이 멈추고 사용자는 에러메시지만 읽게 되므로 급하지 않아도 된다. 오히려 사용자의 판단 시간을 짧게 만드는 행위는 긴장과 당황을 유발한다. 이미 내가 의도하지 않은 에러메시지가 뜬 상황에서 한 번 당황하고, 붉은색 메시지와 느낌표를 보며 두 번 당황하고, 마지막으로 알아먹을 수 없는 에러메시지로 세 번 당황하게 만들었다면 나는 그 어플리케이션을 당장 꺼버렸을 것이다. 긴급함을 나타내지 않는 정보 전달 톤의 에러창을 채택함으로서 사용자가 에러를 받아들일 수 있는 심리적 시간을 늘려준 점은 칭찬한다.
결론
지금까지 토스뱅크를 사용하며 발생한 에러메시지로 좋은 에러메시지는 무엇인가에 대해 살펴봤다. 지적할 점도 많았지만 전반적인 사용자 경험에 있어서는 신기함과 편리함의 연속이였고, 나는 토스뱅크가 더 발전할 수 있을 것이라 기대해본다.
글을 쓰기 위한 원동력을 얻기 위해 자발적인 후원을 받고 있습니다.
구독 및 후원해 주신 분들께는 뉴스레터로 전용 컨텐츠가 추가 발송될 예정입니다.