洪民憙 (홍민희) 블로그

왜 그 버튼은 폭을 줄이는 것조차 힘든가

원문 글 이후에 프로그래머 입장에서의 여러 변주가 있었는데, 나야 동감하지만 프로그래머가 아닌 사람도 저런 변주에 동감할까 하는 생각이 든다. 그래서 단순하고 거친 비유를 하나 들어볼까 한다.

어떤 플랫폼(iOS든, Android든) 위에서의 GUI 요소들이라는 것은 일종의 기성품 같은 것이다. 어떤 플랫폼은 완전히 조립되어 있는 가구처럼 되어 있기도 하고, 어떤 플랫폼은 IKEA 제품 수준으로 조립 가능하게 되어 있지만 그렇다고 해도 그러한 요소들은 어떻게 조립되어야 하는지에 대한 ‘의도’가 사전에 존재한다. IKEA에서 침대를 구입하면 오는 부품들을 조립하여 어떻게든 의자 모양이 나게 얹혀둘 수는 있겠지만 제대로 된 의자 기능을 하게 만들기는 상당히 어려울 것이다.

GUI 애플리케이션이라는 것은 디자이너 입장에서 보기와는 달리 조각 같은 것이라기 보다는 부품 공장에서 파는 기성품들 가운데 적절한 것들을 골라서 사온 다음 약간만 다듬어 조립하는 일에 가깝다. 기껏 사온 부품을 다른 모양을 내기 위해 나무를 깎기 시작하면 부품을 사온 의미가 사라진다. 내가 처음부터 통나무를 깎는 게 나을 정도로 비용이 올라가는 것이다.

자, 그렇다면 왜 그 버튼은 폭을 줄이는 것조차 힘든가? 여러분이 5.3인치 폭의 iPad mini를 고르거나 9.4인치 폭의 iPad Air를 고를 수는 있지만 7인치 폭의 iPad를 만들어내는 것은 힘든 것과 같은 이유에서 그렇다. 7인치 폭의 iPad가 필요하다면 나는 iPad를 분해해서 모든 것을 처음부터 다시 만들어야 한다. 5.3인치와 9.4인치 중에서 iPad를 골라 주문하면 받기까지 일주일이 채 안 걸리지만 7인치 폭의 iPad를 만들기 위해서는 일단 전자공학을 공부하기 위해 4년 이상의 기간을 예상해야 한다.

그래서 이 글의 결론이 무엇이냐 하면, 버튼 폭을 줄이라는 요구를 하지 말라는 것은 결코 아니고, 다만 디자이너에게도 다음의 경구는 유용하지 않겠냐는 것이다.

If you optimize everything, you will always be unhappy.

Donald E. Knuth