요새 폭설 피해 기사들을 보면서, 별 도움은 안 되겠지만, 뜬구름 widget에도 기상 특보 상황을 표시해 주는 기능을 추가해 놓으면 알맞겠다는 생각에 기상청 홈페이지를 살펴보았다. 물론 기상 특보 상황은 대문에서 바로 살펴볼 수 있으니, 문제는 이놈을 XMLHttpRequest Object로 끌어오기만 하면 되는 샘.
생각보다 쉬우리라는 기분으로 기능을 추가하고 뜬구름을 실행시켜 보았으나…감감무소식이다.
결국, 이런저런 궁리 끝에 console.log를 살펴보니, 다음과 같은 자국이 찍혀 있다.

[526] http://www.kma.go.kr/index.jsp:Error - DOM Exception 3

DOM Exception 3? 뭐지? Document Object Model Exception 3???

문제의 원인은, 기상청 홈페이지의 html 소스를 보면 금방 알아차리게 된다.

맙소사. !DOCTYPE은 물론이고 <html> 시작 꼬리표까지 없단다. (그렇다면, 맨 밑의 </html> 꼬리표는 실수로 붙었단 말이냐?)
정부 사이트들이 웹 표준 나 몰라라 하는 상황은 이미 알고 있었지만, 이 정도일 줄이야…
이것은 사이트 제작자의 실수 이전에, 기본을 지킬 수도 없는 무지에서 나온 결과랄 수 밖에 설명할 도리가 없다.

앞니가 빠진 꼬리표 덕분에, html 문서도 일반 글자 문서(plain text)도 아닌 어처구니 없는 상황인지라 XMLHttpRequest로는 원하는 정보를 끌어올 방법이 없다. (물론, 다른 꼼수는 있겠지만, 힘 빠지는 것은 마찬가지.)

그나마 아쉬운 마음에 대문에 쓰여 있는 국민으로부터 사랑받는 열린 기상청이라는 문구 때문에라도, 소귀에 경 읽기 심경으로, 문의 게시판에 정정 요구를 해봤지만, Safari와 Firefox에서는 글도 올라가지 않는다. 참으로 징하다. 🙁

전자 정부 부르짖는 그들은 실로 대~충 그까짓 거 뚝딱 정부로세. 👿

또 다른 탄생을 준비하고 있는 대~충 그까짓 거 뚝딱 현장 방문하기 << 말이 디지털이지 그 속 내는 그까짓 거 대~충하는 섬세하지도 못한 아날로그이다.

Drifting Clouds Icon 마침내 이런 widget이 있었으면 좋겠다고 개념만 잡고 있던 나의 첫 widget을 완성했다. 🙂
이름하여, 뜬구름 (Drifting Clouds).
비슷한 기능을 가지고 있으면서 이미 배포된 Radar In Motion이라는 훌륭한 widget도 있지만, 한반도 구역 위성 영상의 경우, 갱신 주기가 비교적 늦고 해상도 또한 낮아서 아쉬워 했던 차에…
기상청에서 제공하는 위성 영상을 빌려오는 방법을 찾다가, 기상청 웹터의 얽혀있는 구조때문에 약간의 곁재주를 부려 결국은 후딱 만들어 버리게 되었다.

이렇게 Dashboard의 widget을 구현하는 데에는 특별한 지식이 필요 없고, 기본적인 web 개발 상식만 가지고도 쉽게 만들 수 있다는 점은 큰 매력이다.

현재는 무척 단순한 형태지만, 이름에서 풍기는 뜬구름처럼 Dashboard에서 덧없게 사라지는 꼴이 되지 않으려면, 앞으로 차근차근 기능들을 추가해야 할 것이다.