GUI : Mac vs. Windows


요샌 Android까지 가세를 했지만, 여전히 MS와 Apple이 OS를 만들 때, 고려하는게 세세하게 차이가 나고 그 세세한 차이가 사용감에 영향을 미치는 것을 본다. 종종 이런 것들은 지극히 직관적인 영역이라 누군가 “맥이 왜 더 좋은데?” 하면 그 순간 생각이 안나기도 한다. 하지만 그런 것을 사용하는 순간이 되면 “아! 이거였지!”하는 생각이 든다.
Apple의 제품을 좋아하는 사람들과 Windows나 Android를 좋아하는 사람들의 차이를 보면 그런데 있다. 세세하지만 중요한 차이를 보느냐 보지 못하느냐 하는 것 말이다. 그리고 후자는 물어봤을 때 기억이 안나 대답을 못하면 ‘몰라서 그런다’ 혹은 ‘아무 것도 아닌데 괜히 트집이다’라는 식의 태도를 보인다. 나는 Windows, Mac, Unix를 오랬동안 사용해 온 사람이고 각 플랫폼 위에서 프로그래밍을 해왔다. 지금도 Windows와  Mac에서 동시에 일하고 있다. 그러므로 나는 MS의 설계 방향이나 철학도 이해하고 Apple의 방식도 이해한다. 때론 어떤 게 더 좋다고 말하기 힘들다. 두 회사의 지향점이 다르기 때문이다. 하지만 그래도 선호하는 쪽은 있게 마련이다. 나도 사람이기에.

자, 한번 보자.
Mac과 Windows에서 언어 선택을 하는 화면이다.

language-selection-on-mac

Mac에서 언어 선택

windows-language-choice

Windows에서 언어 선택

차이점이 보이는가?
둘다 나는 영어로 GUI가 표시되게 하고 쓴다. 영어로 된 화면이 더 보기 편하고 프로그래머들끼리 소통하기 좋아서이다.
그런데 보자.
Mac에서 현재 영어로 화면이 보여진다. 그런데 설치된 언어를 보면 다음과 같이 되어 있다.

  1. English – English (US)
  2. 한국어 – Korean

반면 Windows에선 다음과 같이 되어 있다.

  1. English (United States)
  2. 한국어

둘 사이에 차이가 보이는가?
문제를 볼 수 있는가? 만약 당신이 이 둘 사이에서 문제를 볼 수 있다면 당신은 UI Experience에 감각이 있는 사람일게다.

Mac에서는 우선 해당 언어의 자체의 표기로 그 언어의 이름을 보여준다. 그리고 그 다음 줄엔 현재 GUI가 그려지는 언어(Primary 언어)로 그 언어가 어떤 것인지를 보여준다.
즉 “한국어 – Korean”에서 알 수 있는 것은 한글로 표현했을 때 한국어가 어떻게 표기되는지 그 이름을 한글로 보여주고, 그 다음 현재 OS의 언어로 그 언어가 어떻게 불리는지를 보여준다. 즉 Korean으로.

반면 Windows에선 해당 언어로만 각 언어의 이름을 보여준다.

혹시 아직 감이 안오는가?
자 여러분이 어떤 개발의 목적상 다른 언어, 즉 당신이 전혀 인지하지 못하는 언어, 예를 들면 스웨덴 어로 GUI를 표시하고 싶다고 하자. 그리고 당신은 현재 영어를 안다. 그리고 당신의 시스템은 영어로 표기되어 있다.
Mac에서는 스웨덴어는 ” <스웨덴 어로 표시한 ‘스웨덴 어’라는 명칭, 즉 Suomi>-Swedish”라는 식으로 표기되지만, Windows에선 “<스웨덴 어로 표시한 ‘스웨덴 어’라는 명칭, 즉 Suomi>”만 표기 된다.
여러분은 스웨덴 말로 스웨덴어를 Suomi라고 하는 것을 모른다. 더욱이 안타까운 것은 사우디어같은 거로 변환하고자 한다면 사우디어를 몰라도 글자 생김새가 아주 다르기 때문에 뭐가 사우디 어를 선택할 수 있는 것인지 알 수 있지만 라틴 알파벳에 기초한 나라들, 하지만 여러분이 생소한 나라의 것들은 문제가 된다.

즉 맥에선 Suomi – Swedish로 표기가 되어, Suomi를 몰라도 Swedish인 것은 파악이 되서 그걸 선택하면 되겠구나하지만, Windows에선 Suomi가 뭔지 모르니 어떤게 스웨덴 어인지 선택할 수가 없다.

Apple은 현재 사용자가 바꾸려고 하는 언어를 이해 못해도, 현재 표기어는 이해할 수 있다고 가정한다. 즉 둘 중의 하나만 이해하고 있으면 어떤 언어로 바꾸면 되는지 파악을 사용자가 할 수 있다.
하지만 MS는 바꾸려고 하는 언어를 이해하고 있다는 가정하에, 바꾸려고 하는 언어로 그 항목을 보여준다. 그러므로 사용자가 그 언어를 이해하는 경우만 뭘 선택해야 할지 알 수 있고, 그렇지 않은 경우는 낭패에 빠진다.

이게 별일이 아니라고 생각하는가?
실제 이런 일이 비일비재하게 발생한다.
내가 현재 개발하는 프로그램은 11가지의 언어를 지원한다. 한 표현을 다른 언어로 표현할 때, 그 길이가 달라지기 때문에 UI 요소들의 폭을 다르게 해야 할 필요가 있다.
그게 제대로 되었는지 확인하기 위해서 종종 그 언어로 시스템 언어를 바꾸고 확인한다.
그런데 그러고 나서 다시 내가 사용하는 언어로 바꾸고자 할 때, 맥에서는 아무런 문제가 없이 되돌릴 수 있지만 윈도우즈에선 그러지 못하다.

우리 사무실에 한문을 이해하는 사람은 나뿐이다.
미국인들이 이 로컬라이즈 문제를 할당 받으면, 이 문제에 봉착해서 나에게 어떤 걸 선택하면 좋냐고 물어 본다.

작은 차이, 하지만 큰 차이를 불러오는 UI적 요소이다.
이 차이를 아는 이들이 Mac의 UI를 만들었고, 그 차이를 모르는 이들이 Windows UI를 만들었다.
이런게 어디 이거 하나 뿐인가?

제품이 후져질 때…


솔직히 한마디 하자. 다들 제품을 좋고 멋지게 만드려고 한다. 근데 Xcode는 정반대인 거 같다. 물론 좋은 기능들이 많이 들어간 것도 안다. 근데 Xcode 3때나 Xcode 4 초창기엔, 이런 아이콘들이 참 예쁘고 멋지고, 무엇보다도 무슨 기능을 하는 것인지 알 수있는 디자인으로 되어 있었다. 근데 이게 뭐냐…

Xcode art work