첫눈의 남세동 팀장님이 블로깅을 시작하면서 웹 2.0, 기타 등등, 그리고 한국의 웹이라는 장문을 첫 글로 올리셨습니다.

우선 블로깅의 세계에 발 담그신 것을 축하 드리고 앞으로도 예리한 시각의 글 많이 부탁 드리겠습니다. 우선 최근에 나오는 기술 트렌드를 약간 비판적 시각에서 받아 들이자는 입장에서는 충분히 공감합니다.

그런데 글 내용 중 Ajax에 대한 부분은 수긍하지 못할 만한 내용이 있어 저도 약간 비판적인 입장에서 말씀 드려 보고자 합니다. 아마 남엑스님의 이어질 글에서 좀 더 이 문제를 다룰 것으로 예상 되기 때문에 더욱 그렇습니다.

Ajax에 대한 글에서 “일부 웹 기술/문화 오피니언 리더 그룹”이라고 지칭한 부류의 사람들이 나오고, 이들이 대중이 선호한 선도 기술을 배척하여 대중과의 괴리가 생겼다고 주장했습니다. 이 그룹은 국내 기술은 천대하고 비슷한걸 해외에서 하면 무비판적으로 수용하는 사대주의적 사고를 가진 사람들 처럼 이야기를 합니다.

… 그들이 얘기하던 웹 표준, 웹의 철학은 다 어디로 갔는지 의문입니다. 파이어폭스에서 채택하고, 구글에서 사용하면 웹 표준이 되고 웹 철학이 되는 것입니까? 국내 사이트들이 플래시로 만들면 “떡칠”이고 해외 사이트들이 플래시로 만들면 “RIA”인 겁니까? 세이클럽은 자바스크립트 떡칠이고, G메일은 Ajax 예술품입니까? 감정섞인 질문은 아닙니다. 진심으로 이성적인 답변을 기대합니다….

일단 “그들”이 누군지 정의 내려야 합니다. 아마 글쓴 분이 내려 줄 수 있겠지요. 이들이 해외에서 Web Standard Evangelism을 하고 있는 Web Standards ProjectWeb Standards Group은 아닌것은 분명합니다.

그들은 세이클럽을 모를테니까요. 사실 저는 이 글에 나타난 몇 가지 생각이 심하게 왜곡되어 있다고 생각하기 때문에 그 중에 포함될 가능성이 있습니다. 그래서 제가 좋아하는 사람들이 많았던 회사와 서비스임에도 불구하고 제 생각을 이야기 해 볼까 합니다.

1. 세이클럽에 대한 거부감
아시다 시피 Connection-less HTTP에서 채팅을 구현하기란 사실상 매우 어렵습니다. 당시 모뎀 환경에서 세이클럽은 그들 나름의 방법으로 웹 기반 채팅 서비스를 성공적으로 구현해 서비스 했습니다.

또한, 많은 사람들이 인터넷을 재미있게 사용하게 만든 모티프가 된 것도 그리고 아바타를 통한 수익 모델을 구축한 것도 칭찬할만 합니다. 그러나 이 서비스와 기반 기술에 대한 거부감이 있었던 것은 사실인데 거기에는 나름의 이유가 있었습니다.

제가 웹 표준 강의를 나갈때 마다 처음 이야기 하는 것이 “팀 버너스리”가 웹을 처음 만든 계기와 W3C의 철학을 담은 7가지 미션(영문)입니다.

그 중 첫번째가 Universial Access입니다. 이것은 어떤 운영 체제, 브라우저, 노약자, 장애인에 관계 없이 접근 가능한 웹을 구현하라는 의미입니다. 웹 표준을 강조하면서 제가 항상 예를 드는 스크린샷이 있습니다.

Hidden Frame이나 Applet은 그렇다 치더라도 세이클럽은 시작 부터 지금까지 브라우저나 운영 체제 지원에 대한 고려가 제대로 된 적이 없었습니다. (Sayclub Archive 참조) 당시 일단 IE에서 지원하기 시작하는 기능을 위주로 웹 서비스를 만들어 왔기 때문입니다. (아마 IE에서 채택되는 기술이 자사 서비스를 만드는데 더 유용했다는 내부 판단이 있었겠죠.)

특히 채팅 뿐만 아니라 메일, 클럽 등 다양한 기능이 추가되었음에도 다른 브라우저는 원천 봉쇄 되어 왔습니다. 채팅하거나 메모할때나 필요한 기능임에도 ActiveX가 아니면 로그인도 못하도록 원천 봉쇄 해 놓았습니다. 아직도 IE외 웹 브라우저를 원천 봉쇄한다던가 로그인에 ActiveX를 필수로 제어하는 나라는 아마 우리 나라 밖에 없을 것입니다. (세이클럽이 그런 기술의 최초입니다.)

1997년 IE4.0이 출시되고 MS와 넷스케이프간 본격적인 브라우저 전쟁이 시작되었을 때 사실 많은 혼란이 있었습니다. 당시 많은 웹 사이트들이 이런 혼란 가운데에서도 IE/Netscape 양쪽을 지원하기 위한 힘든 노력을 하고 있었습니다. 양사가 경쟁적으로 비표준 태그를 양산하고 Plugin Platform을 만들어 내는 동안에 웹 개발자들은 그나마 중립을 지키기 위해 노력하고 있었습니다.

이런 상태에서 당시 표준도 아닌 iframe같은 태그를 남용하는 것이 비판을 받았습니다. (그렇다고 넷스케이프의 layer를 함께 지원하는 크로스 브라우징을 한것도 아닙니다.)

또한, 자바스크립트도 사용하는 것 자체를 비판하지 않습니다. 웹 표준의 철학에는 “CSS나 자바스크립트를 disable하더라도 서핑이 가능해야 한다”는 원칙이 있습니다. 그러나 세이클럽에서 사용되었던 자바 스크립트들은 이런 원칙을 심각하게 훼손한 것들이 많았습니다.

예를 들어, 메뉴탭이나 완료, 수정이라는 버튼을 만들때도 HTML 태그가 있는데도 어김없이 자바스크립트를 사용했습니다. 제 기억에는 대략 아래와 같은 스크립트 였던 것 같습니다. (아직도 세이클럽 js 파일을 보면 이런 것들이 남아 있을 겁니다.)


<script>SetButton("수 정", "Submit", "/edit.nwz", "#ffaa00","...") </script>// form 수정 버튼
<script>MenuTab(...["메일", "onClick", "/mail]...["클럽", "onClick", "/club"]...) </script>// 메뉴 탭

또한, ECMAScript를 준수해서 브라우저 호환성을 맞추어 줄 필요도 있습니다만 세이클럽은 MS Jscript를 심각하게 오용한 대표적인 사례라고 볼 수 있습니다.

대중의 인기로 성공한 웹 사이트에 대한 이러한 비판들이 대중과의 괴리로 이어졌다고 판단한다면 그렇게 생각할 수도 있을 것입니다. 그러나, 남엑스님이 이어서 이야기한 대로 우리 나라에서 성공한 서비스들이 해외로 못가는 가장 기본적인 이유는 이 “그룹”들이 비판했던 웹에 대한 기본적인 성찰이 부족해서 입니다.

네이버, 일본에 망신당하러 가다에서 언급한 대로 우리 나라 웹 사이트들이 해외에서 오픈 하려면 다시 사이트를 제작해야 합니다. 심지어 본인 회사에서도 라이코스에 새 서비스 이전 론칭 시 이를 고려할 수 밖에 없었습니다.

저는 철수님이 언급하신 언어 문제 말고도 우리가 좋은 아이디어와 기술을 가졌음에도 글로벌한 서비스를 만들어 내지 못하는 근본적인 이유가 여기에 있다고 생각합니다.

2. Ajax와 웹 표준은 괴리인가?
“그들”이 Ajax를 마치 열광적으로 옹호한 것 처럼 이야기하셨는데 Ajax라는 개념을 처음 적용한 Gmail이 나오고 이 기술이 이른바 웹2.0 서비스에 본격적으로 도입되기 시작했을 때 해외 웹 표준 그룹에서도 강력한 거부감이 있었습니다. Ajax는 웹의 기본 속성인 링크를 통한 네비게이션을 거부하는 기술입니다. Back / Forward, Permalink 같은 것들이 무시 될 수 있습니다.

제가 작년 Ajax 실전 워크샵 초반부에서도 이 부분을 많이 할애했고 오히려 경쟁 RIA 기술을 많이 다루었습니다. 게다가 마지막 강의는 통째로 이런 문제들을 해결하는 방법에 할당하기도 했습니다. 그러나 이러한 문제에도 불구하고 Ajax 개념이 웹 표준 그룹에서 받아 들여지고 있는 것은 Gmail이 HTML 버전을 제공했고 Back/Forward 같은 네이게이션 문제에 대한 해결 방법이 나와서가 아닙니다.

Ajax의 정의를 한번 보십시오.
- standards-based presentation using XHTML and CSS;
- dynamic display and interaction using the Document Object Model;
- data interchange and manipulation using XML and XSLT;
- asynchronous data retrieval using XMLHttpRequest;
- and JavaScript binding everything together.

세이클럽이 한 기술적인 작업과 Ajax를 기반한 기술적인 작업의 차이를 이해 하시겠습니까? Ajax의 개념은 웹 표준의 철학과 관점을 기반으로 리치 어플리케이션을 다루기 위한 노력입니다. Ajax에서 중요한 것은 XMLHttpRequest가 아닙니다.

웹의 세가지 요소인 구조, 표현, 행동자(Behavior)가 분리된 가운데 DOM Scripting과 XML 렌더링 같은 중요한 이슈를 포함하고 있습니다. (DOM Scripting에서도 접근성을 고려하는 방법들은 실전 웹 표준 가이드에서 DOM Scripting 편을 한번 보셔도 좋습니다.)

브라우저 접근성이 제약된 ActiveX를 기반으로 구조와 표현, 행동자가 혼재되어 떡칠된 세이클럽과 다른 점이 바로 이것입니다.) Ajax를 XMLHttpRequest로만 이해하려는 사람의 입장에서 보면 옛날 Remote Scripting과 뭐가 다르겠습니까?

아직도 웹 표준 그룹 내에서도 Ajax에 대한 찬반이 있는 것은 사실입니다. 특히 Hollobit님의 Jeffrey Zeldman의 Web 3.0 (원문)에서 Ajax에 대한 냉소를 보실 수도 있습니다.

그러나 Ajax를 개념을 제대로 사용하기 위한 모질라와 오페라의 WHAT W/G, WebStandards DOM Scripting Task Force (Press Release)나 W3C의 Rich Web Client Activity 같은 노력은 바로 웹 어플리케이션 분야에서 웹 표준 방법론을 접목하려는 정직한 노력들입니다. Ajax에 열광적이라는 “그들”이 버린 웹 표준과 웹 철학은 도대체 무엇인가요.

3. 글로벌 서비스로 가려면 글로벌 스탠다드를
웹에서 비지니스를 해서 먹고 살아야 하는 회사에 입장에서 이런 것들이 별나라 이야기 같고, 웹에서 성공해 돈을 만져본 승리자의 관점에서는 이런 딴지가 웃기게 들릴 수 있습니다. W3C가 망하지 않고 10년을 끌고 온 원동력이 바로 웹의 철학 위에 공정한 비지니스 (표준) 경쟁이 벌어지고 있기 때문입니다. 웹 발전 10년을 관통하고 있는 글로벌한 웹 철학을 공유해야 합니다.

웹 초창기에 우리 나라는 일단 웹에 올릴만한 정보가 부재했기 때문에 세이클럽 같이 PC 통신이나 IRC로도 사용할 수 있는 기능을 웹에 옮겨오려는 노력이 의미있는 것이기도 했습니다. 그러나 사실 세이클럽이 네오위즈의 원클릭 종량 사용자들이 좀 더 인터넷에 체류하게 하기 위한 비지니스 수단으로 기획되었기 때문에 당시 웹 에반젤리즘 관점에서는 가장 Success Case였던 세이클럽을 통해 우리 나라 웹이 너무 어플리케이션을 지향한다는 비판을 가하기도 했습니다.

이러한 흐름은 게시판, 메일, 동호회, 인트라넷(PC 기반 그룹웨어를 웹 기반으로 만들려는 노력)이나 인터넷 뱅킹 등 어플리케이션에 필요한 직접 커뮤니케이션 수단으로만 웹의 이용이 집중됐다는 것입니다. 이런 몇몇 주도적인 솔루션이 성공한 결과로 우리 나라에서 ActiveX를 사용하는 것이 무비판적으로 받아들여진 것입니다.

상대적으로 웹에 정말 필요한 컨텐츠는 축적 하는 일은 등한시 했습니다. 네오위즈가 한국 웹 10년사에서 원클릭-세이클럽-피망 등 비지니스적인 성공은 이루어 왔지만 뭔가 부족하다고 생각되는 것이 바로 이러한 웹의 철학에 대한 문제 입니다.

비록 좀 다른 경우지만 글로벌 기술력에 대한 다른 예를 하나 들어 보겠습니다.

ThinkFree Office는 웹 기반상에서 로딩되는 애플릿 기반 오피스 프로그램인데 최근에 Windows Office Live 정책과 OpenOffice에 대한 구글과 썬의 제휴로 부각된 국내 벤처기업입니다. 이 회사의 서비스는 자바 애플릿으로 개발되었고 해외에 다수 레퍼런스를 가지고 있습니다.

옛날 WWW-KR 활동 멤버였던 박재현 CTO와 이야기 했을 때 이 회사의 기술력은 크게 두 가지 였습니다. 모든 운영체제와 브라우저에 다르게 적용된 JVM에 대한 호환성 유지와 MS Office File에 대한 리버스 엔지니어링을 통한 파일 포맷 호환성 유지가 바로 그것입니다. (윈도우 UI와 똑같이 보이게 하기 위한 Swing 옷입히기 노가다도 있지만…^^)

2월에는 Ajax를 기반한 Front와 Applet을 적절히 조합한 서비스도 내놓을 예정입니다. (MeasureMap은 Ajax를 Flash랑 적절히 조합한 것입니다.) 많은 해외 기업들은 단지 MS Office의 대안으로 브라우저와 운영체제와 관계없이 웹에서 구동된다는 점에서 좋아한다고 합니다. Thinkfree가 해외에서 주목 받는 것과 Sayclub 같은 훌륭한 서비스가 해외에 나가지 못했던 것은 어떤 차이일까요? 비록 웹 기반 서비스는 아니지만 브라우저와 운영체제에 관계없이 구동 시키려는 그들의노력입니다.

저는 항상 Universial Access가 가능한 웹 표준을 지켜라. 만약 지키지 못한다면 접근성을 최대로 하는 대안 기술이라도 제공해라. 대안을 제공하지 못한다면 가급적 사용하지 말라 라고 이야기 합니다.

제가 속한 Daum에서도 플래닛의 MyTV를 라이코스로 가져갈때 Flash 버전으로 만들었고, 카페온(CafeOn) 기능도 Ajax로 대체한 기술적 검토를 하고 있습니다. 이번주에 오픈할 새 동영상 서비스에서 파일 업로드 기능이나 플레이어 기능에도 브라우저 호환성을 맞추는 기술적 시도를 했습니다.

저는 이러한 시도가 소수 파이어폭스나 맥 사용자를 위한 것 보다도 글로벌한 경쟁력을 확보하는데 의미 있는 것이라는 생각을 가지고 있습니다. 이보다 더 많이 노력하는 다른 분들도 마찬가지 이구요.

분명 저와 다른 생각을 가지신 분들도 계시겠지만 우리에게 웹 10년이 준 결과를 이런 형태로도 반추해 볼 필요는 있다고 생각됩니다.

p.s. 저는 아직도 웹을 커뮤니케이션 지향으로 가져가서 사람들의 시간을 뺏으려는 “의도가 분명한 서비스”들은 웹이 아니라 TV와 같다는 생각을 지울 수 없습니다. 우리는 웹을 Archive와 Log로 보는 관점이 필요한 시점입니다.