Archive for the ‘Works’ Category

위키백과 지식상자 위젯=가젯을 만든 과정

Saturday, December 13th, 2008

Daum Google 위젯=가젯 개발 경진대회 개최하는 걸 보고 Javascript로 뭔가 만들어 볼 수 있어 참가하기로 했다. 우선 응모작 주제를 정해야 했는데 한 2주정도는 고민한 것 같다. 처음엔 오픈소셜을 응용하여 구상을 해봤는데 Daum 위젯팩토리Google 가젯 API를 지원하지만 OpenSocial API는 아쉽게도 아직 지원하지 않았다. 응모작 기준은 Daum 위젯Google 가젯에서 동작이 가능해야 했다.

다시 고민하여 OpenAPI를 이용한 위젯을 구상하였데 또 약간의 고민이 생겼다. 보통 OpenAPI를 사용하려면 사용자 Key를 발급받아야 하고, 한 Key당 약 5000회 정도 요청 제한이 있다. 5000회 정도는 한 곳(프로그램)에서 사용하기 넉넉한 량이지만, 위젯은 수많은 블로그에서 등록되기에 그 요청량은 급격하게 늘어난다. 그래서 OpenAPI를 사용하여 만든 위젯을 배포할때 위젯을 퍼가는 사람들에게 API에 대한 Key를 발급받아 넣어주도록 해야한다. 또한 API를 여러개 사용하면 발급해야할 Key도 많아지는데 이렇게 된다면 상당히 번거로울 것 같다.

물론 좋은 위젯이라면 이러한 번거로움은 별 문제 없을것이고.. 이런 저런 생각을 하던 중 MediaWiki API가 생각났다. MediaWiki API를 이용하면 위키백과를 위젯으로 만들 수 있겠다는 생각이 들었고, MediaWiki API는 따로 인증 키를 발급 받을 필요도 없다!

MediaWiki는 위키백과를 위해 개발된 자유 소프트웨어 위키 패키지이다. 그러니까 위키백과는 MediaWiki로 만들어졌는데 MediaWiki 소프트웨어는 API를 제공하고 위키백과 또한 API를 제공한다. MediaWiki를 사용하면서 API를 제공하고 싶지 않으면 설정에서 변경할 수 있는걸로 알고 있다.

위키백과 API – http://ko.wikipedia.org/w/api.php

그래서 구상한 위젯은 ‘위키백과 지식상자’이다. 위키백과에 등록된 문서의 요약된 내용을 표시하고 관련된 문서를 지속적으로 계속 보여주어 사용자에게 위키백과의 유용한 지식을 전달하는 위젯이다.

이제 구현을 하는데 위키백과 문서의 요약된 내용을 표시하는데 문제가 생겼다. 위키백과 API에는 유용한 많은 정보를 제공하는 API가 있는데 정작 내가 원하는 문서 내용을 제공하는 부분이 없었다. 구글맵이나 Wikipedia Roll과 같은 위키백과를 이용한 매쉬업에서는 위키백과 문서의 내용을 표시한다. 어떻게 내용을 표시하나 궁금해서 찾아봤는데 위키백과:데이터베이스를 다운로드 받아 사용하는 것이었다. 하지만 이 데이터베이스를 받아서 운용할 서버가 없다. 방법을 찾다가 단순한 생각으로 위키백과 문서에 직접 접근하여 스크래핑하여 내용을 가져오려 했지만, 부적절한 방법인 것 같고 무엇보다 속도가 느려 다른 방법을 찾아야 했다. 어떻게 하면 위키백과 문서의 요약된 내용을 표시할 수 있을까 고민하던 중 마침 구글 검색이 떠올랐다. 모르는 용어를 구글에 검색하면 보통 위키백과에 등록된 문서의 내용의 일부분을 검색결과를 나타내고 이런 점을 응용하여 문제를 해결했다. Google AJAX Search API 이용해서ㅎㅎ

모든 기능과 외형을 개발하고 마지막으로 디자인이다. 원래 디자인 감각은 없어 디자인에 별로 신경쓰지 않지만 그래도 다른 사람들이 위젯을 퍼가기 때문에 조금은 신경써야 했다. 그래서 이미지를 넣어 디자인해보려 했는데 또 문제가 생겼다. 역시 위젯을 처음 만들어 보니까 참 문제도 많타-.- 위젯을 등록할때 xml 소스만 등록하기 때문에 이미지나 플래시는 내 계정에 올려야 하는데 내 홈페이지 계정에 올려서 나중에 트래픽 제한 걸릴 수가 있다. 당연히 트래픽 제한이 되면 위젯을 퍼간 사람도 문제가 생긴다. 넉넉한 계정을 가지고 있다면야 이미지를 사용하여 디자인 했겠지만 그냥 CSS만로 디자인했다. 사실 디자인 감각이 있었다면 계정 신경 안썼을텐데;;

디자인을 뭐 했냐고 할 수도 있겠는데 그래도 CSS가 179라인이다. 줄내림을 많이 했긴 했지만.. 쩝.. 그래도 가장 큰 특징은 위젯 박스 테두리를 둥글게 했다. CSS3에는 박스 테두리가 둥글게 표시하는 border-radius가 있지만 대부분의 브라우저에서는 지원을 안하니 약간은 트릭인 방법을 찾았다. 이 방법은 ‘css round box‘라고 검색하면 여러가지가 나오는데 Snazzy Borders를 조금 수정하여 사용했다.

자 이렇게 만든 ‘위키백과 지식상자’ 위젯=가젯이 다행히 1차 전문가 심사를 통과했다^^ 지금은 응모작 투표 진행중~


위키백과 지식상자 위젯=가젯

Friday, December 12th, 2008

위키백과의 유익한 문서 내용을 간략하게 표시하여, 사용자에게 폭넓은 지식을 줄 수 있는 지식상자 위젯입니다. 시작 경로에 의해 설정된 용어를 시작으로 관련된 용어를 자동 탐색하여 지속적으로 표시합니다.

Daum Google 위젯=가젯 개발 경진대회 응모작

Source: http://muik.net/gadgets/wikipedia.xml

웹페이지에 위키백과 지식상자 가젯 추가

시작경로 설정

  • 위키백과:대문 – 위키백과 대문(http://ko.wikipedia.org/wiki/위키백과:대문)에 사용되는 용어들을 시작으로 표시합니다.
  • 임의 문서 – 위키백과에 등록된 임의 용어들을 시작으로 표시합니다.
  • 사용자 용어 – ‘사용자 용어(,구분)’에 입력된 용어를 시작으로 표시합니다.

동작 방식

시작 경로에 의한 용어를 대기열(큐 구조)에 넣습니다. 대기열 앞부분부터 지연시간이 지나면 순차적으로 다음 용어를 표시합니다. 용어를 표시할 때마다 그 용어의 위키백과 문서에서 사용된 용어들을 가져와 대기열 뒷부분에 추가합니다. 대기열은 최대 크기가 설정 되었고, 끝까지 표시 되었을 경우 다시 처음부터 시작합니다.

사용한 APIs

관련 용어명은 MediaWiki API를 통해 정보를 얻었고, 용어에 대한 간략한 설명을 제공하기 위해 Google AJAX Search API를 사용하였습니다.

동작 환경

  • 다음 위젯과 구글 가젯에서 동작
  • IE6-7, FireFox 3.0, Chrome 0.4, Safari 3.2 브라우저에서 CSS+Javascript 동작 확인

Shopper – 손안의 오즈 쇼핑 매니저

Monday, August 18th, 2008

오즈 공모전을 계기로 모바일 기기에서 쉽고 빠르게 이용할 수 있는 쇼핑 검색 웹서비스를 만들어 봤습니다.

이번 프로젝트를 하면서 UI와 UX에 대해 많은 고민을 해보는 경험이 되었답니다:)

주요 기능

  • 네이버 쇼핑 검색 API를 이용한 최저가 쇼핑 검색
  • 초성 입력에 대한 상품명 추천
  • 검색한 상품에 대한 관심 상품 등록/제거
  • 스크롤하기 편리한 스크롤 버튼
  • 자동 상품 추가 검색
  • 다양한 상품 표시 스타일 변경

사이트 URL: http://muik.net/shopper

자세한 정보: http://muik.net/shopper/doc.html

아르고폰(LH-2300)으로 쇼핑 해보기


스크린샷

첫 화면
첫 화면

초성 입력
초성 입력

초성에 대한 상품명 추천
초성에 대한 상품명 추천

P1040215
"가을신상" 검색 화면

간단 스타일로 보기
간단 스타일로 보기

갤러리 스타일로 보기
갤러리 스타일로 보기

세로 모드에서 갤러리 스타일로 보기
세로 모드에서 갤러리 스타일로 보기

세로 모드에서 간단 스타일로 보기
세로 모드에서 간단 스타일로 보기

세로 모드에서 일반 스타일로 보기
세로 모드에서 일반 스타일로 보기

세로 모드에서 첫화면
세로 모드에서 첫화면

세로 모드에서 초성에 대한 상품명 추천 화면
세로 모드에서 초성에 대한 상품명 추천 화면


YouTV – YouTube 비디오를 TV처럼 편리하게 보기

Sunday, August 17th, 2008

YouTV는 모바일 기기에서 YouTube 비디오를 TV처럼 편하게 볼 수 있는 모바일 웹서비스 입니다.

사이트 URL: http://muik.net/youtv

TV처럼 편리하게 사용할 수 있게 디자인에 많은 고민을 했어요. 화면 구성은 비디오가 재생될 수 있는 꽉 찬 화면에 채널선택[C], 재생을 제어하는 버튼 3개로 꼭 필요한 기능으로 구성했고, 동작도 TV처럼 한 프로그램이 끝나면 자동으로 다음 프로그램이 재생됩니다. 물론 광고는 없고요^^

채널은 YouTube RSS로 단순한 플레이리스트가 아닌 수시로 새로운 내용으로 변경됩니다.

채널 버튼[C]을 누르면 채널 목록이 나오는데 현재 보고 있는 시청수를 기준으로 정렬되서 보이고, 사용자는 그 시간대에 인기있는 채널을 쉽게 선택할 수 있어요. 또한 사용자가 원하는 채널을 검색어를 입력하여 검색할 수 도 있고요.

채널 검색 시 채널이 없다면 자동으로 채널을 추가하여 TV의 고정된 채널이 아닌 무한 채널을 가지는 특징도 있답니다.

처음엔 터치웹폰용으로 개발하였지만 YouTube Chromeless Player가 지원되지 않아 웹뷰어용이 되었습니다. 또한 다양한 기기에서 지원되도록 W3C 표준에 맞게 개발하였고, Internet Explorer 6~7, Firefox 3에서도 잘 동작하도록 크로스 브라우징을 고려하여 개발 하였습니다.

아래의 활용방법을 보고 이용해보세요.

좋아하는 가수(이효리) 채널 보기

  1. YouTV 접속
  2. 왼쪽의 [C]버튼을 클릭
  3. 채널목록 상단 검색창에 ‘이효리’ 입력
  4. 검색 결과의 ‘이효리’ 채널을 선택

‘이효리’의 동영상을 마음껏 편하게 감상할 수 있답니다.

이외에도 좋아하는 음악, 드라마, 스포츠, 뉴스 등 다양한 채널을 마음껏 즐겨보세요~!


타임머신 웹서비스 – 모두가 꿈꾸던 세계

Saturday, March 1st, 2008

타임머신 웹서비스

2007 Daum-Lycos 글로벌 인턴쉽 응모작

주제는 타임머신 웹서비스이고, 이렇게 시작되었다.

“시간과 공간을 자유롭게 이동할 수 있는 가상세계에 현실세계를 그려 넣는다면 타임머신이 가능하지 않을까?”

아쉽게 최종선발 되진 않았지만, 처음으로 웹서비스를 기획해보고 잼있는 일들이 많았다. 역시 개인 프로젝트보다 팀 프로젝트가 훨씬 흥미로운 것 같다.

타임머신 웹서비스 – scopon G.pdf