GN⁺: 토스트 알림은 나쁜 UX임
(maxschmitt.me)- Toasts는 항상 사용자의 주의(어텐션)에서 멀리 나타나는 것이 핵심 문제
- YouTube Toast의 문제점
- 전체 상호작용이 매우 불편함
- 화면 오른쪽의 "저장" 버튼을 클릭함
- 화면 중앙에 모달이 나타남
- 화면 왼쪽 하단에 toast가 나타남
- 추가적인 문제점들
- 로딩 표시 없이 toast가 지연됨
- 모달에서 체크박스를 체크하거나 체크 해제할 때, 이전 toast가 사라지기까지 몇 초를 기다려야 최신 작업에 대한 확인 toast를 받을 수 있음
- toast의 "되돌리기" 버튼은 불필요함. 사용자가 다시 체크박스를 클릭하면 됨
- 전체 상호작용이 매우 불편함
- 해결책: Toast 제거
- "저장" 상호작용을 단순히 재설계하여 모든 문제를 해결할 수 있음
- 재생 목록이 모달 대신 버튼 바로 아래에 표시됨
- 체크박스를 체크/체크 해제한 후 로딩 표시가 나타남
- 로딩 표시가 사라지면 작업이 완료되었음을 의미함
- Toast가 필요 없음
- "저장" 상호작용을 단순히 재설계하여 모든 문제를 해결할 수 있음
- 추가 예제 2개
-
- 항목이 추가/제거되었음을 확인
- Gmail에서 이메일을 보관할 때, toast가 나타나 확인을 보여줌. 하지만 이메일을 보관하면 이메일이 목록에서 사라져 이미 작업이 성공했음을 암시함
- 참고: 되돌리기 기능과 키보드 단축키 사용 시 toast 피드백이 유용할 수 있음
-
- 항목이 복사되었음을 확인
- 클립보드에 항목이 복사된 후 toast가 나타남. 이 예시에서 버튼 자체가 이미 확인을 포함하고 있어 toast가 전혀 불필요함
-
- 더 나쁠 수도 있음
- Toast보다 더 나쁜 것은 아무 피드백도 없는 것임
- 더 나은 피드백 메커니즘을 설계하거나 구축할 시간이 없다면, toast가 없는 것보다는 나음
GN⁺의 정리
- 이 글은 Toasts가 사용자 경험에 미치는 부정적인 영향을 설명하고, 이를 해결하기 위한 대안을 제시함
- YouTube와 Gmail의 예시를 통해 Toasts의 문제점을 구체적으로 설명함
- Toasts 대신 더 직관적이고 즉각적인 피드백 메커니즘을 제안함
- 사용자 경험을 개선하기 위해 피드백 메커니즘을 신중하게 설계하는 것이 중요함
Hacker News 의견
-
토스트(Toast) 알림의 필요성
- UX에서 중복된 정보 전달이 나쁜 UX라는 주장에 동의하지 않음
- 중복된 정보 전달은 메시지가 확실히 전달되도록 보장하는 기능임
- 토스트는 모든 작업 상태를 표준화된 방식으로 전달하여 사용자가 패턴을 빠르게 익히도록 도움
- 특정 지표와 토스트를 함께 사용하면 의미가 명확해짐
- 토스트를 제거하면 사용자가 여러 방식으로 "완료됨"을 이해해야 하는 부담이 생김
- 특히 노인, 시각 장애인, 어린이에게는 불편함
-
토스트 알림의 단점
- 토스트가 너무 빨리 사라지거나 불필요하게 주의를 끌 때 문제가 됨
- 전통적인 데스크탑 방식에서는 오류 메시지는 모달로, 성공 메시지는 상태 표시줄에 표시됨
- 상태 표시줄은 CLI 터미널 출력의 마지막 줄처럼 동작하며, 이전 메시지를 확인할 수 있는 팝업 제공
-
YouTube의 예시
- YouTube에서 댓글 삭제 시 두 번의 토스트 알림이 발생함
- 여러 댓글을 빠르게 삭제하면 각 삭제 확인 토스트가 순차적으로 나타나 시간이 걸림
-
Undo 버튼의 필요성
- 실수로 클릭했을 때 Undo 버튼이 유용함
- 애플리케이션을 잘 모를 때 메시지만으로 쉽게 Undo하기 어려움
-
토스트의 장점
- 토스트는 시스템 사용성을 높이는 표준 구현을 제공함
- 대부분의 시스템은 고급 디자인 문제를 해결할 인력이 부족함
-
토스트의 적절한 사용
- 사용자 행동과 관련 없는 알림에만 토스트가 적합함
- 사용자 행동에 대한 피드백은 해당 행동의 문맥 내에서 제공되어야 함
- 비동기 작업의 경우, 작업이 대기 중임을 즉시 알리고 취소 및 진행 상황 확인 옵션 제공
-
토스트와 인라인 피드백
- 토스트는 사용자 행동에 대한 보편적이고 방해되지 않는 확인 방법임
- 인라인 피드백은 잘못 적용되면 혼란을 줄 수 있음
-
저자의 대안 제안에 대한 비판
- 로딩 지표가 오류를 사용자에게 전달하기 어려운 문제를 야기할 수 있음
- Google 및 대부분의 UI 라이브러리가 토스트/알림 메시지를 사용하는 이유를 고려해야 함
- 저자의 의견은 개인적인 견해에 가깝고 분석적 결론이 아님
- 개인적으로 토스트와 알림의 UX를 선호함