LG Smart TV App contest 2013-2014 + Бонус: интервью с победителем прошлогоднего конкурса

27 января 2014 г.

Добрый день! Вы уже читали о нашем (теперь уже ежегодном) конкурсе  приложений LG Smart TV App contest 2013-2014? :)  Если да, то, наверное, помните, что, помимо анонса конкурса, в посте было также и интервью с одним из финалистов конкурса. 

Сегодня у нас «в гостях» Николай Кочетков, один из разработчиков 
приложения vTelek, победившего в прошлогоднем конкурсе. Я попросил Николая ответить на несколько вопросов, рассказать о приложении, о механизме взаимодействия с конкурсом и вообще о впечатлениях от участия. А его ответы можете найти под катом. ;)

— Николай, добрый день! Расскажите, пожалуйста, немного о себе. Где учились, где работали, как пришли к разработке под Smart TV?

— О себе? Ну, как вы уже сказали, зовут меня Николай Кочетков, мне 35 лет. Родился и вырос в я Москве, закончил Физический Факультет МГУ, кафедру общей ядерной физики.

Дипломной темой была автоматизация системы управления линейным ускорителем электронов, так что, можно сказать, занимаюсь программированием всю свою сознательную жизнь. 

Работал много где, но больше всего запомнилась работа в РИА Новости, где я занимался front-end частью интеграции видеоконтента на группу сайтов агентства, да и в целом отвечал за мультимедийные проектами. Именно там мне и довелось познакомиться с платформами Smart TV. Сейчас работаю в одной из компаний, занимающейся OTT-телевидением уже непосредственно по Smart TV профилю, собственно, моя победа в конкурсе и стала «золотым ключиком» к двери от офиса. ;)

— Спасибо. А что же ваше приложение? :) Какие задачи решает, как пришли к такой идее?

— Наше приложение очень простое. По сути, оно служит одной цели — дать пользователю возможность посмотреть любой веб-видеоконтент на большом экране  Smart TV в один клик. К сожалению, в связи с фрагментированностью веб-видео платформы в целом, мы пока не можем выполнить все наши обещания на сто процентов, и в данный момент поддерживаем не так много источников, как хотелось бы, однако мы активно работаем над расширением функционала.

— А что сейчас поддерживается, а самое главное — как работает?

— Из 100% рабочих на данный момент могу назвать видео ВКонтакте, ролики Youtube, тэги «video», размещенные на страницах, и видео из мета-тэгов opengraph (разработка Facebook). Схема работы приложения элементарна. Пользователь связывает свой телевизор с анонимной учетной записью на сайте и получает специальный букмарклет. Если пользователь нажимает на букмарклет, то его код «просматривает» открытую страницу и собирает все ролики, размещенные на ней. Далее пользователю предлагается отправить найденное видео на большой экран:



В качестве посредника между телевизором и вашим браузером выступает сервер нашего приложения. Через него ссылка попадает попадает в ТВ-Виджет и проигрывается на большом экране. 

— И что, действительно много кому необходим такой функционал? Он же доступен из самого Smart TV, через браузер и встроенные клиенты. Пусть и не в один клик.

— На текущий день у нас в базе зарегистрировано порядка 28 тысяч клиентов, из них около 80% пользуются приложением (по статистике Google Analytics, встроенной в приложение). Так как проект сейчас поддерживается «на факультативной основе», в свободное от основной работы время, к сожалению, не всегда хватает времени им полноценно заниматься и развивать, однако в последнее время мы провели «ускоряющий рефакторинг» сервер-сайд и починили некоторые «трудноуловимые» косяки, всплывавшие при большой нагрузке. 

— Следующие вопросы я уже задавал в нашем предыдущем интервью и хочу, чтобы вы также ответили на них, чтобы у нас была непредвзятая оценка одних и тех же критериев конкурса. Скажите пожалуйста, откуда вы узнали про конкурс, как родилась идея приложения, насколько высока была мотивация победить, довольны ли вы организацией?

— О конкурсе я узнал, насколько я помню, просто по поисковому запросу, когда искал какую-то информацию о платформе LG Smart TV. Это как-то отложилось в голове, а потом у одного моего товарища возникла идея такого приложения. К конкурсу мы подключились довольно поздно и нам очень повезло, что его немного продлили. По поводу организации — все было прекрасно организовано — и сам конкурс и техническая поддержка. Впрочем, я до этого уже был немного знаком с петербургским представительством по своим прошлым работам, так что могу сказать, что все было как всегда, на высоте.

— Когда начинали разработку, вы уже были знакомы с платформой, или знакомились в процессе создания? На чём можно было писать приложение?

— К началу конкурса у меня уже был опыт разработки пары приложений для платформы LG. Поэтому мне было относительно легко «оценить риски» позднего старта разработки. Тем не менее, основные трудности мы испытали при разработке именно букмарклета. Так что, что касается самой платформы — то она проста и стабильна для разработки. Мы сразу остановились на JS/HTML варианте, так как у меня уже были наработки в этой области. В качестве backend использовали связку NodeJS+MongoDB.

— Что из аппаратных особенностей пришлось учитывать, сказывается-ли зоопарк устройств и ограниченные аппаратные возможности платформы?

— Из своего прошлого опыта я усвоил, что основное внимание следует уделять оптимизации, как кода, так и разметки приложения. Это касается любой линейки, но в особенности модельного ряда 2011 года. Приложение написано только на ванильном JavaScript, минимально использованы прозрачность, тени и прочая CSS-красота. В остальном для нас разница между платформами коснулась только метода аутентификации пользователя и поддержки некоторых форматов видео.

— Как происходит процесс тестирования. Расскажите немного про особенности эмулятора, возможность отладки приложения непосредственно на ТВ, я знаю, сколько проблем может доставить эта работа. 

— В своей работе я использовал только эмулятор из поставки SDK 1.5 и то — только для «пристрелочных» работ. Благодаря использованию HTML/JS, наше приложение работает и в обычном браузере, а для тестирования у нас была возможность использовать реальные телевизоры 2011/2012 годов. Очень полезной штукой является weinre, большое спасибо ее создателям. Она много раз выручала меня при написании приложений и для СмартТВ, и для мобильной разработки под Apache Cordova.

— Как происходит процесс утверждения и выкладки приложения в магазин приложений с точки зрения «пользователя» этой системы? Есть ли подводные камни, сколько раз вам возвращали приложение на доработку?

— Вот тут и начинается самое «интересное». В целом, процесс верификации достаточно «бюрократизирован». Это начинается с момента утверждения документации приложения, где все должно быть «очень четко». Самый сложный этап — это, конечно же, functional testing, потому что, как ни старайся, а всех моментов замыленный ночной разработкой глаз да не заметит. Кроме того, требования соблюдения дизайнерских гайдлайнов тоже достаточно жесткие. Очень жаль, что корейская сторона не делится с разработчиками теми тест-листами, которые она использует при проверке приложения — это бы сильно облегчило начальную подготовку. 

— Спасибо большое за уделённое мне время, дарю вам инвайт на Хабр, пользуйтесь, можете ответить хабраюзерам на их вопросы лично. 

На данный момент в конкурсе зарегистрировано более 30 профессиональных разработчиков.
Пока готовых работ нет, но это неудивительно, так как механика в этом году совершенно другая: сначала нужно разработать приложение, пройти тестирование и запустить приложение на платформе, а это процесс достаточно сложный и трудоемкий. В связи мы и увеличили временной промежуток, отведенный на конкурс, к тому же, мы изменили сам формат мероприятия, чтобы дать возможность победить людям, чьи приложения и идеи по каким-либо причинам не были замечены в прошлом ивенте.
Специально для конкурса в этом году мы инициировали номинацию совместно с нашим премиальным партнером Твигл на использование API партнера, использующего возможности их каталога контента или сервиса Video Publisher Cloud. Абсолютно всем участникам мы гарантируем техническую поддержку и консультацию, а победители помимо денежных призов получат еще и маркетинговую поддержку от компании.