상당수의 델개발자들이 MDI 방식으로 업무용을 개발하는데, MDI 방식은 MS가 스스로 인정했듯이 실패작인 인터페이스입니다. 이는 MS의 오피스 제품들을 봐도 대부분 더이상 MDI 방식을 사용하지 않음을 알 수 있습니다. 이는 상당수의 일반 사용자들이 동시에 여러 화면을 띠워놓고 작업하기를 원치 않는다는 것입니다. 자재관리 화면과 거래처 관리 화면을 동시에 띠워놓고 마우스로 클릭하면서 양쪽 화면을 번갈아 이동하면서, 작업하는 사용자는 거의 없습니다. 대부분 사용자는 한번에 한작업만 하기를 원합니다. 업무용 프로그램은 기존 수작업을 단순화하는 것이지 복잡하게 하는 것이 아니란 점을 명심해야 합니다.
그리고 실제 업무용 프로그램은 테이블의 락 중가를 막고, 리소스 부족을 막기 위해서 동시 다중 작업 화면을 어떻게든 막아야할 경우가 많습니다. 초보 개발자들의 실수가 동일 메뉴를 선택했을 때 같은 작업폼이 반복하여 뜨는 것입니다. 거래처 관리 메뉴를 클릭할 때 마다 거래처 화면이 계속 반복해서 나타난다는 것입니다. 이는 같은 테이블을 두번이상 반복하여 열게 되므로, 쓸데없는 리소스 낭비 일 뿐 아니라, 락킹 현상만 가중시킵니다. 서로 별로 상관없는 작업 폼을 동시에 두개 이상 띄울 수 있다고 해서 사용자는 편해지는 것이 아니라 도리어 혼란스러울 뿐입니다. 더우기 화면 뒷구석에 있으면서 제한적인 디비 커넥션과 메모리만 소모하고 있다면 이는 정말 이만저만한 낭비가 아닌것입니다.
어떤 경우 여러개의 윈도우를 띠울 필요가 있다고 해도, 사용자가 마우스로 헤집고 다니면서 윈도우를 선택하도록 하면 안됩니다. ALT-Tab키같이 복잡한 조합키를 사용토록 강요해서도 안됩니다. 이말은 윈도우를 쓸데없이 중첩시키는 프로그램을 만들지 말라는 것입니다. 그 복잡한 MS워드도 두개 이상의 윈도우를 중첩시켜서 어떤 작업을 행하는 것은 거의 찾아 볼 수 없습니다. 사용자에게 보여줘야할 데이타량이 매우 방대하다면 페이지 콘트롤이나 패널등을 사용하여 영역을 분리하십시요. 윈도우 중첩은 사용자에게 쓸데없는 마우스 노동을 강요합니다. 델7에 들어있는 모델메이커를 실행해 보면 많은 정보를 보여줄 때 어떤 식으로 화면을 분리하는가에 대해 아주 적절한 예를 보여줍니다.
두 작업폼이 서로 아무런 연관성이 없다면 동시에 함께 뜨는 것은 무조건 막아야 합니다. 두 폼이 중첩되어서 사용자에게 마우스 클릭을 강요한다면 이 방식은 필히 수정해야 합니다. 모달폼이 두번 이상 충첩되면 방식을 바꿔야 합니다.
MDI 방식의 프로그램을 보면 대부분 Windows라는 메뉴가 있고, 이 메뉴 아래에 Cascade, Tile, Vertical 같은 차일드 윈도우 재배치 명령이 있습니다. 주변의 친구들도 그렇고 나도 그렇지만 이 메뉴를 나는 거의 사용해 본적이 없습니다. 여러 윈도우를 동시에 띄우는 방식으로 프로그램을 만들지 마십시요.
모달 윈도우는 윈도우룰 중첩하기 위한 방법이 아니라, 중요한 입력 사항을 강제로 처리해야 할 때 사용하는 방법입니다. 모달 윈도우를 두번 중첩 시키는 것은 묻고 또 묻는 방식이기에 매우 짜증나는 인터페이스가 됩니다.
결론은 ...
가급적 한번에 한 폼(윈도우)만 보면서 사용자가 작업을 할 수 있도록 하십시요. 사용자에게 배포하기에 앞서서 본인이 프로그램을 직접 사용해보고 정말 편한가 판단해 보십시요.
그리고 툴바는 메인 메뉴의 중복이 아닌 일부여야 합니다. 툴바는 사용빈도가 높은 작업에 대한 단축키 역할을 합니다. 만일 모든 메뉴를 툴바화 시킨다면 툴바는 의미가 없습니다. 이말인즉 화면 좌측에 메인 메뉴와 똑같은 구조의 트리 구조 메뉴를 둔다고 해서 별로 편한 바 없다는 것입니다.
MS 아웃룩같은 화려한 인터페이스를 모방하는 것은 좋으나, 그 방식을 어떻게 적용해야 정말로 편한지에 대해서 한번 검토해야 할 것입니다.