iCal을 이용한 EPG
EPG(Electronic Program Guide) 방송 편성표를 어떻게 하면 쉽게 볼 수 있을까 하다가,
- xml을 xslt를 이용해 html로 변환
- RSS형태로 publishing
을 생각하다가 iCal에서 사용하는 ics 형태로 하면 iCal이 알아서 다 표현도 해줄것이고,
- MacOSX에서는 iCal에서 구독 하면 되고
- iCal과 동기되는 iPod Touch/iPhone에서도 볼수 있고
- Windows Vista도 ics를 지원하는 캘린더가 기본 포함 되었고, 아마 Outlook도 지원할것이고
- Google Calender도 같은 ics를 구독하면 언제 어디서나 볼수 있고
그래서 EPG 데이터를 ICS 포맷으로 변환하면 멋지겠다는 생각이 들었다.
방송사 별로 ICS를 생성하고 각 방송사 별로 ICS는 최대한 추려서 다음과 같이 쓰기로 했다.
BEGIN:VCALENDAR PRODID:-//TTA//EPG DATA//KO VERSION:2.0 CALSCALE:GREGORIAN METHOD:PUBLISH X-WR-TIMEZONE:Asia/Seoul X-WR-CALNAME:MBC BEGIN:VEVENT DTSTART:20090131T223500 DTEND:20090131T235500 UID:MBC20090131T223500 CLASS:PUBLIC DESCRIPTION:장르 : 연예/오락-토크쇼 출연 : 윤종신,김국진,김구라,김성주,신정환,이하늘,박미선 연출 : 여운혁,김유곤 SUMMARY:명랑 히어로 TRANSP:OPAQUE END:VEVENT END:VCALENDAR
ruby로 만든 ics를 iCal에서 읽어보니 결과는 일단 성공…
대충 상상했던 EPG형태로 보여주기는 하나, 실생활에 편히 쓸만큼 보기 편한거 같지는 않다.
그리고, 당장 쓰기에는 또 다른 문제가 좀 있다.
- 주기적으로 책임감 있게 변환 script를 돌려줄 서버가 필요하고,
- CalDAV로 iCal에서 쓰려면 WebDAV 호스팅이 되어야 하는데, 그렇지 아니하고,
- ics로 변환해서 그냥 web에 두고 google calendar에서 구독하면 그걸 다시 iCal에서 불러올 수 있다. 그래서 google calendar에서 읽어보니 한글이 깨진다… (분명 UTF-8으로 저장되어 있는데, KSX1001을 UTF-8으로 읽었을때 처럼 깨진다..)
OTL 일단 오늘은 여기까지…..