스마트TV 앱 개발자 지원 동향 스마트 미디어 시대의 방송통신 융합기술 특집 이상윤 (S.Y. Lee) 스마트TV시스템연구팀 선임연구원 박상택 (S.T. Park) 스마트TV시스템연구팀 팀장 홍진우 (J.W. Hong) 차세대스마트TV연구단 단장 Ⅰ. 서론 Ⅱ. 구글의 스마트TV 앱 개발자 지원 동향 Ⅲ. 삼성전자의 스마트TV 앱 개발자 지원 동향 Ⅳ. LG전자의 스마트TV 앱 개발자 지원 동향 Ⅴ. 스마트TV 포럼의 앱 개발자 지원 동향 Ⅵ. 결론 * 본 연구는 방송통신위원회의 ETRI 연구개발지원사업의 일환으로 수행되었음(11921-03001, Beyond 스마트TV 기술개발). 스마트폰에서 앱을 중심으로 한 새로운 생태계가 형성되어 성공하고 있고, 이제 는 이러한 생태계를 모태로 스마트TV에서도 앱 중심의 생태계가 형성되기 시작 했다. 본고에서는 스마트TV 생태계의 한 축인 앱 개발자를 지원하기 위한 여러 동향에 대해서 기술한다. 구글, 삼성전자, 그리고 LG전자에서 앱 개발자를 지원 하기 위해서 제공하는 SDK(Software Development Kit) 및 에뮬레이터와 확장 API(Application Programming Interface)에 대해서 기술하고 어떻게 생태계를 형 성해 가고 있는지 비교 분석한다. 그리고 스마트TV 관련 업체들의 협의체인 스마 트TV 포럼에서 앱 개발자들을 지원하기 위해 벌이고 있는 사업들을 소개한다. 마 지막으로, 제조사 중심으로 확장되고 있는 스마트TV 확장 API에 대한 문제점을 고찰하고 표준화에 대한 필요성을 제기한다. 2012 한국전자통신연구원 67
Ⅰ. 서론 2008년에 애플의 아이폰을 필두로 스마트폰이 생활 의 일부분으로 정착되었고, 앱스토어라는 새로운 생태 계를 기반으로 다양한 앱들이 개발되고 유통되고 있다. 스마트폰의 성공을 배경으로 2010년도에는 스마트TV 가 등장하여 새로운 생태계를 형성해 가고 있다. 스마트 TV의 생태계는 스마트폰의 생태계에 비해 아직 초보적 인 단계이지만, 잠재적인 성장 가능성은 풍부하다고 전 망되고 있다. 현재 스마트TV는 삼성전자와 LG전자가 선두를 달리고 있으며, 구글과 애플이 시장 진출을 준비 하고 있는 단계이다. 스마트TV의 성공 요인은 스마트폰처럼 앱이 얼마나 잘 개발되고 활용될 것인가에 달려 있다는 시각이 지배 적이다. 본고에서는 스마트TV 생태계의 한 축을 담당하 고 있는 개발자들을 지원하기 위한 동향에 대해서 기술 한다. 스마트TV가 주로 제조사 중심으로 개발되고 시장이 형성되다 보니 개발자에 대한 지원도 제조사 중심으로 이루어지고 있다. 본고에서는 삼성전자와 LG전자의 스 마트TV 개발자 지원 동향에 대해서 기술하고, 구글의 개발자 지원 동향 및 스마트TV 포럼에서의 개발자 지원 사업에 대해서 소개한다. Ⅱ. 구글의 스마트TV 앱 개발자 지원 동향 1. Google TV 개요 Google TV는 전통적인 TV, 웹, 그리고 앱을 검색 기 능과 결합한 새로운 형태의 스마트TV로서 TV 혹은 셋 톱 박스에 연결되거나 TV에 내장되는 소프트웨어 플랫 폼이다. Google TV는 안드로이드와 크롬 플랫폼에 기 반을 두고 있다. (그림 1)은 Google TV의 사용자 인터페이스 화면 을 보여준다. (그림 1) Google TV 2. Google TV 앱 개발 가. 안드로이드 앱 개발 Google TV는 안드로이드 운영 체제, 미들웨어, 그리 고 핵심 Google TV 앱에 의해 동작된다. 안드로이드 SDK(Software Development Kit)는 Java 프로그래밍 언어를 이용해서 Google TV를 위한 앱을 개발하기 위 해 도구와 API(Application Programming Interface)를 제공한다. 안드로이드 앱은 안드로이드 SDK를 이클립스에 플 러그인하여 이클립스의 IDE(Integrated Development Environment) 환경을 사용하여 개발할 수 있다. 이클립 스에서 실행시키면 (그림 2)와 같이 안드로이드 에뮬레 이터가 자동으로 실행되면서 실제 기기 화면과 동일한 실행 화면을 보여준다[1]. Google TV와 일반 안드로이드 플랫폼과의 가장 큰 차 이점은 Google TV는 터치스크린 입력 디바이스가 없는 반면 상, 하, 좌, 우, 선택 등의 다섯 방향의 패드와 커 서를 제공하는 리모컨에 의해 제어된다는 점이다. 또한, (그림 2) 안드로이드 앱 개발 환경 68 전자통신동향분석 제27권 제6호 2012년 12월
(그림 4) Google TV 최적화 템플릿 (그림 3) Google TV 에뮬레이터 화면 TV는 먼 거리에서 보는 대화면인 반면 모바일 기기는 가까운 거리에서 보는 소화면이다. Google TV 플랫폼 은 TV 보기를 지원하기 위해 Live TV 안드로이드 앱을 포함하고 있으며 Channel Listing 콘텐츠 프로바이더를 포함하고 있다. (그림 3)과 같이 Goolge TV 에뮬레이터 를 애드온하면 TV 화면과 동일한 화면에서 앱을 실행해 볼 수 있는데, 현재는 Linux 환경에서만 에뮬레이터를 사용할 수 있다. 나. 웹 앱 개발 Google TV 개발자 지원 사이트에서는 Google TV를 위한 웹사이트를 최적화하기 위해 4가지의 개발 가이드 를 제공한다. 즉, 열 발자국 떨어진 위치에서의 UI(User Interface)와 Google TV 환경을 위한 사용자 경험 개념, 구글 웹사이트를 최적화하기 위한 HTML(Hyper Text Markup Language), CSS(Cascading Style Sheet), Java- Script의 기술적인 팁, Google TV 웹 최적화를 위한 체 크리스트, 그리고 Adobe Flash를 최적화하기 위한 가이 드를 제공한다. 또한, 웹 앱 개발을 위해 Google TV에 최적화된 HTML5및 Flash 페이지들의 모음인 Google TV 최적화 템플릿을 제공하는데 이를 기반으로 새로운 웹사이트를 구축할 수 있다. (그림 4)는 이러한 최적화 템플릿의 일 례이다. 그리고, 키보드 내비게이션이나 사용자 제어를 제공 하는 Google TV 웹 UI 라이브러리로서 jquery와 Closure를 제공한다. Ⅲ. 삼성전자의 스마트TV 앱 개발자 지원 동향 1. 삼성전자 스마트TV 특징 삼성전자 스마트TV는 (그림 5)와 같이 스마트 허브라 는 앱과 스마트TV 관리 프로그램을 제공한다. 리모컨에 서 스마트 허브라는 버튼을 클릭하면 언제든지 이 화면 으로 전환이 된다. 왼쪽 상단에는 실시간 TV 화면이 있 고, 우측에는 스마트 검색과 방송정보 등이 있고 하단에 다양한 앱을 실행시키기 위한 아이콘들이 배치되어 있 다. 2. 삼성전자 스마트TV 생태계 삼성전자는 삼성 개발자 포럼 웹사이트를 통해 스마 트TV를 개발할 수 있는 개발 도구와 기술 문서 및 API (그림 5) 스마트 허브 이상윤 외 / 스마트TV 앱 개발자 지원 동향 69
(그림 6) 삼성전자 스마트TV SDK의 역사 설명서를 제공한다. 또한, 삼성 애드허브[2]를 통해 앱 상에 광고를 삽입하여 TV상에서 제공하는 것이 가능하 다. 그리고 삼성앱스[3]라는 앱스토어를 통해 다양한 앱 이나 동영상을 판매한다. 3. 개발 도구 SDK의 특장점 (그림 6)은 삼성전자 스마트TV SDK의 역사를 보여준 다. 해마다 지원하는 소프트웨어 모듈이 폭발적으로 증 가하고 있음을 알 수 있다. 삼성전자의 SDK는 독자적인 IDE를 개발하여 개발 환 경을 제공해 왔으나, 개발자들의 호응을 얻지 못해 이클 립스 기반의 IDE를 추가로 제공하고 있다. LG전자도 이클립스 기반의 IDE를 제공하고 있고 개발자들이 이클 립스를 더 선호하는 경향을 감안하면, SDK IDE 환경은 향후 이클립스 기반으로 통일될 것으로 전망된다. 삼성전자의 SDK는 2012년 9월 현재 버전 3.5.2까지 출시된 상태이며 이를 설치하기 위해서는 DirectX End- User Runtime을 먼저 설치하여야 한다[4]. (그림 7)은 에뮬레이터를 통해 리모컨 및 스마트 컨트롤 제공을 통 해 실제 경험을 제공하는 모습이다. (그림 8)은 삼성전자가 독자 개발한 SDK IDE 화면 모 습이다. 해상도는 960 540과 1280 720를 지원하며 에뮬레이터와 연동하여 바로 실행해 볼 수도 있고 디버 깅도 할 수 있다. SDK에 포함된 자바 스크립트 API를 보면 콘텐츠 공 (그림 7) 삼성전자 스마트TV 에뮬레이터 (그림 8) 삼성전자가 독자 개발한 TV SDK 70 전자통신동향분석 제27권 제6호 2012년 12월
Web Device API를 포함하고 있다. (그림 9)는 이러한 API들의 규격을 참조할 수 있도록 개발자 지원 사이트 에서 제공하는 웹 문서를 발췌한 것이다. Ⅳ. LG전자의 스마트TV 앱 개발자 지원 동향 1. LG전자 스마트TV 특징 (그림 9) 삼성전자 스마트TV 확장 API 유 및 디바이스 제어를 위한 AllShare API, TV 앱과 DTV 특화 기능 및 UI 컴포넌트 기능을 제공하는 Apps- Framework API, TV 키보드, 리모트 컨트롤 버튼 이벤 트 등 앱에서 공통적으로 사용하기 위한 모듈인 Common 모듈, HTTP 프로토콜을 이용해 스마트TV와 통신 을 하기 위한 Convergence App API, 데이터를 저장하 고 읽어오기 위한 File API, 삼성 스마트TV와 스마트폰 과 같은 다른 디바이스와 상호작용하기 위한 Interactive Remote API, 배너 광고를 지원하기 위한 Advertisement Service API, 그리고 볼륨이나 채널 제어 등의 LG전자 스마트TV는 (그림 10)과 같이 LG 스마트 보 드라는 이름으로 스마트TV 홈스크린 서비스를 제공한 다. 스마트보드는 실시간 방송 장면을 보여주는 화면, 배너 형태의 광고를 보여주는 광고 화면, 다양한 콘텐츠 기반의 스마트TV 서비스를 제공하는 카드 화면, 그리고 앱이나 검색 및 설정과 관련된 런처바(launcher bar)로 이루어져 있다. 카드는 방송, 영화, 스포츠 등의 프리미 엄 콘텐츠를 제공하는 프리미엄 서비스, 다양한 장르의 3D 영상을 제공하는 3D 월드와 교육, 엔터테인먼트, 생 활, 뉴스 등 스마트TV의 다양한 앱 서비스를 제공하는 스마트 월드, 그리고 이동 HDD(Hard Disk Drive), USB (Universal Serial Bus) 메모리, 태블릿 PC, PC, 스마트 폰 간의 자료 공유를 제공하는 스마트셰어로 구성되어 있다. 뿐만 아니라, 스마트TV를 통해 한 번의 검색어 입 력으로 스마트TV 콘텐츠와 인터넷 정보까지 통합해서 검색해 주는 검색 서비스를 받을 수 있고 PC나 스마트 폰 필요 없이 TV를 보며 인터넷을 동시에 사용할 수 있 다. LG전자 매직 리모컨은 (그림 11)에서 볼 수 있듯이 포인팅, 휠, 제스처, 그리고 음성 인식이 특징인 편리한 (그림 10) LG전자 스마트보드 (그림 11) LG전자 매직 리모컨 이상윤 외 / 스마트TV 앱 개발자 지원 동향 71
리모컨이다. 포인팅은 마우스를 클릭하듯이 원하는 콘 텐츠를 선택하거나, 드래그할 수 있는 기능이다. 휠은 컴퓨터용 마우스 휠과 유사한 기능인데, 인터넷 화면을 브라우징하거나 채널 탐색을 손쉽게 할 수 있는 기능이 다. 제스처는 매직 리모컨을 손에 쥐고 패턴을 묘사하면 이 패턴을 인식해 TV를 제어하는 기능이다. 음성 인식 은 자판 입력 없이 음성으로 문자를 입력할 수 있는 기 능이다. 2. LG전자 스마트TV 생태계 LG전자는 스마트TV 앱을 개발하고 판매하고 싶은 개 발자 혹은 배너 광고를 하고 싶은 광고주를 위해 체계적 인 생태계를 구축하여 지원하고 있다. (그림 12)는 스마 트TV 개발자 지원 환경을 나타내는 것으로서 별도의 웹 사이트를 통해 개발자를 지원하고 있다[5]. 개발자 라운 지를 통해 개발 가이드 문서, SDK, 샘플 코드, 기술 규 격 문서 등을 제공한다. 또한, 개발한 앱들을 판매할 수 있도록 셀러 라운지[6]를 운영하고 있으며 셀러 라운지 를 통해 앱을 등록하거나 관리할 수 있고, 판매 및 정산 까지 가능하다. 또한, 광고 플랫폼을 제공하는 광고 라 운지[7]를 통해 배너 광고를 할 수 있다. LG 스마트월드 캠퍼스에서는 LG전자 스마트TV 앱 개발 과정을 무료로 제공하고 있으며 실제 스마트TV를 통해 앱을 테스트해 볼 수 있는 환경을 제공하고 있다. 3. 개발 도구 SDK의 특장점 LG 스마트TV SDK는 2012년 10월 현재 V2.2.0이 릴 리즈되어 있다. SDK는 LG 스마트TV 앱을 개발하고 빌 드하기 위한 환경을 제공하고 예제 프로젝트를 생성하 거나 에뮬레이터를 기동하는 IDE, 실제 TV 없이도 TV 상에서 동작하는 앱을 흉내 내주고 앱을 검증하기 위한 DTV 에뮬레이터, 앱을 개발하기 위해 LG전자 스마트 TV와의 인터페이스를 제공해 주는 Open API 라이브러 리, 그리고 Open API 참조 가이드 문서와 예제 코드들 로 이루어져 있다. SDK 타입은 web, Flash, Native SDK 세 개의 타입 이 있다. Web 타입은 (그림 13)과 같이 이클립스 기반의 LG 플러그인 형태의 IDE를 제공한다. Flash 타입은 Adobe CS4/5/AIR에 LG 플러그인 형태의 IDE를 제공 한다. Natvie SDK는 3rd 파티의 IDE를 제공하며 Open GL ES(Open Graphic Library for Embedded System) 관련 API나 특정 업체와의 협의 하에 개발한다. SDK는 꾸준히 버전업이 되고 있으며, 윈도 XP, 윈도 7뿐만 아니라 맥 OS(Operating System)와 리눅스도 지 원한다. 맥 OS와 리눅스, 윈도우 계열 모두 32비트와 (그림 12) LG전자 스마트TV의 개발자 지원 환경 (그림 13) LG전자의 이클립스 기반 SDK 화면 72 전자통신동향분석 제27권 제6호 2012년 12월
Ⅴ. 스마트TV 포럼의 앱 개발자 지원 동향 ( 그림 14) LG전자 스마트TV 에뮬레이터 64비트를 지원한다. SDK에는 실제 앱이 동작하는 리눅스 기반의 스마트 TV 환경과 동일한 형태로 보일 수 있도록 에뮬레이터를 제공하는데, 오라클 버추얼박스를 먼저 설치해야 동작 한다. (그림 14)는 에뮬레이터가 실행된 모습으로 그림 의 오른쪽에 위치한 리모컨 에뮬레이터를 통해 TV를 제 어할 수 있다. LG전자는 스마트TV에서 웹 앱을 생성하기 위해 (그 림 15)와 같이 LG Web Open API를 제공한다. Window Extended(NetCast)는 브라우저 API를 제공하는 것이 고, Media Player는 CE-HTML과 CEA-2014와 호환 되는 미디어 플레이어 플러그인과 API를 포함하고 있으 며, Device는 앱에서 디바이스 정보를 획득하기 위한 플 러그인과 API를 제공하며, Broadcast는 앱에서 브로드 캐스트 이미지를 출력하기 위한 플러그인과 API, 그리 고 브로드캐스트 TV 정보와 연결하여 앱을 개발하기 위 한 API를 제공한다. Advertisement는 스마트TV에 배너 혹은 비디오 광고를 삽입하기 위한 광고 API를 제공하 며 Voice Recognition은 앱에서 매직 리모컨의 음성 인 식을 이용하기 위한 플러그인과 API를 제공한다. (그림 15) LG전자 Web Open API 스마트TV 포럼은 스마트TV 산업체 간 유대를 강화하 고 공동 사업을 통해 스마트TV 신산업을 활성화할 목적 으로 2010년도에 설립되었다. 포럼 산하에 기술/표준분 과, 정책/제도분과, 서비스분과 등 3개의 분과를 두고 있으며, 삼성전자와 LG전자 등 스마트TV 제조업체, 한 국전자통신연구원 및 전자부품연구원 등 유관 연구 기 관, KBS, MBC, SBS, EBS, LG U+, CJ헬로비전 등 방 송사업자와 다트미디어, 에어코드, 가온미디어 등 여러 방송 관련 업체들이 회원사로 참여 하고 있다[8]. 이 포럼은 스마트TV 개발자를 지원하기 위해 스마트 TV 관련 세미나를 개최하고 앱 경진대회를 개최함으로 써 스마트TV 개발자를 육성하는 데 일조를 하고 있다. <표 1>은 지금까지 스마트TV 포럼 주최로 개최되었던 행사들이다. Ⅵ. 결론 개발자는 스마트TV용 앱을 개발하기 위해서는 Flash 와 웹 앱 중 하나를 선택해서 개발해야 한다. Flash는 개발자도 풍부하고 편리한 개발 도구들이 많이 있어 쉽 게 개발할 수 있는 환경이나, Adobe의 Flash에 대한 지 속적인 지원이 불투명할 뿐만 아니라, TV 제조사들은 웹 앱을 이용해 개발할 것을 권장하고 있다. 그러나, 웹 앱 개발 환경을 보면, 웹 앱을 개발하기 위 <표 1> 스마트TV 포럼 주최 행사 순번 행사명 일시 비고 1 2011 스마트TV 앱 경진대회 2011. 8.~2011. 11 경진대회 2 3 4 2012 스마트TV 기술 및 개발자 교육 2012 스마트TV 앱 및 주변기기 공모전 하반기 스마트TV 기술 및 개발자 워크숍 2012. 5. 8. 세미나 2012. 7.~2012. 9. 경진대회 2012. 9. 20. 세미나 이상윤 외 / 스마트TV 앱 개발자 지원 동향 73
한 개발 도구의 수준은 개발 도구 자체의 역사가 얼마 되지 않아서 기능도 많이 미흡할 뿐만 아니라 디버깅 환 경도 수월하지 않아서 개발자들의 애로 사항으로 지적 되고 있다. 그런데, HTML5를 도입한 취지가 한 번의 개발로 여러 단말에서 동작할 수 있는 앱을 개발하자는 것인데, 각 제조사 중심으로 확장한 자바 스크립트 API 에 대한 통일이 안 되어 있어서 HTML5를 채택하더라 도 여전히 포팅의 문제가 남아 있다. 볼륨을 올리거나 채널을 변경하는 등 간단한 기능의 API도 삼성전자와 LG전자가 달라서 개발자들은 삼성전자용 앱과 LG전자 용 앱을 따로 개발할 수 밖에 없는 실정이다. 스마트TV 의 기능이 점차 확대되고 있고 이에 따라 확장 API들도 양적으로 폭증하고 있는데, 더 이상 파편화가 심화되기 전에 표준화를 통해 SDK API를 통일시켜서 개발자들 에게 많은 편리함을 제공하고 개발 비용을 절감시켜 양 질의 앱을 개발하는 데 주력할 수 있도록 해야 할 것으 용어해설 HTML5 2004년부터 WHATWG(Web Hypertext Application Technology Working Group)는 HTML5를 HTML의 차기 핵심 표준으로 만들기 위한 세부 작업을 시작하였으며, 오는 2014 년 기술표준으로 공식 발표할 예정임. HTML5에는 Video, Canvas 등 새로운 태그들이 정의되었으며, 자바 스크립트 기 반의 확장 API가 새로 추가됨. jquery 브라우저 호환성이 있는 HTML 속 자바 스크립트 라 이브러리이며 클라이언트 사이드 스크립트 언어를 단순화 할 수 있도록 설계됨. 존 레식이 2006년 뉴욕시 바캠프(NYC Barcamp)에서 공식적으로 소개함. jquery는 오늘날 가장 인기 있는 자바 스크립트 라이브러리 중 하나임. CE-HTML 텔레비전 같은 가전기기(consumer electronics)를 위한 사용자 인터페이스 페이지를 생성하기 위한 언어. CE- HTML은 CEA(Consumer Electronics Association)에서 정의된 CEA-2014 표준의 한 부분임. 로 본다. TTA에서 2012년부터 HTML5 기반의 스마트 TV 소프트웨어 플랫폼에 대한 표준화를 추진하고 있는 데, 이러한 SDK API 표준화도 포함될 수 있기를 기대 한다. 약어 정리 API Application Programming Interface CEA Consumer Electronics Association CSS Cascading Style Sheet HDD Hard Disk Drive HTML Hyper Text Markup Language IDE Integrated Development Environment Open GL ES Open Graphic Library for Embedded System OS Operating System PC Personal Computer SDK Software Development Kit UI User Interface USB Universal Serial Bus WHATWG Web Hypertext Application Technology Working Group 참고문헌 [1] 구글 개발자 사이트. https://developers.google.com/tv [2] 삼성 애드허브. http://www.samsungadhub.com [3] 삼성 앱스. http://tv.samsungapps.com/kr/ [4] 삼성 개발자 포럼. http://www.samsungdforum.com [5] LG 개발자 라운지. http://developer.lgappstv.com/ [6] LG 셀러 라운지. http://seller.lgappstv.com [7] LG AD 라운지. http://us.lgsmartad.com [8] 스마트TV 포럼. http://www.smarttvforum.org/ 74 전자통신동향분석 제27권 제6호 2012년 12월