Viggle on the 1st screen (Part 2)
May 15th, 2014 by Boris Kizelshteyn
Here’s the 2nd half of my Viggle on the 1st Screen post, where we will review how the different HTML5 platforms stack up:
Many in the connected TV industry will remember the SHEF API that allowed developers to interface directly with DTV’s set-top boxes via http. While revolutionary for 2011, it lacked the ability for a developer to actually display their content onscreen. Enter The DIRECTV Developer Program that provides an interface not only to the set top box itself, but to DTV web services and most relevant to this post, the ability to run HTML5 applications right on the big screen.
The maker of the most connected TVs in actual consumer homes maintains a massive developer portal called the SAMSUNG D Forum. Here they offer developers an equally massive SDK which contains its own IDE and TV emulator as well as a collection of tools and docs. At the end of the day, it’s an HTML5 app, but it’s worth a minutes’ digression to summarize Samsung’s paradigm.
SONY (w/ Google TV)
Sony relies on its partnership with Google for delivering its connected TV experience to customers. As such, apps running on the Sony TV platform are really Google Android apps and not HTML5. However, thanks to the magic of Cordova (formerly Phonegap), HTML5 content can be ported to the Sony/Google platform. Combined with Sony’s device API extending the base GoogleTV API, an attractive platform for delivering interactive TV experiences emerges.
Obviously Cordova development is out of scope for this blog post, but for our purposes, developing a Sony HTML5 TV app is conceptually similar to SAMSUNG in that a root physical HTML document and supporting libraries are packaged into a single app that reacts to TV input and content. Our authentication would be web based and managed internally in the app. Once installed the app would have information about the TV provider and available channels via the Channel Listing Provider. The channel information is in URI form and can be passed to the Live TV Player component thereby changing the channel. Note that program information does not seem to be available to the platform and will need to be queried elsewhere based on the channel information available.
Some other cool features of the platform are that GCM is available, allowing push notifications that can be displayed on the big screen, say to remind the user to switch channels to that show they set a reminder for on NextGuide and the expanded gestures library so users of the cool Sony GesturePad remote can navigate our app.
Since Viggle has an Android app, we would likely evaluate the relative value of building an HTML5 version of the app via Cordova or simply porting our existing code to Google TV, but it’s good to have options.
LG has recently been making headlines in the industry with The Connect SDK, what’s being billed as a “Rosetta Stone” library capable of connecting any mobile app to any TV Platform. Cool as that is, I’ve been tracking LG’s work in the connected TV space for a while now and they have an evolving platform called NetCast for running apps right on their devices.
Similar to Samsung and Sony, packaged HTML5 assets that have access to privileged “plugins” when run in the LG TV environment, constitute the app paradigm and an SDK provides support for creating, packaging and testing a developer’s app. Users can log into the device via what LG calls “Membership“ and developers can access this member data via the Member plugin and associate it with their native accounts. We might also use the extensive data LG makes available about the device via the Device plugin to identify a user. We can then use the Broadcast plugin to identify what the user is watching and tune the channel. A neat feature of the LG connected TV is voice recognition, which is exposed to the app developer via the Voice Recognition
In conclusion, these platforms are all pretty fragmented in terms of how they use HTML5 to achieve similar interactions, to be sure. But, having a single technology that achieves similar interactions across diverse platforms means that a single product concept can be implemented by the same team across all these platforms. In a world that arcs towards fragmentation, this may be as close to convergence that we can get.