At Mindtree, we evaluate open source technologies and frameworks with the intent of enabling our customers to provide differentiated services to their customers, that keep them ahead of the game. We present our points of view on TV application layer, an open source framework from BBC.
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
PoV on TV Application Layer
1. PoV on TV Application Layer from BBC
TAL is an abstract layer for TV applications that
enables the deployment of single code base
across many connected SMART TVs.
Most of the connected TV devices have browser
built upon WebKit or Opera, there can be
variations in the way the devices perform media
playback, animation, networking, logging, JSON
parsing, persistent storage, and remote control
key codes. TAL provides abstraction layer for
the above.
Much of the development can be done using
traditional desktop browser, focusing on building
the desired features, without worrying about TV
compatibility too much.
The applications built using TAL will require
tuning as the differences in performance are due
to device specification, and variances in the
browser. Once the TAL application is built, one
may need the help of TV packaging tool to
enable access to the viewers from TV
application store.
Why TAL?
TAL opens up a possibility of writing TV
application once that will run on connected TVs
from different manufacturers with little or no
modification, there by opening up a lot
monetization opportunity for the adopters and
maximize the benefits.
TAL provides readymade widgets to build
application interface. It is possible to use out of
the box or extend them.
List of the widgets as follows...
Widget
Container
Component
ComponentContainer
Label
Image
List
ListItem
HorizontalList
VerticalList
Grid
HorizontalCarousel
Media
HorizontalProgress
HorizontalSlider
ScrubBar
Keyboard
TextPager
TAL framework
Framework provides an abstracted notion of
storage, both at session level and persistence
level. Common API allows maintaining a key-
object store. Storage limitations are induced by
the device, while framework does not present
enforcement on the limit.
Framework allows asynchronous network
requests including cross-domain requests.
TAL also provides the flexibility to launch
another application from existing, exit the
application, or return to main application.
The framework is able to achieve abstraction
through configurations.
Each file represents a device or family of similar
devices. Device configuration consists of a set of
default values required by TAL and an
application file that can override the defaults to
include additional properties required to an
application.
TAL framework allows the developers to define
new component, and manage the lifecycle
programmatically. The framework implements its
own event system and isolates event differences
across devices. The framework enables
developers to target different screen resolutions.
Evaluation
2. We developed a sample TAL application that
enables passcode protected video consumption
from Dropbox and Youtube on SMART TV. We
listed our observations and analysis during the
application development to establish a point of
view on TAL framework.
We evaluated TAL framework on the following
parameters, provided our scores in a scale of 1
to 5, 5 being the best.
Source code completeness
Ease of learning
Ease of customization/extension
Ease of app deployment
Community support and following
Source code completeness
TAL is licensed under dual licensing terms. TAL
is available under Apache license and BBC can
make TAL available under proprietary license.
Code under Apache license v2.0 makes it
business friendly for adoption.
BBC has done a good job in making the source
code available in various forms.
GitHub, Bundled in Tar and Zip
Code is readable and has good documentation.
A good developer with the understanding of
JavaScript will be able to understand the
framework.
Score: 5
Ease of learning
We at Mindtree have evaluated many open
source frameworks in the context of business
solution implementation. While open source
software/framework provide the cost
advantages, we often felt that the developers
would find the adoption difficult because of non-
availability of documentation, non-availability of
examples, and complexity involved in
configuration, complexity of setting up the
development environment and so on. In case of
TAL, the framework configuration was fairly
simple. The availability of example applications
and documentation helped the learning activity.
We shall conclude that developing TAL based
application is not a complex undertaking.
Score: 3.5
Ease of customization/extension
It is imperative that the framework needs to be
extended to accommodate desired business
needs. Customization and/or extension of
framework is possible when the framework
design accounts such future requirements. The
framework is fairly flexible, and driven by the
configurations. The framework abstracts the
common concerns of networking, storage, new
component building, and new TV device
configurations. As a part of the evaluation
activity, we have developed a custom
component that loads youtube player in
Samsung SmartTV.
Score: 4
Ease of app deployment
Building the TAL based application is fairly
simple. However, to deploy this application in
TV, and make it available in its application store,
we need to make use of TV’s packaging tool.
We used Samsung TV application development
environment to package TAL application and
made it available in application hub.
There will be packaging effort required to make
the application available on different
manufacturer.
We identify this as one of the improvement
areas where TAL framework can offer ready
packaging.
Score: 3
Community support and following
3. TAL is in its nascent stages. The current set of
features and functionality is good enough to
create a good TV application.
As TAL is not the uniform standard which all TV
device manufacturers consider supporting it, the
framework requires a strong community support
and following, which is not a scoring point now.
With BBC backing up the project, we believe
TAL will have good community following in the
near future.
Score: 2
Analysis at a glance
Our views
There is no standard across TV manufacturers
to create TV application that works across
different connected TVs. TAL provides much
needed abstract layer aiding the TV application
developers. TAL framework also enables
developers to create new components.
TAL framework needs to mature with more
features and functionality, preferably with an IDE
that aids rapid TV application development.
Since, TAL is open source software; only a
strong community support will make it popular,
forcing TV manufacturers to adopt TAL.
Developers will enjoy good monetization
capability by writing TV application in TAL once,
and deploy in multiple TV devices.
References
http://fmtvp.github.io/tal/getting-
started/introducing-tal.html
Proof of Concept development exercise