김중태문화원 원장 웹표준에 대한 글을 옮겨 왔다. 되새겨 보고자 퍼담는 블로그(?)에 담아본다.


     

    [표준1] 웹표준을 지켜야 하는 이유

    웹표준에 관해 몇 번으로 나누어 글을 올리고자 한다. 몇몇 사이트에 가보면 여전히 웹표준과 브라우저를 구분 못하는 사람들이 있기에 첫 번째는 웹표준을 준수해야 하는 이유를 주제로 삼았다.

    (1) 익스플로러도 표준을 잘 지키는 브라우저다.

    익스플로러에서는 잘 보이는데 불여우에서는 깨지는 사이트 논쟁을 하면서 꽤 많은 사람들이 시장을 장악한 익스플로러에 맞게 개발해야지 소수인 불여우 사용자까지 배려할 이유는 없다고 말한다. 이런 말을 하는 개발자는 표준을 정한 이유나 표준의 뜻도 모르는 사람이다. 익스플로러도 웹표준에 맞게 개발된 사이트를 그대로 보여주는 웹표준 준수 브라우저고, 불여우도 웹표준에 맞게 개발된 사이트를 그대로 보여주는 웹표준 준수 브라우저다. 다시 말해서 웹표준 사이트라면 익스플로러에서나 불여우나 기타 브라우저에서도 다 잘 보인다.

    (2) 웹표준과 브라우저는 구분하자.

    많이 쓰는 브라우저가 사실상의 웹표준 아니냐는 식의 주장 또한 웹표준과 브라우저를 구분하지 못하는 사람이다. 웹표준은 웹에 대한 표준이지 브라우저에 대한 표준이 아니다. IT종사자라는 사람들이 웹과 웹을 여행할 때 쓰는 이동수단인 브라우저도 구분 못한단 말인가?

    도로로 비유하자면 현대에서 만든 승용차가 대부분이므로 승용차에 맞게 표준도로를 바꾸자고 하는 꼴이다. 소수인 트럭, 버스, RV차가 도로폭이 좁아 못 다니겠다고 비판하면 사실상 차의 표준인 승용차에 맞게 도로를 설계해야 한다면서, 도로 개선 대신 차를 바꾸라고 하는 꼴이다.

    (3) 웹사이트는 도로, 브라우저는 이동수단인 차에 해당한다.

    도로는 표준대로 설계해야 한다. 그 도로 위에는 현대 승용차도 다니지만, 쌍용승용차, 현대트럭, 오토바이, 장애인전용차, 소방차와 같이 다양한 차들이 다니기 때문이다. 사람마다 사는 방식이 틀리고 직업이 틀리기 때문에 차의 종류도 다양하다. 그래서 아이들을 위한 통학버스도 있고, 장애인차며, 소방차며, 승합차가 있는 것이다. 그런데 이런 차들이 다녀야 할 길로 갈 수 없다면 그 길을 잘못 설계했거나, 제대로 설계했는데 설계대로 안 만든 사람이 문제인 것이다. 소방도로면 표준에 맞게 만들어야 소방차가 지나갈 수 있다. 그런데 길 넓히는 비용 아깝고 빨리 길을 만들어야 한다는 이유로 소방도로를 자기 집 승용차만 겨우 지나갈 수 있는 좁은 길로 만들어버리면, 불났을 때 그들 가족부터 모두 타죽을 것이다. 그래서 소방도로는 소방도로 표준에 맞게, 간선도로 지방도로 국도 고속도로는 해당 도로 표준에 맞게 만들어야 하는 것이다.

    마찬가지로 웹사이트도 표준에 맞게 만들어야 한다. 그 사이트를 익스플로러를 타고 다닐 수도 있지만, 불여우를 타고 다닐 수도 있고, 장애인 전용 브라우저나 PDA 전용 브라우저를 타고 다닐 수도 있다. 익스플로러라는 자동차(배가 더 적합한 비유겠지만)에 맞추어 설계해놓고 장애인이나 PDA사용자보고 브라우저를 PC용 익스플로러로 바꾸라고 강요하는 개발자는 근본적으로 자세가 잘못된 것이다.

    (4) 돈을 핑계 대면 구차한 변명이지만, 표준을 안 지켜도 된다고 주장하면 무식이다.

    돈이나 시간부족으로 소방도로를 넓고 튼튼하게 만들지 못했다는 것은 변명이라고 말하지만, "소방도로나 간선도로를 왜 넓게 지어야해? 대부분의 차가 승용차니까 승용차만 드나들게 도로를 지어도 되지."라고 말하는 인간은 무식한 인간이라고 말한다. 이런 인간이 도로를 설계하면 불 끌 때도 승용차에 물통 실어서 꺼야 하고 단체관광도 승용차 수 십 대로 해야 한다. 세상의 어떤 개발자가 제품을 만들면서 KS나 ISO 표준을 안 지켜도 된다고 주장하는가. 실력이 없거나 나쁜 마음이 있으니까 못 지키는 것 뿐이다.
    마찬가지 이유로 시간이 없어서 웹사이트를 표준대로 만들지 못하고 편법으로 만들었다는 것은 변명이라고 말하지만, "익스플로러에 맞추어 웹사이트를 설계해야지."라고 말하는 인간은 무식한 인간인 것이다.

    표준에 맞지 않게 도로나 다리를 설계하면 곡선을 돌다 버스가 전복되기도 하고, 성수대교처럼 다리가 내려앉기도 하면서 수 많은 사람의 생명을 잡는다. 웹사이트 역시 표준에 맞지 않게 설계하면 누군가 피해를 보기 마련이다.

    (5) 개발자는 자신의 가족이 익스플로러를 쓰지 못하는 경우를 고려해야 한다.

    앞으로는 모든 관공서, 은행, 교육, 병원 진료도 웹에서 이루어진다. 자신의 동생이 지체장애인이고 매킨토시로 집에서 편집일을 한다고 하자.(실제로 디자이너나 개발자 중에 장애인 많다.) 부유하지 않을테니 겨우 매킨토시 하나 구입해 쓸 것이다. 그런데 그 동생이 익스플로러만 들어갈 수 있는 사이트 때문에 은행 일도 못보고, 병원 사이트도 사용하지 못하고, 관공서 업무도 볼 수 없어 휠체어 이끌고 은행이며 관공서까지 가야 한다.(이것은 현재 우리나라의 현실이다.) 그래도 당신은 'PC 구입해서 익스플로러 깔아 쓰면 되지?'라고 말할 것인가?

    그것도 한 방법이 될 수 있다. 우리나라 인도나 공공도로에 계단이 많고 휠체어운반시설이 부족하다고 투덜대는 장애인에게, 몇 천 만원 짜리 계단 올라가는 전동휠체어 구입해 쓰라고 권하는 것도 하나의 방법이 될 수 있다. 하지만 대한민국 현실에서 대부분의 장애인은 매킨토시로 관공서 사이트를 들어가지 못하면 손으로 휠체어 밀고, 주변 사람에게 도움을 요청하면서 머나먼 관공서까지 다녀와야 하는 처지다. 이것이 바로 표준이 뭔지도 모르고, 다양한 사용자에 대한 배려가 없는 IT 개발자가 주는 결과다. 그런데도 표준을 왜 지키냐고 떠들 것인가?

    장애인 중에는 리눅스로 만든 장애인용 단말기로 웹을 사용하는 사람이 있을 수도 있으며, 누구에게나 장애는 예고 없이 오므로 자신의 가족이 그 가운데 포함될 수도 있다. 그때서야 왜 우리나라 웹사이트가 표준을 지키지 않느냐고 울분을 토할 것인가?

    외국에서 왜 웹표준을 지키는 모든 브라우저라면 사이트 이용에 문제 없도록 설계하고 개발하는 이유는 여러 가지 이유로 PC와 익스플로러를 쓰지 못하는 사람들이 있기 때문이다. 웹표준을 지키도록 개발된 브라우저로 사용할 수 없는 사이트를 개발한 개발자는 그래서 반성해야 하는 것이다.

    음식을 만들 때는 자기 가족이 먹는다는 생각으로 만들어야 한다고 한다. 그렇지 않은 사람은 불량재료로 대충 음식을 만들어 남에게 피해를 준다. 집을 지을 때도 우리 가족이 살 집이라 생각하고 만들어야 좋은 집이 나온다. 그렇지 않으면 불량 재료로 집을 대충 지을 것이고, 삼풍백화점처럼 수 많은 사람이 죽어간다. 웹사이트나 프로그램 또한 내 가족을 생각하며 만들어야 한다.

    (6) 일반인 수준의 IT실력을 가지고도 명함에는 IT개발자라고 쓰고 싶은가?

    일반인이 '남들처럼 자동운전면허증을 따서 오토 승용차만 몰면 된다'고 말하면 아무런 문제가 안 된다. 하지만 버스운전사나, 레이서, 자동차개발자가 오토승용차만 몰아봐도 멋진 트럭이나 레이싱카 운전하거나 만들 수 있다고 말하거나, 도로설계가나 토목기사가 '일반인이 대부분 승용차 타고 다니는데 고속도로나 소방도로라도 승용차만 다니게 대충 만들면 되지.'라고 말하면 자질이 없다고 말한다.

    소위 IT개발자나 웹디자이너라는 사람들이 '불여우는 일부 IT 종사자나 쓰지, 일반인은 쓰지도 않는데, 왜 그런 브라우저 쓰면서 웹표준 지키라고 외치는지 몰라. 그냥 익스플로러 사용하면 되지.'라고 말한다. 이는 스스로 일반인 수준의 IT실력 정도임을 자백하는 말이다. 불여우나 사파리라는 신제품을 써보고 해당 브라우저의 장점을 수용해 사이트나 자신들이 개발하는 애플리케이션에 반영할 생각은 안하고, 남들 다 쓰는 익스플로러 쓰면 될 일이라고 말하면 무엇을 새롭게 개발할 것이 있는가. 도대체 무엇을 벤치마크 하는 것인가? '복사하기와 붙여넣기 신공'은 일반인이 구사할 무공이지 개발자가 구사할 무공은 아니다.

    개발자로 성공하고 싶다면 남보다 앞서 불여우를 사용해보고 익스플로러나 불여우보다 뛰어난 프로그램을 개발하려고 노력해야 한다. 그래야 개발자라는 명함이 부끄럽지 않을 것이다.

    (7) 표준 준수는 개발자나 디자이너의 기본 자세다.

    일반인이라면 도로나 자동차 부품의 규격에 대해서 관심을 가질 이유도 없다. 직경 몇mm 나사를 사용하는지, 어느 정도 하중을 견디게 도로나 다리를 설계해야 하는지 알아야 할 필요가 없다. 그저 승용차 운전만 하면 된다. 하지만 개발자라면 부품의 표준과 비표준이 무엇인지 알아야 하며, 자동차나 도로가 어느 정도의 하중을 견디는지, 도로의 코너면 경사도는 몇 도로 설계해야 하는지 등을 알고 표준에 맞게 설계하고 만들어야 한다.

    웹표준을 만든 이유가 무엇이며, 왜 웹표준을 지켜야하는지 아직도 모르겠다면 나는 공부 안하는 개발자요, 아무 부품이나 넣어서 자동차와 다리를 만들겠다는 무책임한 개발자이며 기획자임을 고백하는 것이다. 이런 사람에게 KS며 ISO에 대해 말하는 것이 낭비다. 남들이 뭐라 하건 대충 사이트며 프로그램 개발한 다음에 문제 생기면 책임 떠넘기고 변명하며 살아가는 인생으로 만족하겠다면 이 글의 내용 전부 무시해도 된다.

    하지만 제대로 된 개발자, 발전하는 개발자가 될 생각을 가지고 있다면 왜 표준을 지켜야 하며, 표준과 비표준의 차이가 무엇이 있는지 명확하게 알아야 할 것이다. 또한 표준을 지키기 위해 최대한의 노력을 해야 할 것이다. 표준설계를 안 따르는 설계, 표준설계도를 줬지만 표준설계도 무시하고 지은 집과 다리, 자동차도 있다. 하지만 이런 자동차와 집은 언젠가 불편과 불행을 준다. 성수대교며 삼풍백화점으로 인해 죽은 사람은 우리 국민의 일부에 불과하지만 일부라는 이유로 엉터리 집을 지어도 된다고 주장하지는 않을 것이다. 웹사이트며 웹 관련 프로그램 역시 표준설계에 따라 설계해야 하는 이유는 이 때문이다. 표준과 원칙을 지킬 때 더 많은 사람이 행복해지기 때문이다.

    일부러 소수를 위해 특별하게 배려하는 것까지는 바라지 않는다. 하지만 최소한 표준대로 집을 짓고, 도로며 자동차를 만들어야 하는 것처럼, 표준만이라도 지키며 웹사이트를 개발하고 프로그램을 개발해주기를 부탁한다.

    주소: http://www.dal.kr/blog/archives/000935.html


     

    [표준2] 웹표준을 못 지키는 것이라면 지금부터라도 공부하자.

    인터넷 사이트를 돌아보면 알겠지만 유독 한국 유명 사이트에서만 '이 사이트를 이용하시려면 IE 5 이상을 사용해야 합니다.'라는 식의 안내문을 주로 만난다. 많이 다녀본 것은 아니지만 내가 다녀본 미국 유명 사이트나 기타 해외 유명 사이트에서는 아직 이런 안내문을 본 적이 없다. 또한 불여우나 타 브라우저로 돌아다녔을 때 깨지는 사이트 역시 대부분 한국 웹사이트다. MS사가 지배하는 미국조차 익스플로러 아닌 다른 브라우저로 여행할 때 아무런 문제가 없다. 왜 한국 웹사이트만 이렇게 IE 종속이 심할까?

    실력이 모자라기 때문이다. 결국 웹표준을 안 지키는 것이 아니라 못 지키는 경우가 대부분이다.

    아마 많은 기획자나 개발자들이 무리한 일정에 맞추기 위해서라고 변명할 것이다. 그리고 이 변명이 모두 틀린 말은 아니다. 분명 웹표준을 지키면서 일정을 맞추기란 쉽지 않다. 그런데 왜 표준을 지키면서 일정을 맞추는 것이 어려울까? 표준을 지키기 위해서는 일정 기준 이상의 기술력을 가져야 하기 때문이다.

    잘 아는 것처럼 표준대로 일하는 것이 더 빠르고 정확하다. 향후 관리의 효율성에서 표준과 비표준의 차이 좋은 것 아닌가? 그래서 포항제철이 1950억 원이라는 엄청난 돈을 들여 표준화 프로젝트를 시행한 것이고, 한국의 KS를 비롯해 국제적인 ISO 표준을 만드는 것이 아닌가? 표준을 지키면 훨씬 효율적이다. 하지만 이를 위해선 기술력이 필요하며 장기적인 관점이 필요하다.

    어떤 기업에서 전열기구나 자동차 부품을 생산한다고 하자. 그런데 KS에 맞는 제품이나 부품을 만들지 못한다면 그 이유는 납기일 때문일까? 아니다. 누구나 기술력이 부족한 기업이기 때문이라도 판단한다. 마찬가지로 웹표준을 지키며 납품하지 못하는 이유는 기술력 부족이다. 포항제철이 표준화 프로젝트를 통해 갖춘 경쟁력 효과는 다음과 같다.


    [포항제철의 표준화 프로젝트 효과]
    - 열연코일 납기: 30일에서 14일로 단축
    - 냉연코일 납기: 40일에서 19일
    - 고객 답변: 세 시간에서 6초
    - 월 결산: 6일에서 하루로
    - 연도 결산: 15일에서 5일
    - 예산편성기간: 110일에서 30일

    * 출처: 포항제철의 4조7천억원 실험.(이정환닷컴)

    표준화된 시스템과 표준화 기술은 곧 경쟁력이다. A 시스템에만 맞추는 것은 단기적으로 쉬울지 몰라도 B, C에 납품할 때 또 다시 상당한 양의 노력이 든다. 하지만 표준화를 해놓으면 A에 맞춘 것을 손보지 않고 B, C에 그냥 납품하면 된다.

    A 기업의 실제 사례를 살펴보자. 웹관련 서비스 개발을 맡기면서 따로 프로그램을 설치하는 것은 사용자에게 접근하기 어렵고 시장성도 떨어지니 브라우저로 해결할 수 있도록 하라도 지시하고 모든 것을 직원에게 일임했다. 나중에 결과를 보니 액티브엑스를 이용했다. 사장이 액티브엑스 없이 XML만 이용해서 개발해야지 왜 액티브엑스를 사용했냐고 말하자 개발진은 이런 말을 한다.

    "사장님 액티브엑스 없이 XML만 가지고 동작하게 하려면 공부도 해야 하고, 시간도 오래 걸려요."

    아마 개발진의 이 대답이 현실일 것이다. 내가 만난 개발자 중 상당수는 ASP만 다룰 줄 알거나, MS의 비주얼 시리즈, 자바 정도 공부한 경우가 대부분이다. 그 이유는 잘 아는 것처럼 중고등학교 때부터 십 년에 걸쳐 프로그래밍을 공부하고 배운 친구들이 아니라, 최근 몇 년 동안 정부 정책에 의해 몇 개월 과정으로 속성 배양된 개발자들이 다수를 차지하고 있기 때문이다.
    그래서 이들 중에 웹표준 규격의 종류나 차이점을 제대로 이해하는 사람은 많지 않다. 아니 관련 문서도 제대로 읽어본 적 없다. RSS며 아톰이 무엇인지도 모르는 개발자에게 RSS 표준 구현을 요구하려니 힘들다.

    하여간 A 기업 사장은 XML로 개발이 가능한데 왜 구글처럼 액티브엑스 없이 구현을 못하느냐고 질책을 한 뒤, XML로 개발을 지시했다. 왜냐하면 처음 개발은 어려울지 몰라도 개발실력을 축적한 뒤에는 모든 사용자가 부담 없이 접근할 수 있고, 향후 XML로 개발한 기술 자체가 큰 경쟁력이 되기 때문이다.

    웹용 기능을 구현할 때 응용 프로그램 형태로 개발해 따로 PC에서 실행하는 방식의 개발이 쉽다. 액티브엑스를 이용해 사용자가 별도의 실행 프로그램을 실행시키지 않도록 하는 것은 다음으로 어렵다. 액티브엑스나 플러그인을 사용하지 않고 기본 브라우저만으로도 구현하는 일은 더 어렵다.

    원래 표준에 맞게 제품을 개발하는 일은 어렵다. 그러니까 KS 마크 따기도 어렵고, ISO 인증 따기도 어려운 것 아닌가. 웹표준에 맞게 사이트를 설계하고 웹프로그램을 개발하는 일 역시 쉽지 않다. 그만큼 실력이 필요하기 때문이다. 하지만 이 실력을 갖춘 다음에는 표준에 맞게 개발하는 것이 더 빠르고 이익이 많이 나는 일임을 잘 안다. 한 번 개발한 것을 다른 곳에 그대로 써먹을 수 있기 때문이다.

    그러므로 웹표준에 맞게 개발하려면 먼저 표준 관련 규격과 구현 기술을 공부해야 한다. 그렇게 실력을 쌓아야 웹표준에 맞는 개발이 가능할 것이다. asp나 비주얼베이직만 겨우 다루는 개발자에게 웹표준을 요구하는 것은 무리다. 이 모든 책임을 기획자나 개발자에게 돌릴 수는 없다. 체계적으로 교육받지 않고 투입된 인력이기 때문이다.

    하지만 당신이 지금 기획과 개발을 맡고 있다면 지금부터라도 웹표준에 대해서 공부하라. 지금부터라도 공부하고 대비한다면 1년이나 2년 뒤에는 웹표준에 맞게 사이트를 개발할 수 있을 것이고, 몇 년 후에는 우리나라 사이트도 웹표준에 맞게 설계될 것이다. 그리고 그 실력은 곧 자신의 경쟁력이 될 것이다. 윈도나 맥, 리눅스, 유닉스를 가리지 않고 바로 개발이 가능하다는 것이 바로 자신의 실력이고 경쟁력인 것이다.

    주소 : http://www.dal.kr/blog/archives/000977.html

    Posted by 부니기