이 문제는 관심 없는 분께는 "그런 거 따져서 뭐 해?" 싶을 정도로 세세한 이야기지만, 바로 이런 세세한 점에서 결판이 나는 것이 사용자 인터페이스라고 생각합니다. 마치 일반 Windows 유저는 모르는 MacOS의 세심함처럼 말이죠.(이 논쟁은 여기서 논할 대상이 아니니 반론은 자제를...)
이 제안과 관련하여 Apple에서 발행했던 Macintosh Human Interface Guidelines(System X 시절의 가이드라인입니다.)에 기술된 부분을 인용해 보겠습니다.
사용자는 전형적으로 대화상자에 응답하기 위해 대화상자내의 텍스트에 익숙해질 때까지 텍스트를 읽고, 그후에 시각적으로 표시에 의존하게 된다. Save, Quit, Erase Disk와 같은 이름은 사용자가 재빨리 버튼을 확인하고 정확하게 클릭할 수 있도록 해준다. 이들 단어들은 종종 OK, Yes 및 No 등과 같은 이름보다 분명하고 정확하다. 동작이 한두 단어로 압축될 수 없을 경우는 OK와 Cancel 혹은 Yes와 No가 그 목적에 더 적합할 것이다.
위 기술은 do나 ok처럼 일반화된 버튼명보다는 동작에 특화된 단어를 버튼명으로 사용하라고 권하고 있습니다. 부득이 여러 행동을 하나로 묶어 한 버튼으로 명령해야 하는 경우에만 OK 버튼을 사용하라고 하라는 것이지요.
일모리님께서 말씀하시는 "버튼명에서 야기되는 혼란의 이유"가 이런 복수명령을 Save라는 명령 하나로 처리하고 있기 때문입니다. 간단히 말해서 Syndicate 때문입니다.
1. in private status.
- Save
2. in protected status.
- Save
3. in public status.
- Save
전부 말이 됩니다. 즉, "비공개|공개|보호" 상태일 때는 "Save"라는 버튼명에 문제가 없다는 거죠.
그러면 syndicate의 경우는 어떨까요? 정확히 말하면, "비공개|공개|보호"와 "발행(Syndicate)"은 병렬될 수 없습니다. "비공개|공개(발행)|공개(비발행)|보호"가 있을 뿐이죠. 즉, syndicate는 public의 하위 상태일 뿐입니다. 이 점을 상기하고 목록을 재작성하면 다음과 같습니다.
1. in private status.
- Save
2. in protected status.
- Save
3. in public status.
- Save
4. in public status.
- Syndicate
즉, 4번의 경우에는 버튼명에 Save를 사용하면 3과 의미가 겹치기 때문에 올바른 표현이 되지 않습니다. 그래서 Syndicate라는 버튼명을 사용해야만 합니다. 일모리님이 느끼는 어색함은 바로 이 4의 경우에도 "Save" 버튼을 사용하고 있기 때문이라고 생각합니다. 4를 고쳐서 5처럼 표현해도 마찬가지입니다.
5. in syndicated status.
- Save
결국 in syndicated status는 in public status의 하위이기 때문에
5. in syndicated status. → in public status.(syndicated가 public의 부분집합이므로)
- Save
즉, 3번과 표현이 겹치게 됩니다. 따라서 4를 명확히 표현해 주기 위해서는 Syndicate라는 동사를 사용할 수밖에 없습니다.
그런데, 이 경우는 동시에 일어나는 복수명령을 한 버튼으로 처리할 때는 OK를 사용하라는 Apple의 지침과는 상관이 없습니다. 여러가지 명령을 동시에 내리는 것이 아니고 여러종류의 명령이 존재할 뿐이니까요. 그러므로 이 문제의 해결을 위해 OK로 버튼명을 통일한다면 얻는 것보다 잃는 것이 더 많다고 생각합니다.
따라서 글쓰기의 저장버튼에는 상황에 따라 "Save"와 "Syndicate" 두 가지 중 하나를 버튼명으로 골라 쓰는 것이 좋다고 생각합니다.
graphittie (2006-06-29 08:37:18)에 의해 마지막으로 수정