한글판 날씨 가젯을 사용할 수 있는 것은…

weather_gadget_1.1.0.7
날씨 1.1.0.7

이전에 제가 올린 ‘날씨 가젯 오류 해결하기’ 포스트에 달린 댓글에 한동윤(dyhan81)님께서 날씨 가젯의 새 버전이 나왔다는 것을 알려 주셨습니다.

Gadgets

날씨 가젯은 정말 유용하고 멋진 사이드바 가젯입니다. 하지만 윈도우 비스타(한글판)에 본래 내장된 날씨 가젯(버전 1.1.0.0)은 사용이 불가능합니다.

그러한 날씨 가젯의 한글 버전을 사용 가능하도록 만들어 주시고, 지금까지 여러 업데이트를 만들어 오신 분이 한동윤님입니다.

날씨 가젯을 오랫동안 애용한 사람으로써 한동윤님을 꼭 소개해 드리고 싶었습니다. 이번 기회를 통해 이야기를 할 수 있게 되어 기쁘게 생각합니다.

이 글을 빌어서, 날씨 가젯을 잘 사용할 수 있도록 도와 주신 한동윤님께 감사의 말씀을 드립니다. ^^

※ 아래의 이야기는 한동윤님께서 알려 주신 이야기입니다. 한동윤님께 e메일을 통해 한글판 날씨 가젯에 얽힌 이야기나 애로 사항에 대한 이야기를 요청했던 내용입니다. 친절한 답변에 감동받았답니다.

 

한동윤님과 날씨 가젯에 얽힌 이야기

dyhan
한글판 날씨 가젯의 주인공, 한동윤(dyhan81)님

안녕하세요? 제 이름은 한동윤이라고 하고, 대학원 유학을 준비중인 학생입니다.

저는 Windows Vista를 2007년 3월경부터 본격적으로 사용하기 시작했습니다. 다른 사람들은 싫어하는 UAC 기능이 저에게는 너무나 획기적인 기능으로 보였고, 심볼릭 링크의 일종인 NTFS Junction 기능을 정식으로 지원하기 시작한 것도 좋아보였습니다. Vista에 이르러서야 OS가 OS다워졌다고 할까요?

Linux를 사용하면서 Windows에도 있었으면 좋겠다고 생각했던 기능이 Windows Vista에 이르러 도입되거나 더 다듬어져 (UAC가 그중하나) 추가됐습니다. 사실 결정적으로 XP에 비해 기본적으로 들어 있는 기능들이 서드파티 제품을 사용하지 않아도 될 만큼 강력한 것들이 많아서 구입을 결정했고, 다른 사람들 보다 좀 늦은 3월경부터 사용하게 된 것입니다.

서론이 길었네요. 아크몬드 씨가 운영하는 사이트가 Vista 전문 사이트다보니 Vista를 사용하게 된 계기에 대해 좀 이야기 한 것일 뿐입니다...

windows_sidebar
Windows 사이드바 아이콘

Windows 사이드 바도 매력적인 기능 중 하나입니다. 시계, 달력, 계산기와 같은 것은 일상 생활에서 자주 사용하거나 참고하는 것들인데 컴퓨터를 사용하면서도 역시 그렇게 하게되죠. XP에서는 이런 기능을 최소한 2번의 선택과정 ([시작]버튼 누르고, 해당 프로그램을 찾아서 클릭)을 거쳐야만 사용가능 했는데, 해당 기능들을 사이드 바에 띠워놓고 필요하면 언제나 WinKey+Space를 누르거나, 사이드 바에 마우스를 클릭해서 사용하면 되니 참 편리하지요.

그 중에서도 날씨 가젯은 사이드 바의 가치를 가장 잘 살려주는 기능이었습니다. 밖에 나가지 않고도 모니터에서 조그마한 햇님을 볼 수도 있고, 온도를 재보지 않고도 오늘 아침 온도가 몇 도 더라라는 걸 다른 사람에게 아는척하면서 부담없이 말을 걸어볼 수 있는 기회를 제공하는 가젯이니 얼마나 이득이 되는 가젯입니까?!

sidebar_on_gadgets
날씨 사이드바 가젯

저도 Windows Vista 퍼블릭 프리뷰 프로그램을 통해 베타버전을 사용해봤는데 그때만 해도 이게 동작했었죠. 지하철에 붙어있던 Windows Vista 광고를 봐도 날씨 가젯이 띠워져 있잖아요? 그래서 저는 이 멋진 기능을 당연히 제공할거라고 생각했습니다. 그런데 제공하지 않더군요. 혹시 Windows 정품인증이 잘못되어서 안되는건가 생각해서 Windows를 다시 설치하기까지 했습니다...

그래도 안되더군요. 미국이랑, 일본에서는 이 기능이 문제없이 잘 된다는 이야기도 들었습니다. 그래서 살펴봤더니 MSN이 제공하는 날씨 정보 사업자가 미국과 일본은 같은 Foreca더군요. MSN에서 Foreca가 제공하는 XML Feed들을 살펴보면 Feed 자체가 culture code로 구분되어 각 지역별, 언어별로 제공되고 있는 것을 볼 수 있습니다.

(영어 (미국))
http://weather.msn.com/RSS.aspx?wealocations=wc:KSXX0042&weadegreetype=C&culture=en-US

(영어 (영국))
http://weather.msn.com/RSS.aspx?wealocations=wc:KSXX0042&weadegreetype=C&culture=en-GB

(일본어)
http://weather.msn.com/RSS.aspx?wealocations=wc:KSXX0042&weadegreetype=C&culture=ja-JP

(프랑스어)
http://weather.msn.com/RSS.aspx?wealocations=wc:KSXX0042&weadegreetype=C&culture=fr-FR

(에스파니아어 (멕시코))
http://weather.msn.com/RSS.aspx?wealocations=wc:KSXX0042&weadegreetype=C&culture=es-MX

(중국어 (싱가폴))
http://weather.msn.com/RSS.aspx?wealocations=wc:KSXX0042&weadegreetype=C&culture=zh-SG

그러나

(한국어 (대한민국) ????? )
http://weather.msn.com/RSS.aspx?wealocations=wc:KSXX0042&weadegreetype=C&culture=ko-KR

우리나라는???? 네 그렇습니다. 우리나라는 Foreca가 컬쳐코드를 구분해서 제공하는 날씨 정보 자체가 없기 때문에 우리나라에서는 "이 지역에서는 해당 서비스를 이용할 수 없습니다."라는 메시지를 띠우는 것 같더군요. 날씨 정보는 존재하는데도요!

weather_gadget_error
동작하지 않는 날씨 가젯(1.1.0.0 버전)

그래서 살펴봤습니다. 혹시 다른 사람들이 이 문제를 해결하지 않았나하고요. 그랬더니 중국에서 Dorice라는 분이 미국 MSN에서 피드를 받아오는 것까지 해놓은 소스 코드가 있더라구요. 이게 아마도 날씨 가젯 문제가 해결되지 않은 초기에는 복사해서 붙여넣는 방식으로 많이 사용했던 소스일겁니다.

그러나 이 소스코드에는 버그가 좀 있었고 개인적으로 아쉬운 점이 많았습니다. 받아온 Feed에 오류가 있을때 가젯에 표시하지 않고, "서비스를 사용할 수 없습니다." 라고 표시한 후, 정상적인 Feed를 받아올 때까지 Refresh를 자주하도록 해야하는데 이 기능이 제대로 동작하지 않고 있었고, Feed에 들어있는 skycode만을 사용해서 날씨를 표시하고 있어서 구체적인 날씨 표시 (예를 들어 skycode에는 "비"로 되어 있어도, 이 비는 소나기, 이슬비, 혹은 비일 수 있죠)가 되지 않았습니다.

아무튼, 상당히 오랜기간동안 이 불완전한 코드를 인터넷 상의 많은 분들이 이용하고 있는데 아무도 고치려고 하는 것 같지 않아서 짧은 실력으로나마 이 프로그램을 개선해보기로 했습니다. 시작은 단지 '한번 내 입맛대로 고쳐보자!'라는 정도의 조그마한 소망일 뿐이었습니다! (......그런데 가면 갈수록 일이 커지더군요... 아아~ oTL)

sidebar.exe_I0064_0409 
사이드바 & 가젯 아이콘

우선 단어 단위 번역기능을 넣었습니다. 스트링을 받으면 단어 단위로 잘라서 이것을 가젯에 탑제된 조그마한 사전을 찾아보고 바꾸는 방식으로 동작하게 한 것이죠.
문장이 아닌 단순히 단어를 한국어로 옮기기만 하면 되는 것이었기 때문에 구현은 매우 간단하게 할 수 있었습니다. (~1.0.0.2)

사실 여기까지만 하고 그만두려고 했습니다. 한글로 표시되기만 하면 원래 Microsoft에서 의도했던 날씨 표시기능은 모두 제공하는 것이었으니까요. 그러나 욕심이 생기더군요. MSN 피드 안을 살펴보니 사용되지 않고 버려지는 정보들이 너무 많았습니다. 금일 날씨 예보, 체감온도, 습도, 풍속, 관측장소등과 같은 정보가 그런 것들이었죠. 위치 정보 (위도, 경도)는 약간의 가공을 거치면 일반적으로 날씨 예보에서 알려주는 해뜸, 해짐시간 정보도 비교적 정확하게 알려줄 수 있었습니다. 그런데 이런 것들이 몽땅 버려지고 있더라구요!

원래 Microsoft에서 가젯을 만들때 의도한 것은 아마 정확하고 자세한 정보의 제공보다는 사이드 바에 해당 가젯을 설치했을 때 한 눈에 볼 수 있고 직관적으로 이해할 수 있는 정보 정도이지 아마 자세한 정보를 모두 표시하려는 의도까지는 없었을 것입니다. 그래서 그 디자인을 해치지 않기위해 별도의 투명 패널을 이용해서 해당 정보를 표시하는 쪽으로 방향을 잡고 표시하도록 만들었습니다. 그게 가젯을 사이드바에서 꺼내 크게 표시되었을 때, 좌측 상단 "추가정보..."를 클릭하면 나오는 정보들입니다. (1.0.0.3 ~ 1.0.0.5)

weather_gadget_big
추가 정보 창

볼 수 있는 정보는 모두 표시되었고, 제가 보기에도 거의 완벽해보였습니다만, 이것을 gallery.live.com에 올리자 많은 분들이 의견을 주셨는데, 가장 심각했던 것이 지역이 검색되지 않는다는 것이었습니다. 어떤분은 자기 지역이 검색되지 않는다며, "지역 차별하는 건가효?"라는 식의 댓글을 남겨주시기도 했습니다. (차별이라니...ㅠ_ㅠ)

검색란에 "위치 검색 (영문)"이라고 해놔도 한글로 검색하시고는 안된다고 그러시는데... 왠지 한글->로마자표기 변환기를 만들어 탑제 해야겠다는 생각이 들었고 그 생각이 들기시작하자 가만히 있지를 못하겠더군요. 결국... 만들었죠. 가젯과 분리해서 따로 만들어 테스트 해본 결과, 완벽하지는 않았지만 그닥 무겁지 않게우리나라 지명 정도는 한글로 충분히 검색할 수 있을 정도의 구현이 가능했습니다.(1.0.0.6)

weather_gadget_search
지역 명칭을 한글로 검색 가능

아... 말로 늘어놓고보니 그닥 어렵게 느껴지지 않아보입니다만... 이건 완전 삽질의 연속이었습니다. 제대로된 디버거를 갖추지도 않은 상태에서 머리속으로 시뮬레이션 돌려보고 손으로 코드를 옮겨서 문제가 생기면 다시 코드를 하나하나 머리속으로 돌려보면서 버그 잡고... 주로 사용되는 초보 디버깅 방식인 print를 사용해서 중간값을 열어볼 수 도 없는 상황에서, 엄청난 삽질을 거듭한 끝에, 언어 설정에 상관없이 작동하도록 만든 것이 이 가젯입니다...

전문적으로 개발할 목적도 아니고, 사실 저작권도 Microsoft가 가지고 있는 이 가젯을 수정하는데 너무나 많은 시간과 노력을 들였죠. gallery.live.com에서만 지금까지 무려 50만명정도가 이 가젯을 받아가셔서 편리하게 사용하고 계시죠. 학교 도서관에서 제가 수정한 가젯을 사용하고 있는 Vista 바탕화면을 발견할 때, 약간의 뿌듯함을 느낍니다.

weather_gadget_rank1
가장 많이 다운로드한 가젯, 날씨 가젯

카피레프트 정신을 실현했다는 만족감 같은건데요... 그게 제가 지금까지 이 가젯을 메인터넌스하게 만든 원동력이 아닌가 싶습니다. 영문 gallery.live.com에도 올려놨는데, 의외로 지역제한이 걸려있는 지역이 꽤되나봅니다. 제 가젯을 사용해보고는 좋다고 칭찬하는 분들이 간간히 있었습니다.

저에게는 개인적으로 정말 많은 것을 느끼게해준 "날씨 가젯"이었습니다. 이 조그마한 가젯도 이렇게 노력이 많이드는데, 정말로 사람들에게 필요한 좋은 소프트웨어나 물건을 만드려면, 제대로 공부해서 철저하게 준비한 상태에서 만들어야 하겠죠? 그래서 저는 열심히 공부하고 있습니다...

weather_gadget_big2

이런 이야기가 듣고싶다며 관심을 가져주는 분이 생기리라고는 생각지 못했는데, 아크몬드님 덕분에 하고 싶은말 다할수 있는 기회를 얻게되어 정말 행운이라고 생각합니다. 대단히 감사합니다.

무슨 일을 하든 행운이 함께하길 바라며 이만 줄일께요. ^^

 

고맙습니다! :-)

accessibilitycpl.dll_I0140_0409

한동윤님이 이번에 업데이트 하신 새 날씨 가젯(버전 1.1.0.7)에 대한 포스팅을 하면서 함께 소개하려고 했지만, 글이 너무 길어질 듯 해서 이렇게 별도의 포스팅을 하게 되었습니다.

윈도우 비스타 사용자들을 위해 유용한 가젯들을 한글화 해 주시는 많은 분들께 다시 한번 감사의 말씀을 드립니다.

 

관련 포스트:

,