한 개발자가 자유 소프트웨어를 만들기 위해 자리에 앉습니다. 실력은 있습니다. 프로그램이 원하는 대로 작동하도록 만드는 방법도 알고 있죠. 하지만 사용자 인터페이스(UI) 디자인 경험은 없고, 부족한 부분을 메워줄 팀원들도 없습니다. 괜찮습니다. 순수한 열정으로 작업하는 것이니, 할 수 있는 만큼 최선을 다해 결과물을 완성합니다.
몇 년 후, 여러분은 컴퓨터 앞에 앉아 리눅스 운영체제의 앱 스토어에서 프로그램 하나를 내려받습니다. 설명에는 필요한 기능을 수행할 수 있다고 나와 있습니다. 설치 버튼을 누르고, 비밀번호를 입력하고, 새 앱이 기존 앱들 사이에 나타나는 것을 지켜봅니다.
그런데 가장 먼저 눈에 들어오는 것은, 이 앱의 아이콘이 다른 아이콘들과 어울리지 않는다는 점입니다. 그래도 클릭해 봅니다. 프로그램만 제 역할을 해준다면 아이콘 정도는 눈감아 줄 수 있으니까요. 그런데 마음이 가라앉습니다. 앱의 인터페이스마저 주변과 전혀 어울리지 않는 모습입니다. 더 심각한 문제는, 도대체 어떻게 사용해야 하는지 알 수 없다는 것입니다!
바로 이런 문제 때문에 데스크톱에는 휴먼 인터페이스 지침(Human Interface Guidelines, HIG)이 존재합니다. Windows, macOS, iOS, Android 모두 이러한 지침을 갖추고 있으며, 리눅스 역시 예외가 아닙니다.
휴먼 인터페이스 지침(HIG)이란 무엇인가?
휴먼 인터페이스 지침(HIG)은 앱 개발자에게 특정 인터페이스에 자연스럽게 어울리는 소프트웨어를 만드는 방법과 사용자에게 편안한 경험을 제공하는 방법을 알려주는 지침이자 표준입니다. 버튼 사이의 간격은 얼마나 띄워야 하는지, 아이콘은 얼마나 크게 만들어야 하는지, 메뉴 항목은 어떤 순서로 배치하는 것이 적절한지 등을 구체적으로 안내합니다.
프로젝트들이 이러한 지침을 잘 따른다면, 한 앱에서 다른 앱으로 이동할 때마다 비슷한 느낌의 경험을 만나게 됩니다. 여기서 끝이 아닙니다. 하나의 프로그램 사용법을 익혀두면, 다음 프로그램도 큰 어려움 없이 사용할 수 있습니다.
이러한 지침은 개발자와 사용자 모두에게 중요합니다. 다행히도 리눅스에서 가장 인기 있는 데스크톱 환경 몇 곳은 자체적인 HIG를 갖추고 있습니다.
HIG를 갖춘 리눅스 데스크톱 환경
휴먼 인터페이스 지침은 데스크톱 인터페이스 자체보다 앱과 더 깊은 관련이 있습니다. 그렇기 때문에 자체 앱 모음을 함께 제공하는 데스크톱 환경일수록 개발자를 위한 권장 사항을 마련해 두는 경우가 많습니다. 대표적인 사례를 살펴보겠습니다.
GNOME
GNOME의 HIG는 이 데스크톱 환경이 리눅스 데스크톱에 남긴 성과 중 가장 큰 것으로 손꼽힙니다. 대부분의 리눅스 소프트웨어가 사용하기 어렵거나 들쭉날쭉했던 시절, GNOME 창시자들은 다른 길을 개척했습니다. 소프트웨어는 누구나 쉽게 파악할 수 있어야 하며, 컴퓨터에 설치된 다른 프로그램들과 비슷한 느낌을 주어야 한다고 프로젝트는 주장했습니다. 그 결과, 수많은 앱이 GNOME에서 자연스럽게 어우러지는 모습을 보여줍니다.
물론 지난 10년간 이러한 일관성은 다소 흔들리기도 했습니다. GNOME이 다른 대부분의 데스크톱과 차별화된 디자인을 추구하면서, GNOME에 잘 맞는 앱은 다른 환경에서는 돋보이기 쉽고 그 반대도 마찬가지입니다. 하지만 GNOME 전용으로 설계된 앱만 고집한다면, 리눅스 데스크톱이 제공하는 가장 직관적이고 통합된 경험 중 하나를 누릴 수 있습니다.
KDE
KDE의 HIG는 데스크톱 자체와 매우 흡사합니다. KDE 커뮤니티의 Plasma 데스크톱은 어느 운영체제의 인터페이스보다도 높은 수준의 커스터마이징을 자랑합니다. 사용자가 소프트웨어를 원하는 대로 자유롭게 바꿀 수 있듯이, 개발자 역시 상당한 자유를 누립니다.
KDE는 '기본적으로는 단순하게, 필요할 때는 강력하게(simple by default, powerful when needed)'라는 철학을 추구합니다. 미디어 플레이어에서 음악을 관리하거나 사진 관리자에서 이미지를 볼 때는 도구 모음의 버튼만으로 충분하지만, 메뉴 모음 안에는 방대한 옵션이 숨겨져 있을 수 있다는 뜻입니다. KDE용으로 설계된 대부분의 소프트웨어는 도구 모음을 이동하거나 버튼을 추가하는 등 화면에 표시되는 컨트롤을 자유롭게 변경할 수 있게 해줍니다. Plasma 데스크톱이 보여주듯, 일관성이 곧 단조롭고 기본적인 수준을 의미하는 것은 아닙니다.
Elementary OS
Elementary OS는 다른 대부분의 리눅스 운영체제와 결이 다릅니다. 자체 Pantheon 데스크톱 환경을 탑재하고 있으며, 다른 환경으로 교체할 수는 있지만 그렇게 하면 Elementary OS를 쓰는 의미가 사라집니다. 디자인야말로 Elementary 팀이 자유·오픈소스 생태계에 남긴 가장 큰 기여라고 할 수 있습니다.
그래서인지 Elementary의 HIG는 프로젝트의 핵심 축을 이룹니다. 해당 문서는 읽고 참고하기 쉽게 작성되었으며, 인터페이스의 거의 모든 요소를 다루고 풍부한 예시까지 담고 있습니다. 개발자라면 특히 주목할 필요가 있습니다. Elementary 팀과 사용자들은 다른 리눅스 커뮤니티보다 비일관성에 훨씬 민감하게 반응하는 편이기 때문입니다.
그 밖의 데스크톱 환경은 어떠한가?
자원봉사자들이 운영하는 프로젝트이다 보니, 상세한 HIG를 작성해 줄 사람을 구하지 못한 경우도 있습니다. 동시에 '데스크톱 환경'이라는 개념이 프로젝트마다 다르게 정의되기도 합니다. 앞서 소개한 프로젝트들은 데스크톱 환경을 컴퓨터를 켜는 순간부터 화면에 보이는 모든 것, 즉 대부분의 앱까지 포괄하는 완전한 경험으로 간주합니다.
반면 어떤 프로젝트는 자신들의 결과물을 데스크톱 인터페이스 혹은 창 관리자(window manager)로 여깁니다. 패널, 애플릿, 창 전환 기능은 제공하지만, 앱을 직접 만드는 일은 하지 않는 것이죠. 이들은 리눅스용으로 이미 존재하는 소프트웨어를 실행할 수단을 제공할 뿐, 통합성은 상대적으로 덜 중요하게 생각합니다. 어차피 많은 사람들이 Windows에 익숙한데, Microsoft가 HIG를 갖고 있음에도 불구하고 Windows 앱들의 일관성은 높지 않습니다. 모든 앱이 똑같은 느낌이기를 바라는 사람만 있는 것도 아니고요.
당신은 좋아하는 데스크톱과 어떻게 교류하고 있나요?
저는 앱마다 일관된 외관과 조작감을 갖추기를 선호합니다. 사실 제가 당시 리눅스를 접하고 큰 매력을 느꼈던 이유 중 하나가 바로 이것이었습니다. 일관된 경험을 원한다면 Mac을 살 수밖에 없다고 생각했던 저에게, GNOME과 KDE는 Apple만이 통합형 데스크톱을 제공하는 것이 아니라는 사실을 보여주었습니다.
그 당시에는 Elementary OS가 아직 존재하지 않았고, 출시 후 몇 년이 지나서야 직접 사용해 보게 되었습니다. 이 팀이 데스크톱의 이러한 측면에 기울이는 세심한 주의력은 정말 최고 수준입니다.
비교를 위해 Microsoft, Apple, Google의 휴먼 인터페이스 지침을 소개합니다:
휴먼 인터페이스 지침에 대해 어떻게 생각하시나요? 시각적인 비일관성이 거슬리시나요? 복잡하게 얽힌 디자인은 어떤가요? 아니면 모든 것이 무덤덤하신가요? 아래 댓글로 여러분의 생각을 들려주세요.