개발 slecs

발행 진행 화면의 저조 상태 오독을 색상·경고·0건 표시로 개선

목차

발행 진행 상황을 표시하는 스크립트에서 사용자가 상태를 오독할 여지가 있다는 걸 발견했다. 특히 저조한 상태일 때 시각적 신호가 혼란스러웠다. 이번에 상단 경고, 0건 구분, 그리고 상태별 색상 제어를 손봤다.

왜 이 작업이 필요했나

운영/관리 화면에서 "지표가 좋아 보인다"고 판단했는데 실제로는 진행 상황이 저조했던 경험이 있을 것이다. 숫자 형태로는 명확해 보이지만, UI 신호까지 잘못 주면 사용자는 한눈에 상태를 오해한다. 특히 다음 같은 시나리오에서:

  • 저조한 상태인데 초록색 표시: 사람은 색상을 먼저 본다. 초록 = 정상, 빨강 = 주의. 숫자를 자세히 읽지 않으면 심각도를 놓친다.
  • 0건일 때의 모호함: "아무것도 없음"인지, "진행 안 함"인지, "에러"인지 구분 안 된다.
  • 경고가 숨겨짐: 상단에 명시적 경고가 없으면, 스크롤했을 때 저조 상태를 놓치기 쉽다.

이건 단순 UI 개선처럼 보이지만, 실제로는 정보 계층 설계(information hierarchy)의 문제다. 중요도가 높은 상태(저조)가 시각적 우선순위에서 밀려나면 안 된다.

이번에 손본 부분

항목 이전 동작 이번 개선
저조 상태 숫자만 표시 상단 경고 추가
0건 표시 일반 0으로 표시 🈳 특수 기호로 구분
초록색 표시 저조해도 초록 가능 저조면 초록 금지

예를 들어 이런 식으로 변했다:

# 이전 로직 (simplified)
if count > 0:
    display_color = "green"

# 이번 개선
if has_low_status:
    display_color = "warn"  # 저조면 경고 색상 강제
    show_top_alert = True   # 상단에도 경고

if count == 0:
    display_symbol = "🈳"   # 0건 시각적 구분

배웠던 점들

1. 색상만으로는 부족하다
색맹이 있을 수 있고, 명도 대비가 약하면 색상이 제대로 전달 안 될 수도 있다. 그래서 "상단 경고"라는 텍스트/배치 신호를 겹쳤다. 중요한 정보는 여러 채널로 전달해야 한다.

2. 0은 단순한 숫자가 아니다
"없음(0)"은 정상이 될 수도 있고(의도적으로 비움), 문제가 될 수도 있다(데이터 누락). 특수 기호나 라벨로 명시하는 게 낫다.

3. 상태 변수가 여러 개일 땐 우선순위 규칙을 명확히 하자
초록색을 허용할지 말지, 경고를 어디에 띄울지 같은 규칙이 코드에 명시되지 않으면, 나중에 다른 사람이 수정할 때 일관성을 깬다. 이번에 "저조 있으면 초록 금지"라는 단순한 규칙을 박음으로써 앞으로 유지보수가 쉬워진다.

이런 식의 UI 개선은 "버그는 아니지만 사용성 문제"인 경우가 많은데, 우선순위를 높게 잡는 게 옳다. 왜냐면 코드는 개발자만 읽지만, UI는 모두가 읽으니까.


🛒 이 글과 어울리는 추천 상품

*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.

댓글 0

첫 댓글 달아줘.