승인 버튼을 없앤 날
같은 알림이 하루에 열아홉 번 왔다. 다섯 사람의 요청이었는데, 그중 한 사람 것은 아홉 번 반복됐다.
이벤트 참석자 명단은 계속 움직인다. 대기자가 확정을 기다리고 확정자가 취소하고 누가 대신 신청한다.
이걸 처리하는 봇(정해진 일을 대신 해 주는 자동 프로그램)을 만들면서 승인 단계를 넣었다. 봇이 요청을 감지하면 나에게 알림이 오고 내가 눌러야 실행된다. 자동으로 명단이 바뀌는 게 무서웠다.
하루에 열아홉 번
명단에 없는 사람이 취소하겠다고 쓴 경우가 있었다. 이미 취소했거나 애초에 신청을 안 했거나. 처리할 게 없는 요청이다. 그런데 처리할 게 없다는 판정이 승인을 눌러야만 실행되는 단계에 있었다. 내가 안 누르는 동안 봇은 계속 미처리로 보고 다시 알렸다.
거슬러 올라가 보니 더 이상한 게 있었다. 참석 추가와 취소는 승인 없이 처리하기로 원래 합의했던 일이었다. 코드가 그 합의를 안 따르고 있었다. 만들 때 불안해서 일단 걸어둔 임시 조치가 그대로 굳은 것이다.
다 걷어내진 않았다
취소만 두 갈래로 나눴다. 참석 취소합니다, 불참하게 되었습니다처럼 분명하게 밝힌 문장은 자동으로 처리한다. 못 가면 어떻게 되나요, 자리 양도 되나요 같은 문장은 자동으로 처리하지 않는다. 이건 질문이지 취소가 아니다.
이 구분이 왜 필요했냐면, 취소 관련 단어를 넓게 잡아 자동 처리하면 질문한 사람이 명단에서 빠지기 때문이다. 물어보기만 했는데 명단에서 빠지는 것보다 나쁜 경험은 별로 없다.
그래서 애매한 문장은 나에게 한 번만 알린다. 알림에 취소 처리와 무시 버튼이 붙어 있고 내가 결정해서 누른다. 한 번 알린 뒤엔 다시 알리지 않는다. 앞의 열아홉 번을 안 되풀이하려고.
다른 사람을 대신 명단에 넣는 경우에도 확인 단계를 두었다. 대상자 본인에게 확인을 받는다. 동의 없이 명단에 넣지 않는다.
승인을 붙일 데는 되돌리기 어려운 일과 결정이 필요한 일이다. 그 둘이 아닌데 승인을 붙이면 안전장치가 아니라 대기열이 된다. 대기열은 내가 바쁠수록 길어지고, 혼자 운영하면 요청이 기다리는 시간도 길어진다.
따라 해보기
내가 승인해야 진행되는 일을 목록으로 써보면 된다. 줄마다 되돌릴 수 있는지, 결정이 들어가는지 두 칸을 표시한다. 둘 다 아니오인 줄은 승인을 떼도 되는 일이다.