Archive for the ‘Web services’ Category.

privnote – 쪽지 서비스

privnote. 간단하면서도 유용한 서비스가 될 듯. 일단 로그인 기반이 아니라는 점이 맘에 든다.

해당 사이트에서 메모한 후 생성된 url을 읽을 사람한테 전달하고 전달받은 사람이 해당 메모를 읽으면 자동 삭제됨. 미션임파서블이 생각난다. 삭제될 때 좀 더 비주얼한 효과만 있었다면 딱일텐데 ㅋㅋ

아쉬운 점은 메모를 안전하게 전달하는 방법이 없다는 점이다(작성 후에 메모 url을 메일로 보낼 수 있는 mailto 링크만 제공). 메모 자체는 암호화되어 저장되므로 내부에서 내용을 읽을 걱정은 없다고 하지만, url만 알 수 있다면 누구든 읽을 수 있다는 점이 뭔가 마찬가지인듯 한 느낌. 어쩔수 없는 문제인가? 메모를 암호화해서 저장한다는 것은 자기들은 메모 내용에 대해 책임지지 않겠다는 의미밖에 안되는 듯.

Google AJAX Libraries API와 Front-end Performance

Google Open API(?)에 AJAX Libraries API가 추가되었습니다. 저 제목을 보면 무슨 API인거 같나요? 전 service API가 아닌 JavaScript framework 같은걸 제공하나 했습니다.

쫌만 읽어보니 그게 아니더군여. 요즘 들어 가장 많이 사용되는 JavaScript Framework인 prototype, jQuery 등등을 google에서 제공하는 겁니다. 간단히 얘기해서 저 라이브러리들만 호스팅해주겠다는 겁니다. 예전에도 이런 서비스를 본 적이 있었는데… 속도가 괜찮을까? 혹은 안정성이 보장될까? 뭐 이런 얘기들 하면서 말았었는데… 그걸 Google이 하네요. 왠지 신뢰가 갈듯한 느낌이 듭니다.

지금은 jQuery, prototype, script.aculo.us, MooTools, dojo 이렇게 5가지를 제공하고 있고 각 라이브러리에 대한 url은 Developer’s Guide를 참조하심 되겠습니다.

각 라이브러리를 참조하는 방법은 단순하게 <script>src 속성에 해당 url을 적어줘도 되지만, Google AJAX API Loader를 이용하면 좀 더 편하게(?) 사용할 수 있습니다. 구체적인 사항은 Speed up access to your favorite frameworks via the AJAX Libraries API를 보심 되지만 장점을 간단하게 말씀드리면, 라이브러리의 versioning을 알아서 해 준다는 점(버전을 1.2로 명시한 경우 1.2 대의 버전들-1.2.4, 1.2.8- 중에서 가장 최신 버전을 로드해 줌)과 가능한 경우에는 몇가지 옵션을 제공해 준다는 점입니다.

음… 이제부터 performance와 관련된 내용입니다. 요 서비스를 이용하게 되면 성능상 몇 가지 장점을 얻을 수 있습니다. 물론 Google이 최소한 내 서버만큼의 bandwidth를 제공해준다는 가정하에서 말입니다(내 서버에 올려두는거보다 다운로드 속도가 느리다면… 뭐 별로).

high performance web site

CDN

Google의 CDN을 이용할 수 있습니다. Exceptional Performance의 두 번째 항목 Use a Content Delivery Network입니다. 그만큼 중요하겠죠. CDN은 클라이언트에서 가장 가까운 곳에서 다운로드 받을 수 있게 여러곳으로 리소스를 분산하여 속도를 높이기 위해 사용되는데, 그치만 미국에서 CDN 하나의 커버리지가 우리나라 규모보다 크다는… Google에서 제공해 줄 수 있는 bandwidth가 내 서버정도라면 울 나라에서는 큰 잇점은 아니지 싶습니다. 우리같은 경우는 IDC의 트래픽에 부하가 걸려 다른 서비스에 영향을 주지 않으려고 CDN을 쓰는 것으로 알고 있습니다.

Expire

Expire가 request 시점으로부터 1년으로 설정되어 있습니다. Exceptional Performance의 세 번째 항목 Add an Expires or a Cache-Control Header입니다. 제공되는 버전의 경우 변경 사항이 없기 때문에 – 변경이 있으면 버전이 틀려지겠죠? – 이 정도면 충분하리라 봅니다. 캐쉬 할경우 만기일을 어떻게 설정해야 하는지에 대해서는…–;;; 아직까지는 제 영역 밖의 문제인듯합니다. 암튼… 제가 직접 해보니 expire를 설정하는게 생각만큼 쉽진 않던데… 이것도 어느정도 수긍이 가게끔 잘 셋팅해서 보내줍니다. Google AJAX Libraries API를 다른곳에서도 사용한다면 cache의 사용을 극대화할 수 있겠습니다.

Firebug로 확인해보니 다음처럼 깔끔한 response가 오네요.

Gzip

HTTP 1.1 gzip으로 압축되어 전송됩니다. Exceptional Performance의 네 번째 항목 Gzip Components 입니다. 알려진 바와 같이 JavaScript는 다른 resource에 비해 특히나 gzip 했을 경우 효율이 커집니다. 텍스트 파일인데다, 대부분 프로그래밍시에 가독성이 중요하므로 공백이 많이 존재하기 때문이죠. 위 그림에서 Content-encoding이 gzip인것을 확인할 수 있습니다.

Minify

JavaScript 소스코드가 minify 되어 전송됩니다. gzip으로 압축되어 내려오기 때문에 큰 의미는 없을거 같기도 하지만 어쨌든 이것도 가능합니다. Google API loader(google.load())를 이용할 경우 uncompressed 옵션을 통해 minify 여부를 결정할 수 있습니다.

관리

성능하고는 상관없지만… 아주 아주 중요한 문제죠. Google API loader(google.load())를 이용하면 버전에 대한 관리 포인트가 하나 없어집니다. 앞서 잠깐 언급했듯이 버전을 정확히 지정하지 않아도 알아서 해당 버전을 찾아줍니다. 현재 major 버전이 2이고 major 버전이 올라가기 전까지는 계속 쓰겠다고 하면 , 2로만 지정하면 이들 중 최신 버전을 보내줍니다. 물론 Google에서 해당 라이브러리들의 모든 버전을 가지고 있진 않을거 같습니다. 특정 버전이 불안정하거나 문제가 존재할 경우는 제공하지 않을테니까요.

Google AJAX Libraries API를 front-end performance 관점에서 쪼끔 봤는데… 상용 서비스에서 쓰기에는 어떨지… 아. 라이센스를 안봤네요. 왠지 트래픽 제한이 있을지도 모른다는 생각이…

개인적으로는 YUI도 같이 제공했으면 했는데… 없습니다. 물론 Yahoo에서도 Serving YUI Files from Yahoo! Servers 하고 있습니다. 단지 같은데서 다 받을수 있음 좋지 않을까라는 생각에. ^^

Ad for video 실제 적용된 모습

일전에 Google의 Ad for Video를 런칭했다는 소식을 전했었는데 오늘 직접 광고가 들어간 플레이어를 확인했습니다. 재밌는점은 플레이어 퍼가기를 해서 가져온 경우 동영상 광고 뿐만 아니라 스킨영역에 디스플레이 광고도 붙어서 나오네요. 스킨의 선택 요소인지 궁금하네요.

Google Ad for video

이정도까지 되고 보니 좀 과하다는 느낌이… 실제 화면은 요기서 보세요.

Yahoo! Shortcuts

Yahoo! Shortcuts 이라는 재밌는 서비스가 있네요. 블로그에 글을 작성하면서 글 중에 사용된 단어들과 매칭되는 링크를 자동으로 생성해주는 서비스입니다. 일반 링크 뿐만 아니라 위치를 입력할 경우 지도가 뜨고 Flickr를 이용한 이미지도 올릴 수 있습니다.

현재 지원되는 shortcuts은 Flickr Photos, Yahoo! Maps, Finacial Information, Products, Autos, News, Web Search 들이며, 지원되는 블로그는 WordPress 밖에 없네요. WordPress 의 플러그인 형태로 설치됩니다.

제 블로그에 설치해서 이 글을 처음으로 작성해보는데 영어만 지원하는거 같네요. 한글로 된 단어에는 링크가 하나도 안생기네요. ^^

아래는 Yahoo! Shortcut 에서 데모로 보여주는 내용을 그대로 작성해본것입니다. 내용중에 파란색 점선으로 생성된 링크는 Yahoo! Shortcuts에서 생성한 링크들입니다.

  • 사진 : Get Creative Common photos
  • 지도 : 805 S B St, San Mateo, CA
  • 금융 : AT&T Inc
  • 상품 : Nintendo Wii
  • 자동차 : Honda Accord
  • 뉴스 : Chief Justice John Roberts
  • 웹검색 : UNIX Pipes

이를 플러그인과 자동발견이라는 좀 더 고도화된 형태로 구현하여 사용성을 높혔고, 위의 이미지에서 보이는 것처럼 블로거들에게 콘텐츠를 더욱 풍부(Rich)하게 보이도록 만들어 주는 툴로 포지셔닝 시키고 있다는데 높은 점수를 줍니다. 저는 이런 형태가 우리가 말로만 얘기하던 Rich Editor의 새로운 구현이 아니겠나하는 생각이 듭니다.

from erehwon.LAB [Yahoo! Shortcuts - Boost your Blog!]

Remember The Milk의 TO-DO 목록을 Firefox의 탐색창에서 보기

항상 업무적으로나 개인적으로 TO-DO 목록을 어떻게 관리하면 좋을까 하는 고민을 해왔었고, 그나마 가장 좋아보이는 Remember The Milk를 사용해 오고 있습니다. 기능이나 디자인적으로 볼 때 괜찮은 서비스인것은 분명합니다. 하지만 to-do 목록이라는게 항상 눈에 띄는 위치에 있어 계속 알려줘야 한다고 생각하는데, 서비스의 특성상 해당 웹사이트에 들어가서 확인해봐야 한다는게 불편하다고 생각해왔었습니다. 그렇다고 설치형 어플을 사용하기에는 집과 회사에서 공유가 안되서 불편하고… 그래서 RMT의 Google Desktop의 가젯이 있었으면 좋겠다는 생각도 했었고 없으면 만들어 볼까도 생각해봤었는데…

오늘 가장 편한 방법을 찾은거 같습니다. Lifehacker에 Keep Your To-do List in the Sidebar라는 기사가 올라와서 봤더니 RTM에서 제공하는 iGoogle 가젯 URL을 북마크로 등록하고 이를 탐색창으로 열기를 선택하면 그림과 같이 사이드바에 해당 페이지가 올라옵니다. 너무 멋지네요.

rtm firefox sidebar

물론 FF을 띄워놔야 하지만… 사실 어떤 프로그램보다 오랫동안 떠 있는게 FF 인지라. ㅋㅋ. 참고로 탐색창으로 띄울 RTM의 주소는 http://www.rememberthemilk.com/services/modules/googleig/ 입니다.