물론 님의 말씀처럼 상호 운용성을 따져서 개발을 한다면 더할나위 없겠죠...
하지만 전 다 똑같은 부류라고 생각합니다.
다른 플랫폼을 전혀 생각하지않는 MS나... MS의것을 철저히 배척하는 것이나... 마찬가지 아닌가요?
Xvid님이 이미 얘기하셨지만, 이것은 MS의 것이나 아니냐의 문제가 전혀 아닙니다. [1] 다른 플랫폼을 전혀 생각하지 않는 것은 MS가 아니라 필수 불가결하지 않는 곳에 별다른 고민도 없이 단지 자신이 편하다는 이유로 ActiveX를 무분별하게 사용하면서 graceful degradation path도 제공하지 않는 많은 웹 개발자들입니다. MSDN에 가 보십시오. HTML, CSS 등에 대한 문헌에서 표준 기술인지 MS IE에만 통하는 기술인지 페이지마다 명확하게 밝혀 놓았습니다. 누가 언제인가 여기에 적었듯이 (한국) 웹 개발자들이 오려 붙이기만 할 것이 아니라 MSDN이라도 좀 제대로 가서 보고 웹 페이지를 만든다면 상황은 훨씬 나을 것입니다. (많은 수가 그렇다는 얘기이지, 100% 그렇다는 얘기는 아닙니다. 많은 수가 그렇다는 것은 한국 웹 사이트의 수많은 DOM, ECMAscript, HTML, CSS 에러를 통해 충분히 미뤄 짐작할 수 있습니다. 물론, 다른 나라라고 해서 그런 것이 없는 것은 아닙니다. 하지만, 그 빈도가 더 높은 것은 저의 비과학적인 경험론적인 방법에 의거해 볼 때 거의 확실한 듯 합니다.)
ActiveX 사용이 바람직하지 않다고 하는 까닭은 MS의 것이기 때문이 아니라, 잘못 사용할 경우 (graceful degradation을 제공하지 않고) 웹의 생명과도 같은 상호 운용성을 현저하게 헤치기 때문입니다. 마찬가지 이유로 리눅스나 Mac OS X에서만 쓸 수 있는 어떤 기술이 있다면, 그것도 가급적이면 사용을 안 하는 것이 좋습니다. 웹은 MS 웹이 아닌 것과 마찬가지로 모질라 웹도 아니고, 리눅스 웹도 아니며 Mac OS 웹도 아닙니다. 아니고, 어떤 경우에도 그런 일이 생기지 않도록 해야 합니다.
또한 그런 기술을 사용한다고 해도, 그것을 사용하지 못 하는 이들도 웹사이트의 핵심적인 내용을 파악하고, 사이트 내의 페이지 간 이동이 가능하도록 fallback을 제공해야 합니다. 님은 제가 역설한 graceful degradation에 대한 이해를 못 하고 있거나, 의도적으로 이해하기를 거부하고 있는 듯이 보입니다. 다시 한번 시도해 보지요.
MathML은 Mozilla는 잘 지원하지만, MS IE의 경우 plugin을 설치해야만 볼 수 있습니다. 논의를 위해서 아예 이런 플러그인도 없다고 가정합시다. MathML은 표준 기술이고 웹 상에서 수식 표현과 전달에 매우 편리합니다. 수식이 많이 들어간 웹 저자는 MathML을 쓰고 싶어 하는 것이 당연합니다. 이럴 경우 할 수 있는 방법은 MathML을 쓰고, 이것을 볼 수 없는 사용자를 위해 fallback을 제공하는 것입니다. MathML을 생성하는 방법의 특성 상 이렇게 fallback을 제공하는 것은 그다지 많은 비용이 들지 않습니다. (거의 공짜로 가능하다고 할 수 있습니다). 즉, W3C 표준인 MathML을 쓸 때에도 이렇게 graceful degradation의 원칙을 지켜야 합니다. (마찬가지 얘기를 MS IE가 잘 지원하지 못 하는 CSS2에 대해서도 할 수 있습니다.) 그런데, 하물며 오직 하나의 플랫폼에서 하나의 브라우저만이 제공하는 기능을 사용하면서 이런 fallback을 제공하지 않는다는 것은 웹의 기본 정신에 대한 전면적인 도전입니다.
웹에서 상호 운용성(및 장치 독립성, 플랫폼 독립성, 장애의 정도에 무관한 접근성)을 추구하는 것이 '절대적 진리'는 아닐지 모르지만, 절대적 진리에 매우 가까운 것입니다. [3] 상호 운용성과 장치 독립성( 및 보편적 접근성)이 없는 것은 더 이상 웹이 아닙니다. 웹이 탄생한 이유가 바로 그 때문입니다. 1980년대 말 CERN에서 웹의 창시자이자 현 W3C 총재인 Tim Bernes-Lee가 웹을 만든 이유가 바로 서로 다른 이종의 컴퓨터와 OS를 쓰는 CERN의 수많은 물리학 연구자들과 엔지니어들이 플랫폼 독립적인 방법으로 문서와 정보를 교환하도록 하기 위해서 만든 것입니다. 따라서, TIm Berners-Lee는 'xxx browser에 최적화되어 있다'고 자랑스럽게 써 놓는 이들을 보고(그 xxx 브라우저가 Mozilla이든 Safari이든 MS IE이든 상관 없습니다), 'bad old days'로 돌아가기를 갈망하는 사람들이라고 한 것입니다.
야후의 지도 서비스(원래 Mapquest에서 개발한 것이지요)가 클라이언트 시스템에 부하를 준다고요? [2] 그렇게 얘기하지는 않으셨군요. div, css 등을 복잡하게 쓴 경우 그렇다고 하셨군요. 과연 그럴까요? 그럴 수도 있겠지요, 경우에 따라. 그런 많은 경우 픽셀 하나까지 세밀하게 조절하고자 하는 웹에 대한 기본 이해를 결여한 한국식 웹 디자이너들이 웹 디자인을 잡지 페이지 레이아웃 하듯이 하는 과정에서 생긴 결과가 아닐까요? 아닐 수도 있습니다. 하지만, 일반적으로 잘 설계된 페이지라면 클라이언트 시스템에 과도한 부하를 줄 일이 흔하다고 보지 않습니다. div/css가 부하를 주기 보다는 겹겹이 둘러 쳐진 table이 훨씬 클라이언트 측에 부하를 많이 주겠지요. 혹, 과도한 부하를 주는 경우가 있다면, div/css를 쓴 잘 설계된 사이트를 볼 때에 성능이 매우 떨어지는 기계를 가진 사람은 CSS의 적용을 모두 하지 않도록 하거나 매우 간단한 기본 CSS만 적용하도록 하면 되겠지요. table을 겹겹이 쓰고, 아무 의미도 없는 1pixel 폭/높이의 그림 파일을 사방에 넣어 놓은 페이지를 볼 때에는 그렇게 할 수 없습니다.
[1] 저는 자랑스럽게 반 MS입니다. 하지만, 그것은 MS라는 회사 자체에 대한 것이 아니라 MS라는 회사의 행태에 대한 것입니다. OS 시장의 독점적 지위를 바탕으로 다른 시장인 응용 프로그램 시장에서 경쟁을 저해하는 '반칙'을 수도 없이 저지르는 MS의 행태는 비난 받아 마땅합니다. 20세기 초 비슷한 행태를 보인 Standard Oil은 MS에 적용된 것과 똑같은 Anti-Trust Act에 의해 분할 명령을 받고 분할 되었습니다. 20세기 후반 MS와 마찬가지로 시내 전화 시장에서의 독점적 지위를 활용해서 장거리 전화 시장에서 경쟁을 저해한 행위를 한 AT&T는 법원의 판결이 나기 전에 미 법무부와 법정 밖 settlement를 해서 스스로를 쪼갰습니다. 정확히 같은 이유로 MS는 1심 법원에서 분할 명령을 받은 것입니다. 자유 시장 경제 신봉의 정도에서 둘째가라면 서러워할 영국의 시사 주간지 Economist가 1990년대 말, MS를 명백한 '독점 기업'이며 분할해야 한다고 선언한 것도 같은 맥락입니다.
불행히 그 판결이 미 연방 항소 법원에서 유지되지 못 하고, MS의 위법 행위에 대한 처벌이 대폭 완화되었습니다. 그래도 그 덕분에 MS의 행태가 조금이나마 개선된 점은 다행입니다.
한참 Netscape가 잘 나갈 때에 W3C 표준 과정을 건너 뛰고 'blink'와 같은 이상한 tag을 마구 만들어 낼 때 저는 netscape도 무척 싫어했습니다. 이제 모질라를 좋아하는 까닭은 이런 과거에 대한 철저한 '반성' 위에 웹의 기본 정신과 이상, 표준 준수를 매우 중요하게 여기는 개발자들이 다수 참여하며서 핵심적인 역할을 하고 있기 때문입니다.
[2]
야후나 MapQuest의 지도 서비스는 1997년 아니면 1998년에 선보였습니다. 그리고, 당시의 개인용 컴퓨터에서 아무런 문제도 없이 잘 돌아갔습니다. 제가 수도 없이 길을 찾기 위해 지도를 출력해 보았고 써 보았기 때문에 잘 압니다. (제 컴퓨터는 1995년에 산 Pentium 100 기계였습니다. 물론, 그보다 성능이 훨씬 우수한 Digital Unix나 VMS에서도 써 보았지요.) 적어도 현재 제공하는 기능만으로 제한한 지도 서비스에 관한 한 Naver 식의 방법을 쓸 이유가 전혀 없습니다. 왜 훨씬 더 열등한 서비스를 제공하면서 3%가 되었든 5%가 되었든 사용자를 배제합니까? 또, Naver 지도 서비스가 제공하는 기능이 더 많다고 하셨는데, 무슨 기능을 더 제공합니까? 설령 그런 기능이 있다고 쳐도 길 찾기, 지도 보기, 확대/축소하기, 인쇄하기, PDA로 옮겨 담기 등 기본적인 기능도 편리하게 제공하지 못 해서 두번 다시 쓸 마음이 나지 않게 만들어 놓은 상태에서 추가 기능이 무슨 소용이 있겠습니까?
[3] 웹의 기본 정신과 이상의 추구를 PHP, Perl, JSP, Java, C++, Windows, Mac OS X, Linux 등 특정 언어나 특정 플랫폼에 대한 광적인 선호나 옹호와 비교하신 것은 대단히 유감스러운 일입니다.
사족 :
조금 다른소리지만... 저는 개인적으로 텔넷창에서 키보드 두들겨가면서 구현하는 사람과 터
한국의 대단히 신기한 현상 중 하나. 아직도 텔넷과 FTP(anonymous가 아니라 계정과 패스워드가 있는)를 굉장히 많이 쓴다는 점. intranet에서는 쓸 수도 있지만, internet에서도 보란 듯이 쓰는 이해할 수 없는 .....