"조심스러운 도구가 확신이 안 설 때 할 수 있는 제일 좋은 일은 아무것도 안 하는 거야. 대신 결과는 손에 쥐여주고."
거부하는 게 곧 기능이야
이 트랙의 모든 확인엔 실패했을 때 가는 길이 있고, 전부 같은 자리로 이어져. 클립보드. 그 자리가 내가 뜻한 자리라고 확인이 안 되면 Flint 는 안 넣어. 네이티브로 다시 읽은 게 안 맞거나, 불투명한 데서 다시 꺼낸 글이 다르거나, 창이 바뀌었거나. 바뀐 글을 클립보드에 올려놓고 알려주지. 확인 안 된 자리에 붙여넣기를 거부하는 건 Flint 가 미안해할 한계가 아니라, 삽입 층이 하는 제일 중요한 일이야. 한 번도 거부 안 하는 확인은 확인이 아니거든.
되돌릴 수 있는 게 되돌릴 수 없는 걸 이겨
계산은 전부 '되돌릴 수 있느냐' 에 걸려 있어. Flint 가 짐작으로 엉뚱한 데 붙이면 피해가 되돌릴 수 없을 수 있어. 내 글이 채팅에 올라가버리거나, 엉뚱한 내용이 깔끔하게 되돌릴 방법도 없이 덮어써지거나. 반대로 Flint 가 사양하고 결과를 클립보드에 올려두면 최악이라 봐야 약간 번거로운 정도야. 내가 직접, 키 한 번으로, 진짜 원하는 자리에 붙이면 되니까. 드물게 벌어지는 참사랑 일상적인 잔손질 중에선 매번 잔손질을 고르는 거지. 시간이 벌어진 뒤엔 편한 것보다 안전한 게 먼저야. 언제나.
네이티브 확인됨? -- 예 --> 접근성으로 곧장 교체 (제일 좋음)
| 아니오
불투명 확인됨? -- 예 --> 붙여넣어 교체 (괜찮음)
| 아니오
---------> 클립보드 + 알림 (안전한 길)
확인 못 한 길은 전부 같은 안전한 자리로 떨어진다. 확인 못 한
자리에 넣는 갈래는 아예 없다.
조용히 실패하지 말고 말해줘
이 길은 사용자가 그런 줄 알아야만 굴러가. 아무 신호도 없이 결과가 조용히 클립보드에 앉아 있으면 사용자한텐 친 게 아무 일도 안 한 것처럼 느껴지거든. 설계 전체가 막으려던 바로 그 '이거 고장 났네' 인상이지. 그래서 이 길은 눈에 보여야 해. 짧은 알림이 결과가 클립보드에 있으니 붙이면 된다고 말해주는 거야. 그러면 사용자가 무슨 일이 있었는지 알아. '안전하게 못 바꾸겠으니 글을 손에 쥐여줬구나' 하고, 다음에 뭘 할지도 알고. 보이는 물러남은 설계대로 도는 기능이고, 조용한 물러남은 버그랑 구별이 안 돼.