Creando un canal de Roku

Alex
6 min readOct 24, 2018

Una buena opción para marketing de contenidos.

El día de ayer nos enteramos que Roku es legal en México tras una batalla legal contra la empresa de Televisa, Cablevisión, lo que significa que puede regresar a los anaqueles comerciales en nuestro país.

Roku regresa a México

La televisión tradicional va de salida y los dispositivos que están poniendo los clavos en el ataúd son las cajas de streaming, pequeñas, computadoras conectadas a la red que se añaden al televisor de manera estúpidamente sencilla.

Tal vez las más conocidas de estas cajitas, son el Apple TV, del cual debemos comentar que construir una Apple TV app para este no es nada sencillo — y barato, como todo el desarrollo en su ecosistema pero la experiencia de usuario es muy buena. Esta siempre su nemesis Google con su Android TV, pero por alguna razón no se ha vuelto tan popular, al menos en México, tal vez por la fragmentación o por que le interesa más Chromecast, no lo sé con certeza, pero están madurando y es de esperarse que mejore con el tiempo, Sony por ejemplo vende televisiones con Android TV como sistema operativo, lo cual supone una mejoría a la de estar comprado dispositivos por aparte, en general, desarrollar para Android TV no debe ser demasiado difícil si ya has desarrollado para Android.

Además esta la opción de nuestro multimillonario amigo Jeff Bezos, con su Amazon Fire TV, que bueno, la principal ventaja es el acceso a la plataforma de contenidos Amazon Prime, si eres suscriptor claro. Si eres desarrollador , pues deberás familiarizarte con Fire OS que es el sistema operativo que corre en las Amazon Fire TV y en sus tabletas. Fire OS es un fork de Android así que pues si programas en Java o Kotlin pues estas del otro lado.

Así que volteamos la cara a Roku, un dispositivo altamente competitivo que se conecta al internet y permite mostrar contenido en tu TV de una manera muy sencilla, además por supuesto de los populares servicios de hospedaje de video como Youtube, Netflix, Vimeo y otros.

Pero desde el punto de vista de desarrollador es una buena opción si lo que te interesa es crear y publicar ( monetizar también, claro) nuestro propio canal o el de la empresa de manera rápida y sin morir en el intento.

Un poco de historia.

Roku es una compañía norteamericana basada en California fundada en 2002 la cual produce una serie de dispositivos que, como ya mencionamos, conectan tu TV a Internet. Hay diversos modelos que van desde las cajas hasta las memorias USBs, pero todos proveen la misma funcionalidad básica como la capacidad de buscar contenido a través de una gran rango de productores de contenido.

La caja más grande de Roku tiene características como DVR, espejeo de pantallas y soporte para video 4k, para el cual los modelos más pequeños sacrifican, es decir no tienen, debido al tamaño y precio.

¿por qué utilizar Roku?

Una característica que hace la diferencia de Roku contra otras cajas es la existencia de canales, los cuales son algo como los canales estándar de televisión, pero hay cientos y cientos de estos. Otras cajas de streaming como Apple Tv o Amazon Fire TV llaman a los canales apps, pero para Roku todos son canales.

El directorio público de Roku tiene más de 2,500 canales, incluyendo una amplio rango de proveedores gratuitos como YouTube, las charlas de TED, PBD, noticias CBS , Pandora, entre otros. Algunos otros canales requieren suscripciones como Netflix, Spotify, Hulu y Amazon Prime ( pero si ya estas suscrito a estos servicios no hay cargo adicional).

Los canales de Roku son una gran camino para los que productores de contenidos, emisoras y cualquier individuo o empresa que quiera curar contenidos multimedia para el consumo de la gente. Con un estimado de 10 millones de usuarios Roku alrededor del mundo, existen una gran audiencia que puede ver tu contenido.

La tienda de canales de Roku

ok ok, pero ¿como hacer un canal de Roku ?

Lo primero que tenemos que saber es que Roku OS es el sistema operativo de streaming desarrollado en C.

Dicho lo anterior pues tenemos varias opciones, de más a menos complejo, las mencionaremos, la primera y más compleja es hacer el desarrollo a través del SDK en este lenguaje con tu IDE y plugin favorito.

Pero hay otras opciones, la segunda opción, que tal vez sea lo mejor si hacemos un balance entre personalización y complejidad es utilizar Roku BrightScript, este un poderosos lenguaje de scripting que hace más sencillo y rápido construir aplicaciones con flujos de datos o medios conectadas a diferentes servicios para los diferentes dispositivos embebidos. El lenguaje tiene soporte integrado para los componentes BrightScript, una librera de componentes ligeros. Las APIs de la plataforma (dispositivo) BrightScript están corriendo y todos están expuesto a BrightScript como componentes BrighScript valga la redundancia.

La tercera y más sencilla pero con menos personalización — o customization para publicar tu contenido en la tienda de canales Roku es utilizar el Direct Publisher. Esta herramienta permite construir rápidamente canales y configurarlos — hasta cierto punto, con la imagen e identidad corporativa , logos , colores , etc y se integra automáticamente a la búsqueda universal, My Feed ( — es una característica que le permite al usuario de Roku seguir sus canales o shows favoritos de TV y ser notificado cuando el servicio de streaming agregue nuevos contenidos o episodios ) y a futuras iniciativas de recomendación o comercialización de Roku.

Todo sin escribir una sola línea de código.

Los canales construidos con la herramienta Direct Publisher son actualizadas y mantenidas por Roku, lo que significa que no hay que preocuparse por estarlas actualizando o invertir en desarrollo.

Peros somos devs y nos gusta codear ¿no?

BrightScript soporta el tipado dinámico (como javaScript) o tipos declarados (como C o Java). BrightScript es un poderoso lenguaje de scripting bytecode interpretado optimizado para dispositivos embebidos, lo que hace un lenguaje muy muy particular.

  1. BrightScript compila su código a bytecode este se ejecuta por un interprete. Este paso de compilación ocurre cada vez que un script es cargado y ejecutado. No hay un paso separado de compilación que resulte en un archivo binario que sea guardado. De esta forma es similar a JavaScript.
  2. La sintaxis de las sentencias BrightScript sno son como not C, de esta forma es similar a Python o Basic o Ruby o Lua.
  3. Los objetos BrightScript y las estructuras de datos nombradas de entrada son arreglos asociativos, de esta forma es similar a JavaScript o Lua.
  4. BrightScript soporta el tipado dinámico (como javaScript) o tipos declarados (como C o Java)
  5. BrightScript utiliza interfaces y componentes para sus APIs similar a .Net o Java.
  6. BrightScript y su arquitectura de componentes BrightScript esta escrita 100% en el lenguaje C lo cual es sinónimo de velocidad, eficiencia y portabilidad.

La referencia obligada para iniciar con el lenguaje es la documentación de Roku.

Otro buen punto de inicio además de la documentación es codingalien.com que no esta muy actualizado por lo cual recomiendo hacer uso de la documentación oficial.

Igual que en otras plataformas Roku nos solicita crear una cuenta de desarrollo y hacer un setup inicial

Cuando se desarrolla en BrightScript se verán en la necesidad de entender SceneGraph, que en simples palabras, es la estructura de datos que usa Roku para manejar el rendering de la aplicación en las pantallas.

Aquí les dejamos un curso de Roku SceneGraph por si quieren ahondar en el tema.

Cuando ya se esta familiarizado con BrightScript y SceneGraph, revisen los ejemplos de Roku, son muy ilustrativos.

¡Nos seguimos leyendo!

Alex

Actualización — viernes 17 de abril 2020

Las acciones de empresas relacionadas con «quedarse en casa» continúan subiendo, Roku vio un aumento del 13% en el precio de las acciones ya que la empresa de hardware para transmisiones en «streaming» recibió ayer una calificación de compra muy positiva por parte del banco de inversiones Berenberg, donde creen que la acción subirá un 21%, como resultado la acción de Roku se disparó un 13%.

--

--

Alex

DevOps Lead @evinova, former Dynatrace Solutions Engineer. Cheerleader in Chief for KMMX, Technical Writer & International Speaker, Dad & 2 cats.