Library

Browse and search developer information

SmartTV

By Health & Social Care Information Centre | 10 April 2013

Introduction

SmartTV offers substantial potential for TeleHealth and TeleCare. The television is an ubiquitous, familiar device in the home. Internet connected, with a large, easily read screen, it is a convenient choice for many vulnerable patients. To better understand its potential, we’ve explored what it is and how one can develop for it.

To help us put things in context, we’ve used a sample application we might write: A video calendar for dementia patients. This would provide a big visible screen, with scheduled prompts and reminders, and include the ability to run short video segments (eg of family members reminding the individual to take their medication, eat etc.) on timed events. It would also be able to control the television’s power, turning it on when a timed event occurred.

What is Smart TV?

Like any new technology, Smart TV has many definitions, frequently chosen by those using them to reflect a company’s commercial offerings and the definers preference for, or against, them. For us, Smart TV is technology additional to a television that:

  • Provides rich, bi-directional internet access using a television
  • Provides non-trivial software applications (apps) that are displayed on or manipulate the television or its accessories, like remote controls

Platforms

Smart TV platforms fall into 3 main kinds:

  • Proprietary ones embedded into the television;
  • Third-party ones, with varying degrees of openness, offered either as a black box or to be embedded into the television
  • Third-party ones designed to operate as or like set-top boxes (STBs)

Wikipedia maintains a moderately current list of platforms:

http://en.wikipedia.org/wiki/List_of_notable_Smart_TV_platforms_and_middleware_software

Proprietary Platforms by Manufacturer

These are listed for the major manufacturers available in the UK.

Sony

Sony seems to be transitioning from a twin-track approach to Smart TV take-up, with a proprietary offering based around Yahoo Apps and Google TV, to an open platform based solely on Google TV. Unlike other vendors, Sony’s offerings for Google TV use a black box to be directly connected to the television. Sony maintains an active developer program for Google TV, although its offering seems a little weak. Given that Google TV provides a very rich, accessibly developer programme, it seems unlikely that this will change – and that Sony will continue to offer a modicum of resources for bespoke features in their televisions.

For more information about developing for Sony SmartTVs see http://developer.sony.com/

Toshiba

Toshiba’s platform is called ‘Places’. The current offering has very few apps. There is no developer programme as such. Instead, Toshiba contract third-party developers to build applications for their platform. For more context, see http://www.televisioninfo.com/news/toshiba-s-2012-smart-tv-platform-explained.htm. More applications can be added via an app on the device called VUDU (http://www.vudu.com/) but these are limited to trivial functionality.

Toshiba is a member of the SmartTV alliance, but there is nothing obvious connecting this to their products.

Panasonic

Panasonic’s current platform is called VIERA Connect http://developer.vieraconnect.com/. This has a small number of apps http://panasonic.net/avc/viera/global/connect_apps/area/42, restricted to regions and countries (and so reducing the range). The technology seems to use HTML5 with Javascript, but does rendering on Panasonic’s own servers. The developer programme requires fees of $599 for effective usage (which includes fees for expedient deployment to their app store). Free usage, other than for evaluation, is not possible – documentation isn’t even available without it. This is an out-dated business model, and there is evidence their platform suffers for it (eg this Press Release’s title http://www.panasonic.co.uk/html/en_GB/News/Latest+News/12+New+Applications+for+Panasonic’s+VIERA+Connect/8479032/index.html trumpeting a minor achievement with apps). Their FAQ is strangely written – it certainly doesn’t sound like a lot of effort has gone into their developer programme.

The use of a bespoke infrastructure to ‘control’ app deployment creates significant risks for consumers. There is nothing to stop Panasonic turning off service to older models once they are out of warranty, say, or if the business direction changes.

Panasonic is also a member of the SmartTV alliance, but there is nothing obvious connecting this to their products.

Philips

Philips has announced its intention to exit from the consumer electronics market.

Sharp

Sharp is supposed to be a supporter of the SmartTV alliance, but isn’t listed as a member. It is not clear what technology they are using. There is no obvious developer programme, and the platform seems to be very short of content (eg http://www.trustedreviews.com/sharp-aquos-net-smart-tv-platform_TV_review).

LG

LG seems to be taking a triple-track programme:

  • A bespoke platform
  • Google TV
  • Smart TV

The bespoke platform, called NetCast, is based around HTML5, CSS3 and modern javascript, with a vast number of features supported, including local persistence. One suspects the underlying technology is WebKit on Linux. Integration with the television uses a large number of javascript ‘functions’, added as extensions to the HTML’s DOM. Wrapper libraries and the like are provided. The community is large, documentation is good and a wide range of features are supported by the television. Notably missing, though, is the ability to run applications in the background or start-up, and to have an application turn the television on or off. The platform’s features are very much focused on delivering streaming media.

For more information about developing for LG SmartTVs see http://developer.lgappstv.com/

LG is now offering for sale televisions with Google TV in them.

LG is also a board-level member of the SmartTV alliance, but there is nothing obvious connecting this to their products.

Samsung

Samsungs’ developer programme is the most comprehensive (see  http://developer.samsung.com/smarttv). Their devices support additional technologies such as Java applets and Adobe AIR. Documentation is very extensive and freely provided; engagement is easy and straightforward . There are even hints that it is possible to access underlying C code. Apps are normally written using HTML5 and CSS. There are extensive java script plugins to access all the features of the television (eg http://www.samsungdforum.com/Guide/). Support exists for integrating with other devices, including simple medical ones (eg scales). Most HTML5 DOM features are supported, including WebWorkers, WebSockets and Server-Side events.

However, there doesn’t appear to be a way to run applications in the background, or at start-up.

User opinion is that the SmartTV apps are very slow, and tedious to interact with.

Samsung is also an adopter of the GoogleTV platform.

Third-Party Platforms

SmartTV Alliance

This is a small industry body, launched in June 2012, with notable membership consisting of Toshiba, Panasonic and LG. The alliance’s stated goal is to provide a SDK which will allow build-once applications for the members platforms. None of the vendors seem to offer any clear instruction on how to submit apps built using their SDK. Registration is required to use the SDK, and requires an excessive amount of information, and agreement to a bespoke licence. This approach is certainly off-putting to developers, and suggests the alliance members don’t fully understand how best to engage with modern developers.

We signed up as mrblobby, with password password. Feel free to use our credentials to understand more of the product offering, without giving them your life history and blood group at  http://www.smarttv-alliance.org/

GoogleTV

GoogleTV is now on to its third major version. It is a customisation of Android 4. Early versions were widely derided, but the current release seems to have received good reviews. GoogleTV provides a nearly identical set of features to regular Android on tablets, with some notable exceptions:

  • It is not possible to use a microphone
  • It is not possible to use a Webcam
  • VOIP applications are not supported
  • There is no NDK
  • NFC is not supported

All of these seem odd exceptions (particularly the last, which is a feature others, eg Sony, actively promote for device interaction). Some can probably be understood when one sees the OEM purchasers uses of GoogleTV:

  • To provide additional features above and beyond their own platform (so desiring the need to retain control over the hardware)
  • As a black box (or dongle), where such hardware might not be available

Sony and LG are the major adopters of GoogleTV so far outside of North America.

As a platform, GoogleTV is comprehensive, open and easy to access as a developer. Google’s approach is also quite technoloigcally sensible. Televisions are discovered using local Mulitcast DNS (‘Avahi’, ‘Bonjour’). Remote controls are enabled using a protocol known as Anymote, with ready-to-use clients available (and very simple to program for). Pairing uses a similarly simple protocol atop Google Protocol Buffers, and can use QR codes so smart phones can auto-pair simply. Support for tablets and smart phones is first class. It is less clear if CEC-HDMI support is available.

Apps can be written as HTML5 and CSS, with all the support modern versions of Chrome provide, or as native Android apps, with the ability to fully control the device. A comprehensive app store is available. The development and deployment approach is identical to that for Android; indeed, many existing Android Apps can be ported to the platform for a few hours effort, if that.

For more information about developing for GoogleTV see https://developers.google.com/tv/

Set-top Box Like

This category includes a wide range of devices. There is a widespread view that the STB, rather than the television, is the place to put the ‘Smartness’. Certainly some are doing this (eg Samsung with their Home hub). The advantage for the consumer is an easier, more cost effective upgrade path that doesn’t require a change of TV as technology evolves.

HbbTV

This is likely to become the defacto standard for most set-top boxes; it is particularly widely adopted by European national broadcasters and their ilk. Some satellites, eg Eutelsat, now support it. Custom hardware is available in System-on-a-Chip form from vendors such as STMicroelectronics. The platform is focused on providing Apps to interact with things like tuners (particularly DVB-T2, HD television). It runs WebKit based browsers. A downside is the use of a profile of older XHTML (called CE-XHMTL), limiting its ability to display non-bespoke content as the web evolves with HTML5.

YouView

This is the UK’s equivalent of HbbTV. Potentially very capable, the platform is controversial and support outside of the UK is non-existent. It has had a very troubled birth and is unlikely to be widely adopted.

XMBC / Boxee

Various parties are looking to extend XMBC (one of which is Boxee) to provide an internet-savvy STB. As a platform, XMBC is extremely capable. Linux based, plugins can be written in Python and XAML and third party applications launched. Extenders like Boxee also support XUL. XMBC can run on exceedingly cheap hardware, such as Raspberry Pi.

MythTv / UbuntuTV

This is a similar take to XMBC and GoogleTV, but based on Ubuntu with its Unity interface. One suspects that, like many of the Ubuntu derivatives, that, despite backing by Canonical, it will lack polish and persistence. Time will tell. It can, like XMBC, run on inexpensive hardware, but not the very cheap Raspberry Pi like devices (as Ubuntu refuse to support a particular ARM chipset).

Conclusion

There will probably be a niche market for the XMBC and UbuntuTV like approaches, for those who don’t want to be ‘tied-into’ a platform.

The bespoke platforms, apart for Samsung’s and perhaps LG’s, will die without trace; there is no future in them for the vast majority of developers.

GoogleTV will provide the best possible developer experience. However, adoption to date has been spotty, perhaps because content providers are resistant (if Google control the platform, they can control content distribution, which is where the value is in Smart TV).

It seems that the SmartTV Alliance will have a lot of work to do to offer a suitable competitor to GoogleTV. We doubt they have the intrinsic understanding of the business drivers of developers and app makers that is needed to succeed, irrespective of the technology.

So what platform would we use to develop our “video calendar”?

Currently it would have to be GoogleTV as from a development viewpoint it is:

  • Open
  • Has all the features we are looking for (when combined with CEC-HDMI)
  • Easy to develop for
  • Has good tooling
  • Has cheap platform hosts (such as Google TV dongles and STBs)

Here is a short demo of Google TV in action: