창을 열자 멀티미디어 툴북Multimedia ToolBook
강재철
툴북ToolBook은 미국의 Asymetrix사가 야심만만하게 내놓은 프로그램으로 원래 윈도우 3.0의 애플리케이션으로 제작한 것이었다. 처음 버전 1.2를 발표하였고, 1991년에는 속도 문제가 개선된 1.51이 발표되었다. 같은 해 멀티미디어 영역 즉, 음향(확장자가 .WAV, .MID인 표준 파일), 그래픽(.BMP, .PCX, .DIB), 애니메이션(.FLI), 그리고 CD-ROM과 비디오 오버레이Video Overlay까지 사용영역이 확장되어 일반적으로 멀티미디어 툴북이라고 부르는 ToolBook Multimedia Resource Kit 1.51이 발표되었다. 이것은 많은 사람의 관심을 끌었고, 윈도우 3.1에 발맞추어 1.52와 1.53이 1992년에 발표되었다. 툴북은 윈도우가 지향하는 ‘좀 더 쉬운 컴퓨팅’에서 진일보된 ‘좀 더 쉬운 프로그래밍’에 촛점이 맞추어져 있다. 따라서 위지위그(WYSIWYG : What you see is what you get)를 워드프로세서 뿐만 아니라 프로그래밍에 이르기까지 확대해 준 프로그램 개발 도구이자 일종의 언어라고 할 수 있다. 이러한 VDEVisual Development Environments는 원래 매킨토시의 하이퍼 카드Hyper Card가 원조격이라 할 수 있고, 비주얼 베이직과 툴북이 IBM PC계열에서는 대표적인 개발 도구로 자리잡고 있다. 기존의 프로그래밍 도구나 언어들은 몇 천 행에 이르는 프로그래밍 언어들을 만들어 이를 컴파일해서, 프로그램을 실행하여 버그를 발견하고, 발견된 버그의 원인을 분석하여, 프로그래밍을 마치는 복잡한 작업이었음에 반해 이들 VDI들은 자신이 코딩한 결과를 직접 눈으로 확인하면서 부분 부분을 완성해 나가는 비절차적 프로그래밍 방법으로서 프로그래머들에게 큰 환영을 받고 있다. 더욱이 베이직 언어에 대한 이해가 전제되는 비주얼 베이직에 비해 툴북은 누구나 코드의 내용을 읽을 수 있고, 또한 활용할 수 있도록 만들었다는 점에서 일반인들의 관심을 끌고 있다. 이러한 형태의 프로그래밍 도구로는 매킨토시의 하이퍼카드Hyper Card가 그 대표적인 예이다. 최근 프리젠테이션을 쉽게 하도록 도와 주는 아이콘 오서Icon Author나 오서웨어 프로페셔널Authorware Professional, 액션Action 등이 윈도우 애플리케이션으로 등장했는데, 이들은 플로우 차트 방식으로 멀티미디어를 이용한 프리젠테이션용 프로그램을 만드는 데, 매우 유용한 장점을 가진 반면, 요구되는 시스템 사양이 개인 사용자에게는 큰 무리가 따르며, 가격 또한 비싸다. 또 프리젠테이션 이외의 영역에서는 그 장점을 발휘하기 어렵다는 한계를 가지고 있다. 물론 윈도우 프로그래밍 도구로서 SDKSoftware Development Kit가 가장 정통적인 도구로 사용되고 있지만, SDK는 C 언어에 숙달된 사람이 아니고는 접근이 어렵다는 점이 지적되어 왔다. 이에 반해 툴북은 프리젠테이션과 일반적인 프로그래밍이 가능할 뿐만 아니라 다른 프로그램과의 연계, 데이터 관리 영역에까지 그 손길을 뻗치고 있다. 더우기 이 모든 작업들이 별도의 프로그래밍 언어를 전혀 필요로 하지 않는다는 획기적인 발상의 전환을 이루고 있다. 미국의 유명한 컴퓨터 전문지인 PC 매거진 1992년 5월호에서 윈도우 애플리케이션을 개발하는 8개의 프로그래밍 툴에 대한 기사를 다루었는데, <표 1>은 대표적인 개발 프로그램인 비주얼 베이직Visual Basic과 툴북의 성능을 간단하게 비교한 것이다.
[화면 1] 툴북의 처음화면과 도구들
마이크로소프트사의 비주얼 베이직
툴북ToolBook
[표 1] 비주얼 베이직과 톨북 성능 비교
툴북의 개념
툴북은 그 이름에서 알 수 있듯이 컴퓨터와 고전적인 의미의 책을 결합한 형태로서 일종의 책을 만드는 프로그래밍 도구이다. 한 권의 책을 상상해 보자. 책에는 여러가지 종류가 있다. 교과서, 사전, 화보집, 제품 설명서, 이외에도 숱한 종류의 책들이 있다. 그러나 이 모든 책들이 가지는 공통점은 일정한 주제에 대한 지식을 알려주는 것이다. 또 우리는 공책이나 수첩을 쓴다. 일반적인 책이 이미 씌어진 것이라면, 공책이나 수첩은 사용자가 새로 쓰는 것이라는 점 외에는 일정한 지식을 일목요연하게 정리하여 필요한 때에 찾아보는 것이라는 점에서는 다를 바가 없다. 툴북은 바로 이런 지식 또는 정보와 관련된 모든 영역의 프로그램이 가능하도록 만들어 주는 프로그래밍 도구이다. 여기에 멀티미디어를 가미하면 그 어떤 책도 구현할 수 없는 막강한 기능을 가지 책이 되는 것이다. 이러한 새로운 개념의 책을 하이퍼 텍스트Hyper Text라고 하는데, 하이퍼 텍스트에서는 컴퓨터와 연계가 가능한 모든 미디어 영역을 자신의 텍스트 안에 포괄시켜 사용할 수 있을 뿐만 아니라, 상호 의사소통이 가능한 Interactive Action(상호작용)을 구현할 수 있다. 멀티미디어 툴북에서 제공하는 예제인, ‘SPACE’를 보면, 그 개념이 더 명확해진다. SPACE는 아폴로 11호가 달에 착륙하는 과정을 한 권의 책으로 엮은 것이다. 먼저 어떤 과정으로 아폴로 계획이 시작되었는지를 존 F. 케네디의 육성으로 들려준다. 그리고 아폴로 11호가 이륙하여, 비행중에, 달에 착륙할 때, 다시 달을 떠날 때, 지구로 귀환하면서 당시 부통령이던 존슨과의 전화 통화 등이 생생하게 들려진다. 이때, CD-ROM이나 비디오 블래스터Video Blaster같은 장비를 가진 사람은 더욱 생생한 장면들을 볼 수 있다. 뿐만 아니라 다음 페이지에서는 달에 착륙한 우주인의 모습을 사진으로 볼 수 있는데, 사진 중의 어느 곳이든지 마우스로 클릭하면, 우주인이 입고 있는 옷의 각 부분에 대한 설명을 읽을 수 있다. 다음 페이지에서는 아폴로 계획의 주요 장면들이 여러장의 사진으로 나오는데, 그중의 어느 하나를 클릭하면, 그 사진이 확대되어 보여진다. 위에서 간단하게 설명한 내용이 바로 툴북의 가능성이다. 그런데, 이러한 과정을 구현할 수 있는 프로그래밍 도구가 툴북만 있는 것은 물론 아니다. 툴북이 가진 가능성은 바로 이런 과정의 구현이 중학생 수준의 간단한 영어를 구사할 수 있는 사람이라면 누구나 가능하다는 점이다. 툴북을 만든 개발자들은 이러한 영어를 ‘구조화된 영어Structured English‘라고 한다. 간단한 예를 들어 보자. 다음은 툴북에서 사용하는 언어인 ‘오픈 스크립트Open Script‘이다.
to handle pageEnter
hide button btn01
pause 2 seconds
show button btn01
put ToolBook into text of field txt01
move field txt01 to 1220,2220
go to next page
end
to handle pageLeave
clear field txt01
end
한 페이지 안에서 구현되는 기능이 어떤 것인지 쉽게 알아볼 수 있을 것이다. 다른 프로그래밍 언어에서 함수라고 말하는 명령어 앞에서 일반 사용자들은 위축되게 마련이다. 그러나 툴북에서 사용되는 언어들은 이해하기 쉽고, 따라서 배우기도 쉽다는 점이다. 게다가 툴북의 오픈 스크립트로 어떤 표현을 했을 때, 이를 즉각 실행시킬 뿐만 아니라 문법을 체크하는 것이 아주 간단하다. 또, 설사 저자가 실수로 어떤 곳의 문법이 틀렸다 하더라도 실행시 문제가 생기면, 바로 문제가 되는 부분을 찾아서 수정을 할 수 있도록 친절하게 안내해 주는 기능은 다른 어떤 프로그램 저작 도구에서도 찾아볼 수 없는 것이다. 사용자도 즉 컴퓨터 언어에 익숙하지 않은 사람이라도 자신이 구현하고 싶은 표현들을 많지 않은 문법과 명령어를 활용하여 표시할 수 있다. 오픈 스크립트가 가지는 이러한 장점은 툴북의 어떤 장점보다도 탁월한 것이다. 만일 일반 사용자가 지나치게 전문적이고, 덩치가 큰 어떤 프로그램에 식상했을 때, 자신의 용도에 맞는 프로그램을 컴퓨터 잡지의 광고를 뒤져 찾는 것이 아니라, 바로 자신의 컴퓨터 안에서 만들 수 있다면, 이보다 더한 즐거움이 어디 있겠는가? 언제까지나 남이 만들어 놓은 프로그램을 가지고 감탄하고, 또한 기가 꺽이는 경험을 계속하겠는가? 자신있게 자신의 프로그램을 간단하게 만들어 사용하는 사용자가 되는 기쁨을 주는 것이 바로 툴북이라고 하겠다.
[화면 6] 데이터 베이스 파일을 직접 불러오는 장면
툴북의 활용영역
현재 툴북으로 개발된 상용 프로그램을 살펴보면, 툴북이 어떤 영역에서 유용한 것인지 쉽게 알 수 있다. 우선 캄톤 멀티미디어 백과사전(Compton’s Multimedia Encyclopedia)과 마이크로소프트 북셀프Microsoft Bookshelf, 그리고 멀티미디어 베토벤Multimedia Beethoven, 스페인어 배우기Learn to Speak-Spanish 등을 꼽을 수 있는데, 이들 프로그램이 모두 CD-ROM에 담겨져 판매되고 있다. 앞의 두 프로그램은 멀티미디어 백과사전이고, 베토벤의 교향곡 9번을 그의 생애와 함께 보여주면서, 악장에 사용된 악기와 주제들을 생생한 원음과 함께 들려주는 프로그램과 스페인어를 그림과 함께 듣고 따라하기, 연습문제, 성적관리 등을 해주는 프로그램이다. 여기에서 툴북의 사용영역이 어디에 있는지 쉽게 짐작할 수 있다. 대용량의 멀티미디어 데이터를 관리하면서, 백과 사전식의 정보의 검색과 추가가 아주 쉽다는 점이다. 툴북에서는 최대 6만 5천 페이지의 책을 만들 수 있다. 또한 교육용 프로그램을 개발하는데 특별한 장점을 가지고 있다. 대부분의 교육용 프로그램이 코스웨어라는 형식으로 단계적인 발전 과정과 반복 학습, 그리고 학습된 내용의 확인으로 구성되는데, 이러한 형식의 프로그램을 위해서는 툴북이 가장 적합한 도구라고 할 수 있다. 필자의 경우 외국인을 위한 한국어 교육에 툴북으로 만든 프로그램들을 사용하고 있는데, 일반 비디오나 오디오 테이프를 이용할 경우 반복학습과 확인학습이 어려운데 반해, 어느 단계에서나 음성을 따라 말하고, 듣기연습을 하고, 단어나 문장의 학습상황을 점검하는 것이 아주 간단하게 이루어지고 있다. 단어를 그래픽으로 설명하는 기능, 적절한 애니메이션과 비디오를 이용한 학습도 간단하게 처리할 수 있다. 집에서는 아이들을 위한 동화책도 만들어 보여 주고 있는데, 그림과 함께, 녹음된 설명을 반복해서 들을 수 있어서 큰 환영을 받고 있다. 뿐만 아니라, 다른 어떤 저작 도구보다도 데이터베이스의 관리가 용이한 점도 툴북의 장점으로 꼽을 수 있다. 기존의 데이터베이스 파일(.DBF)이나 아스키 파일들을 그대로 불러 사용할 수 있고, 역으로 툴북으로 작성된 데이터 베이스를 별도의 작업없이 .DBF 파일로 변환할 수 있다. 또한 스프레드 시트에서의 연산작업도 간단한 스크립트로 제어할 수 있다. 실제로 개인적인 차원에서 사용하는 정도의 데이터베이스는 스프레트시트의 작업은 단 몇 줄의 스크립트만으로도 가능하다. 예를 들어 가계부나 작은 가게의 장부, 책이나 디스켓, 테이프 관리 프로그램은 몇 일의 공부로 자신 고유의 프로그램 만들기가 가능하다.
[화면 7] 북 셸프
툴북이 요구하는 사양과 설치시 주의점
일반 툴북의 경우 2HD 4장, 멀티미디어 툴북의 경우 2HD 8장으로, 인스톨을 하면 약 8~12 메가 바이트 정도의 하드디스크가 필요하다. 툴북은 다른 프로그래밍 도구에 비해 사양이 비교적 까다로운 편이다. 물론 윈도우 3.0 이상이 설치되어 있어야 하고, 386 이상의 컴퓨터, 램은 4메가 이상을 요구한다. 이것은 툴북이 컴파일러 방식이 아니고 인터프리터 방식의 언어이기 때문에 가지는 속도의 한계를 극복하기 위한 것이라고 보인다. 컬러는 기본 16색 또는 256색을 요구하는데, 그 이상의 세팅에서는 예제로 제시된 ‘SPCAE’가 실행되지 않는다. 물론 자신만의 시스템을 위한 프로그램의 경우 얼마든지 구현이 가능하지만, 툴북은 만들어진 프로그램이 일반인들이 사용하는 것을 전제로 하는 것이기에 가급적 256색의 수준에서 프로그램을 만드는 것이 적당하다. 멀티미디어를 구현하기 위해서는 사운드 카드가 기본이고, CD-ROM이나 비디오 블래스터Video Blaster가 있으면 더욱 좋겠다. 멀티미디어 툴북의 마지막 장은 애니메이션 파일(.FLI)을 툴북에서 사용할 수 있도록 하는 것인데, 이 디스켓은 툴북의 인스톨을 모두 마친 후, 콘트롤 판넬의 DRIVERS에서 다른 드라이버들을 등록할 때와 같은 과정으로 등록을 하면 된다.
강력한 사용자 인터페이스
앞에서 말한대로 툴북이 좀 더 쉬운 프로그래밍을 지향한다는 것을 보여주는 또 하나의 예가 사용자가 들어가 볼 수 있는 사용자 인터페이스이다. 막강한 도움말 기능은 물론이고, 사용자가 툴북이 어떤 가능성을 가지고 있고, 어떤 원리에서 작동하는지를 몇가지 예제를 통해 간단하게 보여주는 것이 바로 이것들이다. 또한 이들 인터페이스에서 보여지는 기능들을 자신의 프로그램에서 구현하고 싶을 때는 언제든지 저자 환경에 가서 그 스크립트들을 복사하여 자신의 프로그램에서 그대로 구현할 수 있도록 배려한 점은 어떤 저작 도구들도 제공하지 못하는 막강한 기능이다. 즉 어떤 프로그램에서 페이지가 오른쪽으로 넘겨지면서 다음 페이지로 가는 기능을 보고 사용자가 자신도 그렇게 해보고 싶을 때, 그 부분Properties의 스크립트를 즉각 볼 수 있고, 또한 복사하여 자신의 프로그램에서 그대로 구현할 수 있다는 점이다. 이것을 이벤트 처리Event-Driven 방식이라고 하는데, 다른 프로그래밍 도구의 경우 일정한 언어(Basic, C 등)로 작성된 것을 또 컴파일하여 사용자가 그 기능을 구현하려고 하면, 상당한 수준의 프로그램 이해력이 있어야만 가능한 반면 툴북에서는 즉각 그 내용을 보고 응용할 수 있게 되어 있다.
북셸프Book Shelf
툴북을 설치하면 툴북으로 구현할 수 있는 것이 무엇인지를 보여주는 퀵 투어Quick Tour, 좀 더 빠른 처리를 위한 아이디어들을 모은 스피드 팁스Speed Tips, 그리고 일정관리 프로그램으로서 훌륭한 예제인 데이북DayBook과 함께 북셸프Book Shelf가 제공된다. 북셸프는 말 그대로 툴북과 관련된 모든 책들이 모아져 있다. 이들 책 하나하나는 툴북에 대한 설명서이자 라이브러리이다. 애니메이션의 구현을 설명하는 애니메이션 프라이머Animation Primer, 연산 기능을 설명하는 계산기Calculator, 데이터베이스를 읽고, 또한 툴북으로 불러 들이거나, 툴북으로 만든 데이터들을 데이터 베이스 프로그램으로 보낼 수 있는 데이터베이스 리더dBase Reader와 툴북/데이터베이스 변환기ToolBook/dBase Exchanger, 오픈 스크립트 설명서, 윈도우 애플리케이션 간의 자료교환과 실행을 가능하게 하는 DDE 설명서 등은 툴북의 자원들을 간단명료하게 설명하고 있다. 또한 많지는 않으나 필요한 그래픽들을 모아 놓은 클립아트ClipArt, 페이지 꾸밈의 예제들인 페이지 아이디어Page Ideas, 간단한 프리젠테이션용 슬라이드를 만들 수 있는 슬라이브 쇼 빌더Slide Show Builder, 게임용 프로그램의 예제인 태큄Taquim 등은 툴북의 가능성을 최대한 효과적으로 구현한 것이다. 이들 하나하나에 구현되어 있는 것을 사용자가 바로 자신의 프로그램에서 구현할 수 있도록 배려한 것 또한 툴북의 뛰어난 점이라고 하겠다. 이러한 배려는 멀티미디어 위젯에 이르러 극대화되었다.
멀티미디어 위젯Multimedia Widget
Widget이란 ‘이름을 모르는 또는 이름을 붙일 수 없는 어떤 도구’라는 뜻 그대로 모든 것을 준비하고 사용자의 최종적인 선택만을 기다리는 도구이다. 마치 건물을 완공하고 준공식날 테이프 앞에서 가위를 높은 양반에게 건네주는 아가씨와 같은 것이다. 멀티미디어 영역을 처리하는 데에는 비교적 복잡한 오픈 스크립트가 필요한데, 위젯은 그 스크립트들을 이미 완성해 놓고, 사용자가 그 곳에 필요한 사용자 고유의 파일들, 즉 그래픽, 웨이브 사운드, 미디, 애니메이션 등의 파일의 이름을 선택하기만 하면 되도록 하는 것이다. 사용자가 자신의 파일을 선택하기 전에 어떤 파일을 선택하면 어떤 표현이 가능한지 예들을 제시한 것도 뛰어난 배려이다. 여기에서 한가지 주의할 점은 자신의 시스템에서는 위젯을 이용하여 파일들을 선택하면 되지만, 런타임용으로 만들 경우에는 파일의 위치를 정확하게 표현해 주어야 한다. 위젯은 이것뿐만 아니라 입체적인 버튼이나 필드의 표현, 비트맵 그래픽의 축소확대 기능, CD 오디오와 비디오 디스크에 대한 위젯도 제공한다.
기타 사용자 인터페이스들
북셸프나 멀티미디어 위젯 외에도 툴북에서는 멀티미디어를 소개하는 멀티미디어 투어Multimedia Tour가 제공되는데, 이들은 여러분이 직접 사용해 봄으로써 멀티미디어 툴북에 대한 이해를 높이는 것이 좋겠다. 또한 이미 언급한 ‘Space’와 ‘데이북DayBook‘들은 툴북이 표현 가능한 모든 기능들을 사용해, 개발자와 사용자 모두에게 프로그램 자체를 제공함과 동시에, 만들어진 책들간의 상호관련, 인덱스 처리 등의 오픈 스크립트 예를 보여주고 있다. 툴북이 자신들이 만들어 보여주고 있는 모든 사용자 인터페이스들에 보안기능을 사용하지 않고 오픈 스크립트를 공개한 것은 개발자들에게 가급적 많은 정보를 제공함으로써 별도의 매뉴얼이 없이도 온라인 헬프 기능을 충분히 발휘하도록 한 것이다.
저자 레벧과 독자 레벧
툴북은 저자와 독자라는 두가지 레벧로 이루어져 있는데, 저자는 말 그대로 프로그램을 만드는 개발자의 수준이고, 독자는 만들어진 프로그램을 이용하는 사용자의 수준이다. 이 수준의 전환은 간단한 키로 가능한데 바로 이점이 종래의 프로그래밍 도구들이 가진 불편함을 해소해 준 점이라고 하겠다. 아무리 작은 하나의 사건Event이라도 저자가 자신이 작성한 오픈 스크립트가 독자의 입장에서 어떻게 구현되는지 바로 확인할 수 있도록 해 준다. 또한 독자수준으로 전환하지 않고도 저자수준에서 바로 스크립트의 표현을 볼 수 있도록 해주는 커맨드 윈도우(Command Window : <Shift-F3>)도 매우 유용한 도구이다. 이미 말한대로 커맨드 윈도우를 사용할 경우 어떤 에러가 있으면, 전체 스크립트를 뒤지는 것이 아니라 바로 문제가 되는 부분을 표시해 주고 바로 고칠 수 있도록 하는 기능이 있다. 저자의 수준에서는 툴북 전체 프로그램이 필요하고, 독자의 수준에서는 런타임 모듈, 즉 비주얼 베이직으로 만들어진 프로그램을 실행하기 위해 필요한 VBRUN100.DLL과 같은 기능을 하는 여러개의 DLL 파일과 TBOOK.EXE 파일이 있으면 툴북으로 만든 프로그램을 다른 윈도우 환경에서 실행할 수 있다. 앞에서 말한대로 인터프리터 방식이고, 또 취급하는 분야가 많기 때문에 런타임 모듈의 크기가 좀 큰데, 일반 툴북의 경우 약 5천킬로 바이트, 멀티미디어 툴북의 경우 약 1메가 바이트 정도이다. 그러나 다른 프리젠테이션용 프로그램들의 경우 엄청난 가격과 런타임 프로그램의 가격도 요구하며, 툴북은 비교적 저렴한 프로그램 가격($495)인데 반해 런타임 프로그램의 비용도 따로 요구하지 않는다는 장점도 있다. 오소웨어 프로페셔널Authorware Professional의 경우 그 프로그램을 이용하여 만든 프로그램을 판매할 때, 일종의 로얄티인 런타임 프로그램의 비용을 따로 요구하고 있다. 앞에서 소개한대로 툴북은 윈도우 환경에서 실행되는 여러가지 소프트웨어를 보고 한편으로는 그 기능과 화면 구성에 놀라면서도 일반 사용자들에게 윈도우의 환상적인 프로그래밍의 세계를 맞보게 해주는 훌륭한 저작도구이다. 한국에서는 비교적 늦게 이 프로그램이 소개되었고, 현재로서는 적절히 참고할 만한 책도 없는 형편이다. 현재 구할 수 있는 것은 버전 1.0을 소개하는 ToolBook Companion이라는 책이 고작인데, 다행히 천리안 아트 미디어 동호회(AM동호회)의 윈도우 소모임 란에 툴북 프로그래밍 소모임이 개설되어 다양한 정보의 교환이 이루어지고 있다. 다음호에서는 툴북의 전체적인 구조와 원리, 그리고 오픈 스크립트에 대해 소개하겠다.
1999년 2학기, 김미량 교수님의 멀티미디어 교육? 강의를 들으면서 과제로 툴북 콘텐츠 만들던 기억이 새록새록.