사용자 인터페이스: Windows 창 관리

 

우리는 이제 컴퓨터를 부팅했고, 화면에 내용들을 보여주었고, 프로그램을 시작했으니까, 다음 단계로는 그래픽 사용자 인터페이스의 핵심 역할이라 할 수 있는 꽤 복잡한 주제인 창 관리에 대해 살펴보겠습니다.  Dave Matthews는 핵심 사용자 경험 팀의 프로그램 관리자로 Windows 7을 만드는 데 관련된 데이터와 의견을 제공해줄 것입니다.  –Steven

Windows 제품 군은 단순히 “창” (관련된 정보와 제어를 화면에 정리해주는 UI 개념)이라는 이름에서 유래했습니다. 이 글에서 우리는 잘 정립된UI 기능을 업데이트하기 위한 계획 뒤에 있는 근본 생각과 “프로그램 관리자(PM) 철학”에 대하여 다루겠습니다.

UI를 구성하는 데 창을 사용하는 기본적인 생각은 새로운 것이 아닙니다. 제가 알기로는 그래픽 사용자 인터페이스에 대한 첫 실험은 Standford 대학에서 40년 전에 일어났습니다. 이것이 그 후로 아직까지 사용되고 있는 것은, 창이 내용을 보여주기에 유용한 방법이고 사용자들이 화면 공간을 어떻게 사용할지 직접 제어하기 좋아하기 때문입니다.  “이동 가능한 창” 기능은 운영 체제에서 절대적으로 필요하지는 않습니다. 대부분의 휴대 전화와 미디어 센터 종류의 장치들은 한 번에 한 페이지의 UI 만 보여줍니다. 그러나 창은 동시에 두 개 이상의 응용 프로그램에서 작업하거나 멀티 태스킹을 할 때 유용합니다.  Windows 2.0은 이동 가능한 겹치는 창을 허용한 첫번째 Windows 릴리스였습니다. Windows 1.0에서는 창을 타일 형식으로만 할 수 있었고 겹칠 수는 없었습니다.  “타일 대 겹치기” 사이의 논쟁에는 유명한 지지자가 양 쪽에 등장하는데 한 쪽은 Bill Gates이고 다른 한 쪽은 Charles Simonyi입니다.  또한 Windows에는 "다중 문서 인터페이스” 또는 MDI라는 고유한 개념이 있어서, 한 창틀 안의 창 안에 여러 개의 창을 정리할 수 있게 허용해 줍니다. 이것은 어떤 면에서 웹 브라우저에서 많이 쓰이는 탭 인터페이스의 선조라고 할 수 있습니다.

참고로, Windows 프로젝트 초기의 “타일 대 겹치기” 대화에 수반된 초기 논쟁 중의 하나는 메뉴 바 하나를 화면 상단에 놓을지, 아니면 메뉴 바를 각 창, 문서 또는 응용 프로그램마다 복사해 놓을지에 관한 것이었습니다. 옛날에는 이것이 큰 논쟁 거리였는데 왜냐하면 화면 해상도 (VGA, 640x480)가 제한되어 있어서 메뉴 바가 중복되는 게 자리를 많이 차지했기 때문입니다. 오늘날 같은 커다란 크기의 모니터에서 이러한 중복은 오히려 더 좋은데, 왜냐하면 마우스로 UI 컴포넌트로 이동하거나 아니면 그냥 눈으로 컴포넌트를 식별하는 데 있어 훨씬 덜 움직여도 되기 때문입니다. 한 번 생각해 보십시오!


Windows 2.0에서 Vista에 이르기까지

제가 담당해온 부분은 시스템의 “창 관리” 부분으로, 특별히 화면에서 창을 움직이고 배열하는 것과 관련된 기능들입니다. 이것은 창에서 도구 모음이나alt 탭 같은 컨트롤을 바꾸는 것과는 다르지만 밀접하게 관련되어 있습니다.  일반적으로 사용자들은 창을 움직이고 크기를 조정하고 최대화하고 최소화하고 닫을 수 있기를 기대합니다. 그리고 현재 사용 중인 창을 가장 위에 놓아둔 채로 창을 자유자재로 배열하고 겹칠 수 있기를 기대합니다. 이러한 변환 및 보조 도구들 즉 제목 단추, 크기 조정 도구 등은 사용자들이 각자의 기호에 따라 작업 공간을 배열하고 정리할 수 있는 기본 기능을 제공합니다. 

이 같은 기능 영역을 개선하기 위해서 우리는 현재의 시스템을 자세히 살펴봄으로써 지금 무엇이 있고, 무엇이 잘 되는가를 파악합니다. 이것은 현재 시장에서 ISV들이 사용하는 방법, 그리고 사용자가 이해하고 사용하는 방법을 살펴보는 것입니다.

제목 단추는 최소화, 최대화, 닫기를 쉽게 제공하는 방법입니다. 크기 조정이 가능한 창은 네 변에서 아무데서나 조정할 수 있습니다.

실제 세계 사용에 관한 데이터

이전에 도구 모음에 관한 글에서 말했던 것처럼 사람들은 한 세션 안에 평균적으로 6개에서 9개의 창까지 열어 놓습니다. 그러나 사용자 데이터를 보면 대부분의 시간에 화면에는 한 개나 두 개의 창만을 실제로 보이게 해놓고 있습니다. 흔히 여러 개의 열린 창들 사이를 왔다갔다하지만, 한 번에 보이게 해 놓는 창은 얼마 되지 않습니다.


Windows 피드백 패널 데이터

저희는 계획 단계의 일부로 사람들이 창들을 움직이고 크기를 조정하는데 어떻게 시간과 노력을 사용하는지 살펴 보았습니다. 그 결과로 저희는 현재 시스템에서 어떤 부분이 잘 동작하고 어떤 부분이 개선되어야 하는지 이해했습니다.

예를 들어, 우리는 창 하나의 작업 공간을 최적화하면서도 다른 창들로 전환하기가 쉽기 때문에 최대화가 많이 사용되는기능이라는 것을 알고 있습니다. 사용자들은 그 개념에 대해 반응하고 이해합니다. 사용자들은 대부분 하나의 창에만 집중하기 때문에 이 기능이 매우 자주 사용됩니다. 사용자들은 많은 응용 프로그램들에서 한 픽셀이라도 더 요구하며 (예를 들어 스프레드시트에서는 픽셀을 몇 개만 더 늘이면 여러 행이 더 생김), 그래서 매일 생산성을 위해서도 최대화 기능을 넘어 “전체 화면”이 자주 쓰입니다.

가장 최근에는도구 모음에 대한 글의 댓글에서도 같은 내용이 있었지만, 저희가Vista의 최대화에 관해서 들은 문제점은 창이 최대화되었을 때 창과 도구 모음이 어두워지기 때문에 사용자 정의된 투명 효과 색상이 눈에 잘 띄지 않는다는 것입니다. Vista에서는 투명 효과 색상을 사용자 정의할 수 있고 29%의 세션에서 사용자 정의 색상이 설정됩니다. 어두운 색상은 창이 특별히 최대화된 상태에 있다는 것을 확실히 표현해주기 위해 사용되었습니다. 이것은 사용자가 창이 최대화되었다는 것을 알지 못하고 움직이려고 노력하면 아무 일도 일어나지 않을 것이고, 그러면 좌절과 혼란을 느낄 수 있기 때문에 중요한 일이었습니다. Windows 7에서 저희는 다른 방법을 선택하여, 사용자 정의된 색상이 창이 최대화되었을 때도 보일 수 있게 했습니다.

흥미롭게도, 사용자가 한 번에 창을 하나만 사용할 때도 창을 항상 최대화하지는 않습니다. 저희가 믿기에 중요한 이유 중의 하나는, 텍스트 문서가 대부분 창이 너무 넓지 않을 때 더 읽기 편하다는 것입니다. 전자 메일에서 한 문장이 화면에서 20인치가 넘도록 길어지는 와이드 모니터에서 최대화 개념은 덜 유용합니다. 4인치 또는 5인치 정도가 텍스트를 읽기에는 더 편하기 마련입니다. 이것은 큰 데스크톱 모니터가 더 흔해지고, 와이드 모니터가 랩톱에서도 인기를 얻어가고 있기 때문에 더욱 중요합니다. Windows에는 읽기를 위해 디자인된 최대화 모드가 없기 때문에, 사용자들은 창을 너비를 조금만 늘리고 높이를 최대한으로 하도록 수동으로 조절합니다. 이것은 시스템이 현재 하드웨어의 시나리오에 맞게 최적화되지 않았기 때문에, 문서 읽기와 같은 흔한 작업이 창 크기를 과대하게 조정해야 하는 분야 중의 하나입니다.

해상도 데이터는 와이드 화상비 모니터가 표준이 될 것임을 암시한다.

창 두 개를 나란히 볼 수 있는 것 또한 매우 흔한 요구 사항입니다. 사용자는 문서를 비교하기, 한 문서에서 다른 문서를 참조하기, 한 문서나 폴더에서 다른 곳으로 복사하기 등 다양한 이유에서 이러한 기능을 요구합니다. 창 두 개를 나란히 놓기 위해서는, 즉 두 개의 창이 각각 화면의 절반이 되게 위치를 바꾸고 조정하기 위해서는 마우스를 여러 번 움직여야 합니다. 이런 것은 두 응용 프로그램에서 종종 볼 수 있는데, 예를 들어 워드 프로세서에서 한 문서를 휴대용 독자 형식으로도 열어서 같은 문서를 비교하는 것입니다. 

이러한 설정이 동시에 두 개 이상의 창을 사용하는데 최적화되어 있기 때문에, 여러 개의 모니터를 사용하는 사용자들은 작업의 효율성이 일반적으로 증가됩니다. 예를 들어, 화면 공간을 효율적으로 사용하기 위해 각 모니터에서 창을 쉽게 최대화 할 수 있습니다.  멀티 태스킹에 대한 Microsoft 연구 조사에 따르면, 여러 개의 모니터를 가진 참가자들은 도구 모음을 사용하기 보다는 창을 직접 클릭하여 창들을 전환할 수 있었는데, 이것은 사용자가 전환하려는 창이 이미 보이고 있었음을 의미합니다. 그리고 흥미롭게도 창들 사이의 전체 전환 숫자가 더 낮았습니다. 작업 효율성 면에서는 클릭을 최소화하는 게 가장 좋습니다.  


MSR 연구 보고서

모니터가 하나인 컴퓨터가 멀티 모니터인 컴퓨터보다 더 흔하지만, 창 관리 기능은 모니터 하나에서 여러 개의 창들을 동시에 보는데 최적화되어 있지 않습니다. 도구 모음은 타일, 겹치기, 또는 나란히 놓기를 위한 문맥 메뉴 옵션을 가지고 있지만 우리는 그것이 잘 이해되거나 널리 사용된다고 생각하지 않는데, 그래서 대부분의 사용자들은 두 창을 나란히 놓고 보고 싶을 때마다 창들을 수동으로 크기를 조정하고 이동하게 됩니다.

여러 개의 창을 사용하는 흥미로운 시나리오는 창 중의 하나가 실제로 바탕 화면일 때입니다. 바탕 화면은 중요하거나 최근의 파일을 위한 저장 폴더로 아직도 많이 사용되고 있고, 우리는 사용자들이 바탕 화면과 검색 창, 전자 메일, 또는 문서 사이에서 매우 종종 끌어서 놓기해야 할 필요가 있다고 믿습니다. “바탕 화면 보기” 기능은 바탕 화면을 빠르게 액세스하게 해주지만, 또한 사용자가 사용하려고 하는 창도 가립니다. 이것은 사용자가 원래의 창을 찾아서 돌아가거나, 바탕 화면 보기 기능을 회피하고 모든 것을 수동으로 최소화해야 한다는 것을 의미합니다. 사용자가 간단한 작업을 마치기 위해서 창을 관리하는데 많은 시간과 노력을 들여야 하는 시나리오를 보는 것은 매우 흥미 있는 시나리오입니다. 우리의 분석에 따르면 이 같은 경험은 복잡한 단계들을 반복해서 해야 할 때 나타납니다. 이것이 공통된 오류인지 아니면 사용자들이 다단계의 작업을 하려는 건지 알아보려면 더 연구가 필요합니다.

디자인의진화

창 관리 시스템의 성공적인 디자인을 찾기 위해 우리는 어떤 것이 사용자들이 가장 생산적이게 도울 수 있는 것인지 보기 위해 여러 가지 방향들을 탐구합니다. 우리는 극단적인 멀티 태스킹 에서부터 단일 항목에 집중하는 것까지 다양한 경우에 적합하면서도 대부분의 사용에 최적화된 해답을 찾습니다. 우리는 많은 수의 다른 창들을 사용할 때 (특히 창들이 관련된 세트끼리 모여서 있을 때) 도움이 되는 가상 바탕 화면이나, (Visual Studio 같은 고급 응용 프로그램에서 볼 수 있는) 공간을 효율적으로 배열하는데 도움이 되는 도킹 팔레트 같은 기존의 방법들을 알아봅니다. 그리고 우리는 사용하려는 시나리오들에 맞게 적합화된 새로운 해법들도 알아봅니다.

우리는 또 시스템이 지원해야 하는 다양한 응용 프로그램들도 고려해야만 합니다. SDI (단일 문서 인터페이스) 응용 프로그램은 운영 체제가 제공하는 창 관리 기능에 많이 의존하는 반면, MDI (다중 문서 인터페이스) 응용 프로그램은 창 관리 제어를 일부 스스로 제공합니다. 탭이 있는UI는 MDI 응용 프로그램에서 점점 인기 있는 방법입니다. 그리고 일부 응용 프로그램들은 사용자 정의된 외관이나 행동을 보여주기 위해 고유의 창 크기 조정과 제목 제어를 제공합니다. 이러한 모든 접근 방법들이 가치가 있으며, 시스템에 어떤 변화를 주던 다른 응용 프로그램 스타일들을 모두 고려해야 합니다.

Windows 7을 위한 우리의 목표는 공통 작업들을 수행하는데 필요한 클릭과 정확한 움직임의 횟수를 줄이는 것입니다. 우리는 고객들로부터 받은 데이터와 피드백에 근거하여, 디자인을 고려하는데 중요한 많은 수의 시나리오들을 선정했습니다. 우리가 이야기하는 모든 디자인에서와 마찬가지로, 공통적인 사용 시나리오들을 먼저 고려하고, 가장 널리 사용되는 사용 패턴에 대해 명확한 결정을 하고, 새로운 “잘 정의되지 않은 요구들”에 주의를 기울이고, 또한 우리의 “제어 중” 철학을 확실히 유지하는 것이 중요합니다. 상위에 오른 시나리오들의 일부는 다음을 포함합니다:

  • 최소한의 설정으로 동시에 두 창을 효율적으로 볼 수 있다.
  • 최대 길이 및 읽기에 편안한 너비로 문서를 간단하게 본다.
  • 데스크톱에서 창을 빠르고 쉽게 본다.
  • 가장 흔한 작업에 가장 적은 노력이 든다. 창을 빠르게 최대화하거나 복구하는 데 최소한의 마우스 정확도가 요구된다.
  • 고급 사용자들을 위하여 가능할 땐 언제나 마우스 움직임을 대체할 수 있는 키보드 단축키를 제공한다.
  • 다양한 화면을 위한 유용하고 예측할 수 있고 효율적인 창 옵션을 제공한다 - 작은 랩톱에서부터 30인치 또는 그 이상의 화면들, 하나의 또는 여러 개의 모니터를 모두 고려한다.
  • 마우스, 키보드, 트랙 패드, 펜, 또는 터치 스크린 같은 다른 입력 방법들을 쉽게 사용한다.
  • 최대화되었어도 볼 수 있는 사용자 정의된 창 투명 효과 색상.
  • 전반적으로 고객들이 제어하고 있다고 느끼고, 시스템이 작업을 빠르고 쉽게 마치게 해준다고 느낀다.

마지막 사항이 중요한 것은 응답성과 제어력에 대한 느낌이 디자인이 사용자들이 실제로 작업하는 방식에 일치하는 지에 대한 중요한 시험이기 때문입니다. 우리는 디자인과 기획안을 실용성 실험실 (usability lab)에 넣어 사용자들이 어떻게 반응하는지 지켜보고, 사용자들이 웃으면서 쉽게 작업을 성공적으로 마치는 것을 보면 우리가 맞는 방향으로 가고 있음을 확인합니다. 이와 같은 디자인의 최종 성공은 너무 자연스럽게 느껴져서 운동 근육처럼 기억되는 것입니다. 이 때 사용자들은 자신이 친근한 도구를 마스터했으며 컴퓨터가 제대로 작동하고 있다는 느낌을 받을 수 있습니다.

이것이 우리가 창 관리, 그리고 매우 기본적인 UI의 디자인을 진화시키는 데 대해 어떻게 생각하고 있는지에 대한 배경의 일부입니다. 사용자들이 Windows 7 빌드를 사용하기 시작한 후 피드백과 반응을 빨리 듣고 싶습니다.

- Dave