1. 애니메이션 컨트롤

윈도우 운영체제가 제공하는 GUI용 컨트롤 중에는 애니메이션 컨트롤이라는 게 있다. 이것은 명령 버튼이나 에디트 컨트롤, 리스트 및 콤보 박스처럼 윈도우 1.x 시절부터 있었던 완전 native는 아니고, 1990년대 중반에 운영체제가 32비트로 갈아 타던 95/NT 3.5 시기에 도입된 '공용 컨트롤'에 속한다.

이 공용 컨트롤 덕분에 도구모음줄, 트리 구조, 진행 상황(progress) 표시, 슬라이더처럼 과거에는 '싸제'로 자체 구현을 해야 했던 고급 GUI가 상당수 운영체제 '보급품'만으로 바로 구현이 가능해졌다고 본인은 예전 글에서 설명을 한 적이 있다. 예전 글은 공용 컨트롤을 소개하면서 유독 애니메이션 컨트롤만 설명을 거의 빼먹고 넘어갔던 듯하다.

애니메이션 컨트롤은 컴퓨터가 무슨 작업을 하고 있을 때, 작업 중임을 간단한 '움짤'을 통해 사용자에게 시각적으로 피드백을 주는 역할을 한다. 즉, progress 컨트롤과 같이 쓰이는 경우가 많으며, 그 작업이 굉장히 길거나 언제 끝날지 예측할 수 없는 상황일 때 애니메이션이 더욱 유용해진다.

게다가 애니메이션은 단순한 눈요기 이상으로 컴퓨터가 지금 내부적으로 하는 작업이 무슨 의미를 지니는지를 사용자에게 상징적으로 일깨워 주는 효과도 있다! 탐색기에서 파일을 복사 중일 때 종이가 이쪽 서류가방에서 저쪽 서류가방으로 날아가는 것, 삭제 중일 때 종이가 날아가면서 인수분해-_-되는 모습, 다운로드 중일 때 지구본에서 사용자의 컴퓨터로 종이가 날아가는 모습 등이 좋은 예이다.

그런데, 의문이 생긴다. 이 애니메이션 컨트롤은 어떤 형식의 파일을 사용할까?
오늘날이야 '움짤' 하면 인터넷에서 움짤계의 양대 산맥을 구성하고 있는 플래시나 최소한 애니메이션 GIF를 응당 떠올릴 것이다.
하지만 이 공용 컨트롤은 뜻밖에도 그런 것들을 전혀 지원하지 않으며, 그 대신 MS가 WAV와 더불어 전통적으로 좋아해 온 멀티미디어 포맷인 AVI 파일만을 받아들인다. color key 기반으로 투명색 처리까지 지원한다.

물론 AVI 자체는 컨테이너 포맷일 뿐이기 때문에 아무 방식으로나 압축된 AVI를 다 받아들이는 건 물론 아니며, run-length (RLE) 방식이라는 아주 단순하고 원시적인 알고리즘으로 압축된 극소수 AVI만을 지원한다. 이미지 파일 포맷에다 비유하자면,
디코딩 난이도는 GIF에도 못 미치고 지금은 역사 속으로 사라진 PCX급밖에 되지 않을 것이다. 게다가 소리 재생은 전혀 지원하지 않는다.

이 컨트롤은 왜 이렇게 허접하게 설계된 걸까? 첫째는 이것이 전문적인 동영상 재생을 목적으로 만들어진 게 아니며, 둘째는 이것이 처음 개발되던 시절에는 그것조차도 당대의 컴퓨터에서 돌리기에는 너무 무거웠기 때문이다.

1994~95년이면 모자이크나 넷스케이프 같은 WWW 기반 그래픽 웹브라우저가 이제 막 만들어졌던 시절이고, 386~486급 컴퓨터로는 JPG는커녕 GIF 디코더를 돌리는 것도 다소 부담스러웠었다. 또한 그림판조차 BMP와 PCX 이외의 파일 포맷은 읽고 쓰는 걸 지원하지 않았었는데 GIF를 운영체제의 공용 컨트롤이 지원할 거라고는 전혀 기대할 수 없을 것이다.

플래시야 얼마나 덩치가 크고 무거운지 더 설명이 필요하지 않을 것이다. 또한, 플래시 무비를 재생하기 위해서는 굳이 애니메이션 컨트롤을 쓸 필요 없이 플래시 ActiveX 자체를 삽입하면 끝이다. 하지만 간단한 애니메이션 재생용으로는 GIF가 굉장히 대중화되어 있는 만큼, 애니메이션 컨트롤이 GIF 정도는 지원해 주면 좋을 것 같다. 오늘날의 컴퓨터 환경에서는 GIF가 그렇게 무거운 포맷이 전혀 아니니 말이다.

2. 세월이 흐르면서 사라지는 컴포넌트들

과거 윈도우 3.x 시절에는 SysEdit.exe라는 프로그램이 있었다. 도스의 환경 구성 파일인 autoexec.bat와 config.sys, 그리고 과거 16비트 시절의 윈도우 운영체제의 구성 파일인 win.ini와 system.ini 파일을 한데 열어서 편집할 수 있고, 사실 그 네 파일만 편집할 수 있는 특이한 형태의 MDI 에디터이다.

윈도우 95 이후로 그 네 파일들은 잉여가 되었으며, 자연히 그런 에디터도 전혀 필요가 없어졌다. 그럼에도 불구하고 그 SysEdit 프로그램은 놀랍게도 무려 최신 윈도우 7에서도 윈도우 시스템 디렉터리에 건재하다!
물론 32비트 에디션 한정으로 말이다. 64비트 에디션에는 그런 거 없다.

32비트용으로 포팅되었다거나 한 것도 아니고, 윈도우 3.1 시절의 16비트 EXE 형태 그대로 무슨 이유인지는 모르겠지만 아직 까지 남아 있다. 다음 버전인 윈도우 8에까지 남아 있을지는 장담 못 하겠다. 물론 이제는 32비트 에디션 자체도 점점 보기 힘들어지고 있긴 하지만 말이다.

윈도우 7의 시스템 디렉터리에 남아 있는 SysEdit 프로그램 파일을 보면, 마치 서울 지하철 1호선 신설동 역에 의도적으로 남겨 두고 있는 1974년 개통 당시의 “차 타는 곳” 표지판을 보는 듯한 느낌이다. 40여 년 전 특유의 꾸질꾸질한 타이포그래피로 만들어진 그 표지판 말이다.

비스타 이전 버전의 운영체제들은 SysEdit 말고도 윈도우 3.x 시절의 프로그램 관리자(ProgMan), 파일 관리자 같은 16비트 프로그램을 더 내장하고 있기도 했다. 이들 프로그램이 존재하는 걸로 가정하고 동작하는 여타 프로그램과의 호환성을 유지하기 위해서이다.

특히 '프로그램 관리자'는 윈도우 XP 때까지 남아 있다가 비스타에 와서야 제외되었는데, ProgMan.exe가 예전부터 내장하고 있는 아이콘을 추출해서 쓰는 프로그램들이 있었기 때문에 '아이콘 셔틀'용으로라도 이게 필요했기 때문이다.

그러다가 비스타부터는 아예 16비트 EXE/DLL로부터 리소스를 추출하는 기능 자체가 보안상의 이유로 삭제되었기 때문에 ProgMan도 퇴출되었다. 이제 16비트 모듈을 취급하는 프로그램은 거의 없어진 반면, 그 옛날(legacy) 코드를 오늘날의 강화된 보안 기준을 만족할 정도로 리팩터링해야 할 명분이 서지 않기 때문이다. 비용이 수지가 안 맞는다.
그래서 윈도우 7에까지 존속하는 최후의 16비트 프로그램은 이제 SysEdit밖에 안 남았다.

참고로, Control(제어판), Write(문서 작성기/워드패드) 같은 프로그램은 파일 이름만 똑같고 오늘날 운영체제에서 동일한 기능에 해당하는 프로그램을 구동만 해 주는 redirection용 32/64비트 껍데기일 뿐이다. 16비트 프로그램이 아니며 리소스 셔틀하 고도 관계가 없으므로 주의할 필요가 있다.

리소스 셔틀은 그렇게 생소한 테크닉이 아니다. 한 가지 예를 들면, 내장 마우스 포인터가 있다. 평상시의 화살표 모양, 텍스트 입력란을 지날 때의 I자 모양, 작업 중일 때의 모래시계 모양처럼, 운영체제는 상황별로 응용 프로그램이 지정할 수 있는 다양한 마우스 포인터들을 제공한다.

그런 것 중 하나로, 지금은 웹브라우저가 대중화하면서 링크를 가리키는 손가락 모양 포인터도 운영체제가 내장하고 있다. 그러나 윈도우 95는 아직 인터넷 시대가 되기 전에 출시되었기 때문에 그걸 아직 지원하지 않았었다.

그래서 윈도우 95에서는 손가락 모양 포인터를 표시하기 위해 WinHlp32.exe, 다시 말해 도움말 프로그램에 내장되어 있는 리소스로부터 손가락 모양 포인터를 가져와서 표시하게 하는 로직이 흔히 쓰였다. 웹브라우저가 없던 시절에도 윈도우 운영체제의 도움말은 하이퍼링크가 있었고, 프로그램이 자체적으로 그런 링크용 포인터를 내장하고 있었기 때문이다.

그런데 지금은 운영체제의 도움말 시스템이 바뀌어서 WinHlp32.exe 자체가 흑역사로 전락했으니, 이것도 참 격세지감이 아닐 수 없다.

Posted by 사무엘

2012/11/17 08:43 2012/11/17 08:43
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/757

Trackback URL : http://moogi.new21.org/tc/trackback/757

Leave a comment
« Previous : 1 : ... 922 : 923 : 924 : 925 : 926 : 927 : 928 : 929 : 930 : ... 1593 : Next »

블로그 이미지

철도를 명절 때에나 떠오르는 4대 교통수단 중 하나로만 아는 것은, 예수님을 사대성인· 성인군자 중 하나로만 아는 것과 같다.

- 사무엘

Archives

Authors

  1. 사무엘

Calendar

«   2020/02   »
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29

Site Stats

Total hits:
1331101
Today:
113
Yesterday:
377