바른 말씨 extension을 쓰면서 항상 아쉬웠고 구현하고자 하는 기능이 있었는데, 검사 후에 틀린 단어로 표시된 것을 어떻게 하면 제시된 해당 대치어로 쉽게 고쳐줄 수 있을까 하는 고민이었다.

처음엔 그냥 웹페이지에 표시된 틀린 단어에 마우스를 가져가면 tooltip 형태로 해당 대치어를 보여주는 방법을 구상해 보았지만, 또 막상 고치려면 수작업이 필요해서 마땅치 않았다. 그래서 구상한 것이 틀린 단어를 클릭하면 자동으로 해당 대치어로 바꿔주는 방법 쪽으로 고민해봤다.

우선 틀린 단어에 대한 대치어를 각각 따로 저장해 놓을 장소가 필요했는데, 여기엔 HTML5의 custom data attribute이 안성맞춤이다. 글 마저 읽기 »

오래전부터 웹사이트에선 RSS feeds의 관리와 구독자에 관한 통계 자료를 얻으려고 Google Analytics와 함께 FeedBurner를 많이 사용하고 있다.

이런 사이트의 RSS feed를 구독하고 새로운 글이 올라오면 feed 주소를 클릭해서 해당 페이지를 방문하는 일도 자연 많아졌는데, 문젠 이렇게 방문한 페이지의 주소를 책갈피에 등록하려고 보면 아래처럼 원래 주소 끝에 쓸데없는 것이 달라붙으면서 상당히 지저분하다는 것이다.

http://웹페이지_주소?utm_source=feedburner&utm_medium=feed&utm_campaign=…

이놈은 Google Analytics에서 사용하는 방문자의 접속 형태를 추적하려는 목적의 UTM(Urchin Tracking Module|Monitor) queries인데, 이런 현상은 Google Reader에서 구독한 feed URL을 클릭해서 타고 들어가도 마찬가지.

물론 이렇게 쓸데없이 길어진 주소는 Twitter와 같은 URL 공유 사이트를 사용할 때도 불편할 수밖에 없다.

어쩔 수 없이 이렇게 달라붙어 있는 놈은 일일이 손수 지우고 나서야 책갈피에 담아두던 주소 공유를 하던 마음이 편했는데, 너무 자주 있는 일이라 결국 이런 성가신 작업을 대신해주는 Safari, Chrome extension UTM 청소기를 만들게 되었다.

Safari 용 UTM 청소기, Chrome 용 UTM 청소기

자 이제 때 묻지 않은 순수한 URL 활용에 활력을.

Steve Jobs

어쩌면 당신의 영감이 만들어 낸 창조물이 아니었다면, 저의 가장 개인적인 공간, 바로 이곳은 존재하지도 않았을 겁니다.

처음 마주친 매킨토시. 그 9인치 작은 흑백 화면에서 보여주던 그림은 저에겐 꿈속의 동화 같은, 바라볼 때마다 상상력을 불러일으켜서 훨씬 드넓고 새로운 세상으로 인도하는 느낌이었습니다. 맥과의 만남 이후로 계속 이어진 인연은 벌써 20년이 흘렀군요.

너무나 일찍 떠나셨지만, 당신의 영감으로 시작된 그 푸근한 기술과 꿈의 조화로 만들어낸 결과물은 다음 세대에도 계속 이어질 것이라고 믿습니다.

Apple and Steve Jobs

편히 쉬세요.
고맙습니다. 그리고 그리울 겁니다. 

Being the richest man in the cemetery doesn’t matter to me. Going to bed at night saying we’ve done something wonderful… that’s what matters to me.

~ Steve Jobs

꼬리표:

Safari 5.1부터 지원하기 시작한 Popover 기능(Chrome에선 이 기능이 예전부터 있었으며 Popup이라고 불림) 덕분에 이젠 웹페이지에 있는 글뿐만 아니라 맞춤법 검사를 하고자 하는 글을 도구막대 버튼을 누르면 뜨는 작은 Popover/Popup 창에다 직접 입력해서 검사를 수행할 수 있게 되었다.

바른 말씨 Safari/Chrome 익스텐션의 검사 창 모습

겸사겸사 SafariChrome 익스텐션을 함께 갱신하게 되었는데 둘의 창 모양까지 닮았으니 Safari가 Chrome의 것을 많이 참고한 것 같지만, 그래도 개발 문서만은 Safari에게 더 후한 점수를 주고 싶다.

참고로, Safari와 Chrome의 Popovers/Popups 구현에는 약간의 차이가 있는데, Safari에선 웹페이지에서 글자를 선택하지 않은 경우에만 Popovers 창을 보여주지만, Chrome에선 popups 창 기능을 구현했을 때는 도구막대 버튼에 심어둔 onClicked event를 그냥 무시하고 무조건 Popups 창을 보여준다. 따라서 상황에 맞춰 웹페이지에서 선택한 글에 대한 검사 개시 방아쇠(trigger)로서 선택적으로 도구막대 버튼을 사용할 수 없게 되었다는 아쉬움이 있다. (이것은 manifest 파일에 popups html 파일을 지정하지 않은 채 setPopup() method를 써도 마찬가지.)

어차피 선택한 글에 대한 검사 개시의 방아쇠로 단축키(Option + Q/ㅂ) 혹은 Contextual 메뉴를 주로 쓰기 때문에 이에 따른 큰 불편은 없을 것이다.