오픈데이 Openday TIL 9
이 앱을 실제로 쓰는 사람이 「이번 달에 뭘 몇 번 했는지」 보고 싶다고 했다. 그래서 기록실에 한 달·한 해를 돌아보는 자리를 만들자고 했다. 그걸 만들면서 요청을 어디까지 곧이곧대로 읽어야 하는지를 몇 번 다시 봤다.
첫 판에는 「응대 19건」만 있었다
첫 판을 보고 아니라고 했다. 업무별로 세어서 「응대 19건」이 나왔는데, 쓰는 사람이 알고 싶은 건 전화가 몇 건이고 이메일이 몇 건인가였다.
이 앱은 업무 아래에 하위 업무를 둘 수 있다. 「응대」 아래 전화·이메일·홈페이지가 있고 각각 도장을 찍는다. 집계는 그걸 상위 하나로 더해 놓고 있었다.
- 「몇 번 했나」라는 같은 말이 사람마다 다른 층을 가리킨다. 만드는 쪽은 목록에 보이는 줄 단위로 세고, 쓰는 쪽은 실제로 손이 간 단위로 센다
- 합계는 아래 항목을 지운다. 지워진 것이 정작 물어본 것일 수 있다
- 요청을 전할 때 「무엇을」이 어느 층인지까지 전했어야 했다. 안 전하면 만드는 쪽 층으로 정해진다
뭔가 불편하다고만 말할 수 있었다
같은 첫 판을 보면서 뭔가 불편하다고 했다. 무엇이 불편한지는 나도 몰랐다.
선택지를 받아 둘을 골랐다. 달력과 자리를 다툰다, 기간을 못 고른다. 고르고 나니 불편함이 고칠 수 있는 문제 둘로 나뉘었다.
- 불편하다는 감각은 맞는데 이유가 안 잡힐 때가 있다. 그때는 후보를 펼쳐 놓고 고르는 편이 빠르다
- 고른 이유는 그대로 다음 두 절이 됐다
비어 있는 자리는 공짜가 아니었다
앞엣것부터. 집계를 「날짜를 안 고른 동안」에만 세워 뒀었다. 달력 아래 상세 칸이 그때 비어 있으니 공짜 자리로 보였던 것이다.
실제로는 그날 기록을 보다가 집계로 돌아가려면 선택을 풀어야 했다. 두 내용이 한 자리를 나눠 쓰고 있었다.
- 비어 있는 자리는 남는 자리가 아니라 그 화면의 기본 상태다. 무언가를 거기 넣으면 기본 상태를 바꾸는 것이다
- 「지금 비어 있으니 여기 두자」는 자리를 고르는 근거가 못 된다. 그 자리가 무엇의 기본인지 먼저 봐야 한다
- 되돌아가는 버튼을 붙이는 것으로는 안 풀렸다. 다투는 자리를 그대로 두고 이동 수단만 늘린 셈이라, 둘 다 늘 보이게 하는 것이 답이었다
「기간 내」라는 한 마디가 조회 구조를 바꿨다
뒤엣것. 쓰는 사람의 말을 전하면서 「전화 응대가 기간 내 몇 건」이라고 했다. 그때는 달과 해만 고를 수 있었다.
「기간」은 달·해와 다른 말이다. 이번 주도, 3월부터 8월까지도 기간이다.
저장소는 날짜 앞부분으로 기록을 걸러 오고 있었다. '2026-09'를 주면 그 달, '2026'을 주면 그 해가 나온다. 편해 보였는데 이 방식으로는 「3월~8월」을 아예 표현할 수가 없다. 시작과 끝을 받는 범위 조회로 바꿨다.
- 접두사로 거르는 방식은 「그 아래 전부」만 표현한다. 범위가 필요해지는 순간 못 쓴다
- 지금 필요한 것에 딱 맞는 방식을 고르면 대개 이렇게 된다. 그 방식이 무엇을 표현할 수 없는지를 같이 보면 한 단계 넓은 것이 보인다
- 이 경우엔 넓히는 값이 거의 0이었다. 날짜가
2026-09-05같은 글자라 글자 비교가 곧 날짜 비교여서, 범위 조회 하나로 달력 한 달도 같이 읽혔다
결과를 3초 세워 둔 이유는 둘이었다
드라이브와 맞추는 동안 화면을 덮어서 기다리게 하자고 했다. 다 맞추고 나면 결과를 3초 보여주고 사라지게 했다.
첫째 이유는 확인이다. 바꿀 게 없으면 맞추기가 순식간에 끝나는데, 덮개가 깜빡이고 사라지면 맞춰진 건지 아무 일도 안 일어난 건지 알 수가 없다. 결과가 잠깐 서 있어야 「됐다」가 전해진다.
둘째 이유는 그림이다. 상태마다 쓸 강아지 그림을 골라 넘겼는데 — 맞추는 중은 물음표, 다 맞춤은 하트 풍선, 못 맞춤은 으르렁 — 그게 귀여워서 보여주고 싶었다.
- 둘째 이유를 빼고 적으면 절반만 적는 것이 된다. 실제로는 그것도 결정에 들어갔다
- 다만 그 마음이 사용자에게 값을 주는 자리인지는 따로 본다. 여기서는 맞았다. 하루에 몇 번 만나는 짧은 순간이고, 안 보고 싶으면 눌러서 넘길 수 있다
- 값을 안 주는 자리였으면 「내가 보여주고 싶다」는 이유만으로는 부족하다. 쓰는 사람이 매번 지나야 하는 단계가 되기 때문이다