웹 표준을 준수하고 순차적으로 잘 정렬되어 있는 의미론적 마크업의 사용 그리고 표현과 동작의 분리에서 오는 잇점을 알리기 위해 올해 두 번째로 열리는 CSS Naked Day를 맞이하여, 이곳 블로그만이라도 4월 5일 하루 동안 발가벗겨 놓을 예정이다.

CSS Naked Day 2007

CSS를 걷어낸 적나라한 <body>의 속살을 드러내 놓고서 하루 동안 따스한 봄 햇살을 맞이할 준비는 마쳤지만, 어딜 가든 겉모습보단 벗겨놓고 감상해야만 직성이 풀리는 버릇은 계속되겠지. :mrgreen:

지금까지 일반적으로 JavaScript를 웹 문서에 심어놓을 때 MIME type으로는 다음과 같은 어쩌면 즉흥적이고 통일되지 못한 것들이 사용되어 왔다.

  • text/javascript
  • text/ecmascript
  • application/x-javascript (javascript 앞에 x가 붙은 것은 표준이 아닌, 실험적인 것임을 뜻함)
  • text/javascript1.5 (요새 브라우저들은 버전 숫자를 그냥 무시해 버림)
  • language=”JavaScript” (HTML 4부터는 지원하지 않음)

그래서 이런 혼란스런 상황을 막으려고 2006년 4월에 Javascript(ECMAScirpt)를 위한 MIME type의 표준(RFC4329)이 마련되었지만, 여러 브라우저들의 표준 JavaScript MIME type 지원은 아직 요원한 상황이다.
(확인해 본 바로는, 지금까지 오직 Firefox 1.5+, Opera 9+, Camino 만이 지원하고 있다.)

Javascript 프로그램은 그 성격상 text 문서로 지정하는 것은 적절치 않으며, 대신 application/javascript 혹은 application/ecmascript(이것을 사용하면 좀 더 엄격한 적용 규칙이 주어진다)를 대신 사용할 것을 권장하고 있지만, 이는 대부분의 웹 브라우저들이 지원하지 않는 한 그 실제 적용은 아직 이를 것이다.

당장은 그냥 서버 쪽 MIME type만 고쳐 둠.

어제 있었던 스티브 잡스씨의 MWSF 07 개막연설에서 보여준 iPhone의 데모 영상은, 휴대전화와 iPod 그리고 인터넷 통신 장비의 완벽한 조화로 이루어진 또 하나의 만능 개인 휴대 장비로서 많은 사용자들로부터 열광과 찬사를 받았지만, 이를 지켜본 웹 개발자들에게도 다른 시각의 가능성을 제시해 준 사건이었음이 분명하다.

그것은 지금까지 비교적 작은 크기의 휴대 장치 스크린과 느린 접속 속도에 초점이 맞추어졌던 WAP이동 통신용 웹 페이지의 정의를 다시 되돌아 보는 계기가 된 것이었다. 소개 시연에서 보여주었던 iPhone에서 실행되는 Safari의 웹 브라우징은 화면 크기의 제약에서 벗어난 새로운 시도로서, 160 ppi 해상도를 가진 320×480의 고해상도 화면 위에서, 손가락 끝에서 자유자재로 확대되고 축소되는 웹 페이지의 모습은 그야말로 진정한 One Web의 새로운 가능성을 일깨워준 것이었다.

지금까지의 Mobile Web 개발에 있어서 대세로 여겨져 왔던 CSS2의 handheld media type을 비롯한 여러가지 휴대 장치를 염두에 둔 기술들을 이용해서 독립된 또 하나의 웹 페이지의 필요성이 고려되고 있는 상황이, 기술과 장치의 발전과 더불어 실현된 상상력이 더해지면서 진정한 하나의 웹으로 다가갈 수 있다는 가능성을 보여주었다. 이것이 가져다 줄 미래의 mobile 웹 개발 방향에 미치는 파급 효과는 아직 예측할 수 없으나, 한 가지 변하지 않는 공통적인 필요 충분 조건은 바로 여태까지 강조되어 온 것으로 웹 표준에 맞춘 사이트일 것이다. 여기에 더해, 요즘 주목받고 있는 유연한 배치(elastic layout)도 큰 몫을 담당하리라고 본다.

그나저나, 한국에서의 진정한 Mobile Web 체험은 그야말로 아직 다른 나라 얘기이다. 🙁

현 우리나라 웹 개발 상황, 특히 웹 유저 인터페이스 측면에서 보면, 새로운 웹 개발의 추세를 올바로 반영하지 못하고 있으며, 아직도 구시대적이고 비효율적인 기술들이 그대로 재사용하고 있다. 또한, 웹 2.0 시대의 대표적 신기술들의 접목이라는 미명 아래 사용성과 접근성의 고민 없이 오히려 파괴적이고 무차별적인 유행 몰이식으로만 사용, 과시되고 있는 현실이다. 그렇다면, 이러한 잘 못된 개발 관습을 버리지 못하는 연유는 어디에서 오는가?

  • 과거에 배운 웹 기술들이 지금도 문제없이 돌아가므로 굳이 변화의 필요성을 느끼지 못한다.
    – 이것은 현재의 다양한 사용자들의 요구와 급격한 웹 기술 환경의 변화에도 무감각하다는 뜻이다. 결국은 시각을 넓히거나 앞을 내다보지도 못해서 과거에만 머무를 수밖에 없다.
  • 웹 개발자들의 무지 혹은 의도적인 무시.
    – 과거에 배운 기술들을 실무에 적용하는 데만도 시간에 쫓기고 골치 아파서 새로운 기술을 배울 여력이 없다. 이것은 가까운 미래, 아니 지금의 변화된 환경에 대한 적응력을 떨어뜨릴 수밖에 없다.
  • 웹 표준 기술들이 가지고 있는 기능적 제약?
    – 과거의 습관들과 기술들에 얼매인 상태에서는 새로운 기술들의 경향을 습득하고 적용하는데 어려움을 겪기 마련이고, 오히려 이것들이 제약으로 다가와서 웹 표준을 준수하면서 따라오는 장점들을 인식하지 못하고 오히려 웹 표준에 대한 오해를 불러 일으키게 된다.
  • 웹 저작 도구들의 미약한 웹 표준 지원
    – 지금의 상황은 과거보다 많이 나아졌다고 하지만, 시장에 나와있는 WYSIWYG 저작도구들은 아직도 불필요하고 표준에도 맞지 않는 코드를 양산하기 마련이고, 이것을 수정하기 위해서는 결국 사용자의 웹 표준에 관한 깊은 이해가 요구된다. 특히나 국내 모 기업의 웹 저작 도구는 웹 표준에 취약한 약점을 가지고 있다.
  • 과거의 웹 브라우져들 간의 웹 표준 지원의 미비로 인한 혼란의 결과.
    – 과거 불완전하고 미숙했던 웹 표준의 규약들과 이와 맞물려 웹 표준 나몰라라 하면서 자기들만의 기술들만을 강요했던 과거 웹 브라우져들간의 경쟁 속에서, 웹 표준은 오히려 혼란을 가중시켰던 골치거리였다. 하지만, 지금의 상황은 완벽하진 않지만 변하고 있다. 이중, 현재도 미약한 웹 표준 지원으로 가장 많은 비난을 받고 있는, 하지만 가장 높은 사용 점유율을 갖고 있는 IE의 경우 과연 IE7의 출연으로 새로운 변화를 이끌 수 있을까?
  • 소수와 약자에 대한 배려가 인색한 사회.
    – 이것은 그 동안 빠른 성장만이 지상 최대의 숙원이자 과제였던 이 나라의 특수성에 인한 것이리라. 과거에는 뒤쳐지고 다른 생각을 가진 사람들은 돌보고 배려할 겨를 없이, 그저 성장의 검림돌로 여겨져서, 무시되고 획일적인 통제만이 강요되어 왔었다. 하지만, 지금은 이런 사회 전반에 걸친 인식이 바뀔 때도 이미 지나지 않았는가? 더군다나 웹에선 다르다고 접근에 차별을 두는 것은 어리석은 짓이다.

그래서, 이러한 상황을 조금이나마 바꿀 수 있는 노력들로 어떤 것이 필요한가?

그것은 바로 웹 사용자들에 관한 시야를 넓히고, 그에 따른 올바른 적용 방법의 고민에서 출발한다. 결국, 웹의 모토라 할 수 있는 만인들을 위한, 그리고 모두가 접근할 수 있는 정보의 공유와 재생산의 가치를 제대로 인식해서, 특정 집단에만 열려있는 접근 경로의 차단막을 해체하고 공유없는 자기 정보 감싸기의 악습을 버려야만 한다.

악습을 타파하려는 변화는 이미 시작됐고, 이러한 변화의 파도가 주류(?)에도 어서 전달되었으면 한다.

날씨 widget들이 갑자기 먹통이 되어서 무슨 일인가 기상청 홈페이지에 들어가 보니, 절대 반갑지 않은 큼지막한 Flash 화면이 방문자를 반기고 있다. 개편이 있었구나.

마음을 다잡고 들어간 날씨 페이지는 역시나 대문에서 느꼈던 불안감을 없애주지는 못했다.

소스를 살펴보면서 느끼게 되는 황당함과 허탈감 그리고 연이어서 찾아오는 소외감은 이젠 왠지 익숙하다.

공지 게시판에 달랑 그림 한 장으로 올려져 있는 개편 소식에는 요즘 유행하는 Web 2.0이란 추상어까지 동원되면서 참으로 거창하지만, 그 어떤 것 하나도 마음에 와 닿지 않고 공허하게만 느껴진다.

웹 표준과 접근성을 중요시하는 현재의 웹 추세와 유행을 진정 반만이라도 따라가면 좋으련만… 이런 식의 개편은 오히려 다음 개편 때까지 들어갈 유지 비용과 노력, 시간만 축내는 천덕꾸러기로만 남게 되리라는 것을 왜 아직도 깨닫지 못하는가? 이런 천덕꾸러기를 양산한 개발자는 자신의 무지와 한계를 인식하고 꾸준한 자기 개발의 노력이 필요할 것이다.

나의 Dashboard 명당자리만이 새로운 주인을 물색할 조짐으로 비어있다.