결제 화면에서 사용자 실수 방지 설계를 고민한 경험
동아리 프로젝트에서 간단한 결제 흐름 목업을 만들 때, 처음에는 기술 구현에만 집중했습니다. 그런데 사용자 테스트를 해봤더니 결제 버튼을 실수로 두 번 누르는 상황이 자주 발생했습니다. 이 상황을 보고 버튼 비활성화 처리와 로딩 스피너를 추가했지만, 처음에는 디바운스 타임을 너무 짧게 설정하여 여전히 중복 요청이 발생했습니다. 이 실패 이후에 클라이언트와 서버 양쪽에서 중복 방지를 해야 한다는 것을 배웠습니다. 결제 화면에서 제가 가장 중요하게 보는 것은 사용자가 현재 무슨 상태인지 명확히 알 수 있는 피드백입니다. 로딩 중인지, 성공인지, 실패인지가 불분명하면 불안해서 버튼을 반복해서 누르게 됩니다.
사용자 행동을 예측하고 예외 상황을 미리 막는 설계가 중요하다고 생각합니다.