사용자와 티키타카하는 제품의 도구
피드백은 과거의 행동을 되돌아보고 개선하는 과정을 의미합니다. 마치 넘어졌을 때 무엇이 문제였는지 점검하고, 다음에는 넘어지지 않도록 조치를 취하는 것과 같습니다.
피드백은 UX 디자인 안에서도 밖에서도 중요한 요소입니다.
사용자는 자신의 행동에 대한 피드백을 받아야 할 권리가 있습니다. 제품은 화면을 변화시킴으로써 피드백을 제공할 수 있습니다. 사용자가 버튼을 눌렀을 때, 시간이 많이 소요되는 작업을 묵묵부답으로 열심히 하는 것 보다는 사용자가 버튼을 눌렀을 때 작업이 진행 중임을 알 수 있도록 스피너나 로딩 표시를 보여주는 것이 피드백입니다.
하지만 로그인 서버가 고장이 났을 땐 어떻게 해야 할까요? 사용자가 로그인을 누르고 모든 정보를 입력한 후 로그인 버튼을 눌렀을 때 "저희 로그인 서버가 아파서 안댐" 이라는 메세지를 띄워야 할까요?
이 때 등장하는 도구가 피드포워드입니다. 피드백과 달리 일어날 일에 대한 정보를 알려줍니다. 피드백이 '다음엔 이렇게 하지 마세요'라고 말한다면, 피드포워드는 '지금 이렇게 하면 잘 될 거예요'라고 알려줍니다.
피드포워드의 예시:
메인 화면에서의 로그인 버튼 옆에 "저희 로그인 서버가 아파요"
특정 폼을 채울 때 "죄송한데 저희 아이디는 영문과 숫자로만 이루어져야 해요"
파일을 업로드하는 화면에서 "저희 20MB 이하의 PDF만 받을게요"
생성형 인공지능을 사용할 때 "29초 뒤에 완성돼요, 창에서 나가도 작업 계속 할게요"
모든 피드백 요소를 피드포워드로 만들 필요는 없습니다. 다양한 상황에 맞춰야 하는 만큼 들어가는 공수와 성능 요구가 크기 때문입니다. 예를 들어 "검색 결과의 개수를 실시간으로 계산해서 알려줘서 검색어 최적화를 도와줘야지" 하는 건 개발자와의 완만한 관계를 유지하기 힘들게 만듭니다. "와 이거 다 했는데 오류 떠서 처음부터 다 해야 하면 짜증나겠는데" 싶은 부분을 우선으로 신경쓰는 게 좋습니다.
피드백과 피드포워드라는 두 가지 도구를 적절히 활용하면 좋은 경험에 더 가까워질 수 있다고 믿습니다.
이 도구들은 '상태의 가시성'과 '사용자 통제와 자유'라는 휴리스틱 원칙을 실현합니다.
피드백 = 횡단보도 신호 = 없으면 이상함, 불편함
피드포워드 = 횡단보도 신호 바닥 조명= 있으면 좋음, 있다 없으면 불편함
이 글을 쓰는데에 지대한 영향을 주신 버튼을 눌렀는데 뭐 돌아가지도 않고 내 커서도 그대로고 탭 옆에만 뭐가 하나 빙글빙글 돌아가고 뒤로가기를 누르면 또 그냥 슥 갔다가 다시 들어오면 아무것도 안 되어 있는 서비스들과 엄청나게 긴 폼을 열심히 채워서 마지막 제출 버튼을 눌렀더니 페이지 초기화를 시키고 오류를 띄워주시는 서비스들에 감사합니다.