80호가 도착했어요! (읽는 데 9분) 서울 여의도 지역에 최초로 지하철 노선(5호선) 개방, '서태지와 아이들' 해체와 김광석의 사망, 클론의 데뷔, 메탈슬러그와 바람의 나라 출시... |
|
|
24.08.02의 캡처프레이즈
✏️ [아티클] 끝내주는 에러 메시지 작성법 |
|
|
✏️ 오늘의 아티클
끝내주는 에러 메시지 작성법
Thomas Fuchs - How to write a great error message (원문 보기)
|
|
|
🤸 에디터 신비:
휴재 공지: 캡처프레이즈는 이번호 이후 2주 동안의 여름방학을 가졌다가 8월 23일에 돌아올게요!
오류 메시지에 관한 많은 사람들의 많은 조언이 있지만, 그 내용들은 서로 크게 다르지 않아요. 중요한 것은 우리가 작성하는 오류 메시지가 "정확한 상황, 실현 가능한 대안, 심각성의 수준"을 사용자에게 잘 편집해서 전달했냐는 거죠. 그렇다고 오류 메시지 작성이 쉬워지는 건 아니지만요 😅
오늘의 아티클은 오류 메시지에 대한 기초적인 내용을 저자만의 독특한(...) 문체로 설명하는 재미있는 글이에요. 말 그대로 '재미있는' 글이요. 가장 중요한 내용은 아티클 후반부에 나오니, 꼭 마지막까지 읽어보세요!
그럼 오늘도 재밌게 봐주세요.
|
|
|
여러분은 지금 사무실에 앉아 있습니다. 파티션 안쪽에요. 신제품 출시를 위해 이번 주에 일을 아주 많이 했어요. 피곤하고 짜증이 나며, 빨리 주말이 오기를 바라고 있습니다.
하지만 먼저 신제품 홈페이지가 Windows 10에서 제대로 작동하는지 확인해야 합니다. 든든한 맥북에 Windows를 실행할 수 있는 소프트웨어까지 설치되어 있으니 문제가 없다고 생각하고 있죠.
여러분이 소프트웨어를 실행하니 Windows가 몇 가지 성가신 알림과 함께, 업데이트하라는 메시지를 정중하게 보냅니다. 여러분은 '물론이지, 진행시켜'라고 말합니다.
그리고 나서 여러분은 이걸 보게 됩니다.
|
|
|
Something something
제품 마감일만 아니었다면 정말 재밌을 것 같은 메시지네요.
여러분은 생각합니다. 스트레스 받지 말고 이걸 캡처해 전 세계에, 아니 적어도 트위터 세계에 공유나 해야겠다고요.
설레는 마음으로 스크린샷을 맥북 트위터 앱에 드래그하고 트윗 버튼을 누릅니다. 그러면 이런 일이 벌어져요:
|
|
|
그놈의 'media id'가 또 나타났군요!
이제 여러분은 생각 없는 게으른 프로그래머와 디자이너가 인류에게 가져온 벨트슈메르츠*의 보편적 고통에 대해 고민합니다. 고민에 빠져 있다가 — 불현듯 맛있는 음식이 도움이 될 것이라고 생각해요.
훌륭한 계획이네요! 밀리언 달러급의 벤처 캐피탈과, 샌프란시스코의 호화로운 고층 사무실에서 콧수염을 휘날리며 자신의 젊음을 몽땅 쏟아붓고 있는 테크노 힙스터 무리의 엄청난 파워에 힘입어 부리또를 배달 주문해봅시다!
* 벨트슈메르츠(Weltschmerz): 잔인하고 무자비한, 차갑기 그지없는 거대한 세상 속에서 자신의 무력함을 느낄 때 밀려드는 고통과 슬픔을 지칭하는 독일의 문학 용어예요.(출처: 이진민님의 브런치스토리)
하지만 먼저, 배달 앱이 아무런 맥락 없이 여러분에게 던지는 이 중요한 철학적 질문에 대답해야 할 겁니다.
|
|
|
전 No를 눌렀습니다. 실제로 확신이 없었거든요.
실제로 쓸모 있는 오류 메시지나 다이얼로그에는 무엇이 포함되나요?
제가 좀 과장해서 얘기한 (지난주 실제로 제게 일어났던) 사건은 뒤로 하고, 훌륭한 오류 메시지는 어떤 모습이어야 하는지 살펴봅시다.
이 주제를 잘 알고 있어야 할 사람들은 어떻게 생각하는지 보겠습니다. 애플은 수 년 동안 사용자 인터페이스 디자인의 선두에 서 왔으며, 최근에는 좀 느슨해지긴 했지만, 언급할 만한 좋은 점을 분명 갖고 있습니다.
다음은 OS X Human Interface Guidelines에 나오는 얼럿의 설명입니다:
|
|
|
오류 상황을 명확하고 간결하게 설명하는 얼럿 메시지를 작성하세요. “오류가 발생했습니다"와 같은 얼럿 메시지는 모든 사용자에게 혼란을 주고, 숙련된 사용자에게는 짜증을 유발할 가능성이 높습니다. (...) 결과를 자세히 설명하고 해결 방법이나 대안을 제시하는 유익한 텍스트를 작성하세요. 사용자가 이 상황에 관심을 가져야 하는 이유를 설명하는 데 필요한 만큼의 정보를 제공하세요. (...) 정보성 텍스트는 문제 해결을 위한 제안을 포함하는 게 가장 좋습니다. (...) 모든 것을 사용자의 어휘로 표현하세요. 사용자가 얼럿을 보고 매우 불안해 할 수 있기 때문에, 얼럿은 특히 알쏭달쏭하고 난해한 언어를 사용하기엔 적절하지 않습니다. (...) 디폴트 버튼으로 확인(OK)을 사용하지 않는 것이 좋습니다. 확인(OK)의 의미는 사용자가 작업을 정말 수행할 것인지 묻는 얼럿에서조차 그 의미가 불분명할 수 있습니다. 예를 들어, 확인(OK)은 “OK, 저는 작업을 완료하고 싶습니다”를 의미하나요, 아니면 “OK, 저는 이 작업으로 인해 발생할 수 있는 부정적인 결과를 이해했습니다”를 의미하나요?
|
|
|
이제 가닥이 좀 잡히네요. 이럴 수가, 애플은 심지어 전문 용어와 단어 선택(terminology and wording)에 대한 훌륭한 글까지 갖고 있어요.
|
|
|
앱의 아이콘과 이미지를 전문 그래픽 디자이너와 작업하는 것이 가장 좋은 것처럼, 사용자에게 표시되는 텍스트도 전문 UX 라이터와 함께 작업하는 것이 가장 좋습니다.
|
|
|
앱에 문구를 작성하는 일은 PM, 디자이너, 개발자가 부업으로 할 수 있는 일이 아니라는 점을 인식해야 합니다. 올바른 문구 작성은, 앱이 잘 작동하고 인터페이스가 쉽고 효율적으로 사용되도록 만드는 것만큼 중요해요.
|
|
|
뭐, 누구나 완벽할 순 없죠. 전 Apple이 적어도 대부분의 상황에선 노력한 흔적을 보여주기 때문에 좋은 거예요.
|
|
|
유력한 용의자를 좀 추려봤습니다...
실제 오류 메시지 몇 가지를 살펴보고, 내용이 제대로 전달되는지 확인해 보겠습니다.
|
|
|
Windows 휴대폰이군요. 실례지만 “현재 업데이트를 확인할 수 없습니다.(We are currently to check for updates.)”라는 답변으로는 충분하지 않습니다. 휴대폰에서 현재 업데이트를 확인할 수 없는 이유는 무엇인가요? 그리고 사용자는 이에 대해 무엇을 할 수 있나요?
이 문제에 대한 실질적인 답변은 이것이었습니다: “휴대폰 시계가 올바른 날짜로 설정되지 않아 업데이트 서버의 SSL 인증서가 유효하지 않습니다.” 시계를 설정하니 모든 것이 정상으로 돌아가더군요.
왜 오류 메시지가 “보안상의 이유로 업데이트 가능 여부를 확인할 수 없습니다. 휴대폰의 날짜 및 시간 설정이 올바르지 않을 수 있으니 확인 후 다시 시도해보세요!”와 같은 내용이 아닌 건가요? 아니면 시간과 날짜가 OS 자동 설정인지 확인하는 것이 더 좋은 방법일까요?
|
|
|
저기요 구글, 어쩌라고요? 왜 이 얼럿은 사람들이 다른 브라우저로 뭘 하든 그걸 못하게 방해하는 걸까요?(iOS 위치 인증 기본 알림도 아니에요) 이게 어떻게 괜찮(OK)겠어요? 이런 얼럿을 보내는 걸 누가 좋은 생각이라고 판단한 거죠?
검색 엔진이 사용자에게 위치 정보 전송을 켜고 싶은지 물어보는 건 당연해요. 그러나 심각한 문제나 이슈를 알리기 위한 OS 수준의 메커니즘을, 즉각적인 결정을 묻기 위해 남용해서는 안 됩니다.
|
|
|
아뇨, 이건 아니죠, 진짜 아니에요. 다른 모든 소프트웨어의 99%에선 기본값인 설정을 위해 모달 경고가 필요한 이유가 대체 뭔가요?
그래요, 일부 어도비 제품에선 ESC로 변경사항을 적용한다는 걸 알곤 있지만, 그렇다고 똑같이 설정해 둘 필요는 없는 거예요. 저런 모달 대신 ESC의 기본 설정을 취소로 세팅하되, “변경사항을 ESC로 적용하시겠습니까? 이곳을 클릭해 ESC의 기본 설정을 변경하고 실행 취소를 하세요.”라고 적힌 작은 바(bar)를 창 하단에 표시하는 방법도 있습니다. 모달로 보여줄 필요는 없어요.
기본값에 대해 좀 더 단호하게 결정하세요, 어도비. 사용자도 받아들일 겁니다.
가장 중요한 점:
가장 좋은 오류 메시지는 표시되지 않는 오류 메시지입니다.
위의 모든 예시에서, 오류 메시지를 전혀 표시하지 않을 수 있습니다. Windows 10 예시(Something happened, something happened)도 그럴 거라는 자신은 없지만, 그건 컴퓨터도 자기 오류가 뭔지 확실하게 알고 있지 않다는 거예요.
- 트위터 오류: 첨부파일을 추가하는 시점에 첨부파일에 어떤 문제가 있는지 설명합니다. 더 좋은 방법은 문제를 수정한 후 수정한 내용이 괜찮은지 물어보는 겁니다. 사실 제가 꼼수를 좀 썼어요. 고해상도(10,000px) 이미지를 추가했는데 트위터에는 이미지 해상도 제한이 있거든요. 그래도 업로드하기 전에 미리 알려주는 게 어떨까요? 아니면 트위터가 허용하는 한도 내에서 업로드 크기를 자동으로 조절해주면 어떨까요? 그다음 “참고: 이 이미지는 트위터에 올릴 수 있게 크기가 조정되었습니다.” 같은, 모달이 아닌 작은 메시지를 표시할 수도 있고요.
- 배달앱의 경고 모달: 질문의 대상이 무엇인지 설명조차 하지 않는다면, 그건 메시지를 표시할 만큼 중요하지 않은 것이 분명합니다. “No”를 탭해도 아무 일도 일어나지 않았어요.
- Windows 휴대폰의 업데이트 메시지: OS가 알아서 시간과 날짜를 알아내도록 하면 됩니다. 아시다시피 휴대폰은 인터넷에 연결되어 있습니다. 인터넷으로 시간과 날짜를 파악하는 기술(NTP)은 나온지 30년도 더 됐어요.
- 구글 크롬이 조금만 더 감시하게 해달라고 애원함: 검색 결과 상단에 배너를 표시하거나 다른 방법을 찾아보세요. 그렇게까지 필사적으로 사생활을 침해할 필요는 없습니다.
- 포토샵: 그럴싸한(sane) 기본값을 제공하세요. 대신 실행 취소가 가능한 작업 배너*나 튜토리얼로 사용자 지정 옵션에 대해 알려줄 수 있습니다.
* 이메일을 보낸 후 표시되는 Gmail의 “Undo sending?” 배너가 좋은 예입니다. “이 이메일을 정말 보내시겠습니까?”라고 물어보는 것보다 훨씬 나아요.
여러분이 물어보실 줄 알고 제가 작은 체크리스트를 만들어 두었습니다. 서비스에 얼럿을 추가하고 싶을 때 읽어보세요.
오류 메시지 작성 시 가장 중요한 3가지 사항
- 판매 촉진이나 불필요한 정보 표시를 위해 얼럿을 남용하지 마세요. 사람들은 정작 실제로 중요한 메시지는 읽지 않게 될 겁니다.
- 사람들이 이 메시지의 맥락을 알고 있다고 가정하지 마세요. 사용자는 여러 앱을 들락거리다, 메시지가 발생한 지 며칠이 지난 후에야 보게 될 수도 있습니다. 항상 사용자가 이해할 수 있는 충분한 정보를 포함하세요.
- 친근하고, 전문적이지 않고(non-technical), 위협적이지 않은 톤 오브 보이스를 사용하세요.
요약: 일반인도 이해할 수 있는 쓸모 있는 오류 메시지를 작성하세요.*
* 어떻게 작성해야 할지 잘 모르시겠어요? 일반인에게 여러분이 작성한 걸 보여준 뒤 그것에 대해 설명해달라고 부탁해보세요.
|
|
|
미디움, 너도 더 잘 할 수 있을 텐데!
(역: 이 글은 미디움에 포스팅되었어요.)
|
|
|
UX 라이팅 관련 고민이 있나요?
캡찹님들이 해결해 줄 거예요!
|
|
|
캡처프레이즈를 만드는 사람들
🤸 신비 👻 점점 🙉 숀 🔥 쑤 |
|
|
헤어지게 되어 아쉬워요.
다시 만날 수 있겠죠? |
|
|
협업 문의: editor@capturephrase.com |
|
|
|