Samsung Smart TV Legacy Platform

Samsung Smart TV Legacy Plarform is a platform that integrates Internet and web features in TVs and set-top boxes, as well as provides a way for technological convergence between those TVs and other devices like computers, smartphones and tablets.

Introductory description of Samsung Smart TV applications and their architecture is available in Smart TV Applications document.

Smart TV Application vs. Web Application

Developing applications for Samsung Smart TV platform is slightly different from developing web pages for the Internet.

Features
Smart TV App Development
Web App Development
Web engine
  • Gecko (2010 ~ 2011)
  • WebKit (2012 ~ 2014)
  • Web Development is done for many different browsers
Resolution
  • 960 x 540 pixels
  • 1280 x 720 pixels
  • 1920 x 1080 pixels
  • Web Development Support responsive layouts, adjusting them for different resolutions and screen size.
Application on TV
  • Use all the advantages of its large display
  • Web pages are displayed in a web browser on a computer or mobile device screen.
Interactivity
  • Remote control
  • Mouse
  • Gestures
  • Voice
  • Keyboard
  • Mouse
  • Other touch interface

Major Features

Audio and Video Applications

Developer can stream Audio or Video content through TV app in realtime. The guide will cover information about how to apply Streaming, different containers and decoders supported by TV, configuring MP3 live streaming, HTTP Adaptive Streaming (HAS) applications and many more.

The tutorial also demonstrates the use of the video features of the Samsung Apps service. These are needed to create various kinds of applications, like video catch-up services and User Created Content (UCC) services.

  • Creating a Video Application Code

    PlayReady(R) is a content access and protection technology that is the successor to WM DRM (Windows(R) Media Digital Rights Management). It provides new, advanced, and frequently-requested features, such as domain control, embedded licenses, and the ability to protect a wide range of content types and formats.

  • PlayReady DRM

For more details, kindly refer to multimedia page.

Interactivity

In the context of Smart TV, interactivity means controlling the TV with a device other than the remote control, e.g. a smartphone. There is a dedicated application provided by Samsung for various mobile operating systems (Samsung Remote for Android, Samsung SmartView for iPhone and iPad). It lets users control their TVs with a mobile device acting as a remote control with extended functionalities. An article with description of interactive remote functionalities can be found in Interactivity document.

  • Smart interaction

    Since 2012, high-end Samsung Smart TV models are equipped with built-in camera and microphone. It is possible to interact with Smart TV using voice and gesture control commands.

  • Voice control

    Voice control allows the user to control the Smart TV using voice commands. It is also possible to use a special remote control with a microphone (Smart Remote). Voice recognition operates in two modes:

    • Server mode: It is a free speech-to-text mode in which a voice sample is sent to a server where it is recognized and returned as text; server recognition is available for many languages.

    • Candidate words mode: It is a mode in which the recognition engine in the device tries to match the voice sample to a list of candidate words; that mode is a little faster than server mode, because it works locally.

    For more information about voice recognition, go to Using a Recognition Application or Voice Control.

Gesture Control

When using Motion Control, the TV and application controls can be used without the need for remote controls or other input devices. There are two types of Motion Control, one for using one hand and the other for using two hands.

  • One-handed gestures (In front of camera)

    • Pointing: When you 'Point' your hand. It can move the pointer.

    • Pinch: When you 'Pinch' your hand. It can execute.

    • Pinch & Hold: When you 'Pinch and Hold' your hand. It can continuous execution / option mode.

    • Slap: When you 'Slap' your hand. It can move to the next page.

    • CCW Rotation: When you 'CCW Rotation' your hand. It can go to previous channel or return to the previous stage.

    • Pinch & Move: When you 'Pinch and Move' your hand. It can scroll.

  • Two-handed gestures (In front of camera)

    • Pinch & Widening/Narrowing with two hands: When you 'Pinch and Widening/Narrowing with two hands'. It can Zoom In/Out.

    • Pinch & Rotating with two hands: When you 'Pinch & Rotating with two hands'. It can rotate.

For more information about gesture recognition, go to Gesture Recognition or Motion Control.

AllShare

AllShare is a set of APIs which allow to:

  • Discover and connect devices in the home network.

  • Share media (video, music, pictures) between different devices.

  • Access control between devices.

  • Media can be shared across many devices, as: PCs, TVs, mobile phones, tablets and digital cameras that are able to support AllShare Services.

There are two tutorials available where you can find more information about AllShare APIs: AllShare API Reference and AllShare Tutorial.

Convergence

The Convergence Framework enables bidirectional communication between a TV and other devices to exchange messages, including file attachments. This communication is based on a messaging system, which is described in detail in Messaging System.

The Convergence Framework makes it possible for devices connected to a network to discover each other using UPnP, and then communicate over HTTP using RESTful interfaces. The Convergence API includes the following communication types:

  • Client (HHP) to TV Application Communication

The information about convergence application features can be found in guides Convergence App, and Creating a Convergence Application.

SSO (Single Sign On)

Single Sign-On is a mechanism for managing the user account information for Smart TV applications. The encrypted account information is saved in a database and is available to respective applications. Thanks to this, the user doesn’t have to repeatedly re-enter personal information.

You can find more information about Single Sign-On mechanism in Single Sign-On and Using Single Sign-On (SSO).

IME (Input Method Editor)

IME (Input Method Editor) is a common module which enables text input in applications. Smart TV users can enter text using a remote control. IME displays a virtual keyboard on the screen (qwerty or mobile phone style) and maps the remote controller’s input to appropriate characters.

More information about IME can be found in Using IME (Input Method Editor).

Getting Started

Middleware API

TV-specific features are accessible through JavaScript APIs that were released for the developers.

API
Description
Application API

While a developer creates a Samsung Smart TV app and Javascript function can not support functions such as volume control or channel change, Application, an API supported by Samsung engine, enable to use the functions with method call easily. The API reference can be found in Application API.
UI API

User Interface defines necessary UI elements for TV app development supported by Samsung Smart TV. The API reference can be found in UI API.
Display API

Everyone can use and control contents on Samsung SMART TV's big screen. The API reference can be found in Display API.
Hardware API

Provides API controlling, inputting and outputting Samsung Smart TV's internal and external devices. The API reference can be found in Hardware API.
Media API

Controls media contents such as video/audio. The API reference can be found in Media API.
Recognition API

Controls Samsung Smart TV with gestures and voice recognition. The API reference can be found in Recognition API.
CAPH API

Provides all kinds of CAPH WUI Widgets and Animations & Effect, CAPH WUI Engine, Data Acceleration library. The API reference can be found in CAPH API.
Pepper API

The Pepper API available on Samsung Smart TV since 2013.
AllShare API

Provices the wap to develop convergence services such as contents sharing, device control, etc.
File API

Enables applications to use the file input/output system supported by the Samsung TV application engine to store data they get while they are still working, and restore the data anytime they want.
Convergence API

Provides a REST-based interface allowing devices supporting the HTTP protocol to communicate with a Smart TV. Devices discover Samsung TVs on the local network using the UPnP discovery.
Common API

The Application Manager provides some common object modules that all your applications can use.

Smart TV SDK

Samsung Smart TV SDK is an environment in which you can develop, run and debug applications as well as build packages for Samsung Smart TV.

There are two major releases of Samsung Smart TV SDK available:

  • Eclipse release: available from SDK version 3.5

    The Eclipse release is the regular Eclipse IDE with Samsung Smart TV SDK merged into it.

  • Standalone release: available up to SDK version 3.5.2

To download the Samsung Smart TV SDK, visit SDK Download page.

There are three types of project templates available in Samsung Smart TV SDK:

  • Basic project

    A JavaScript based project that includes the Samsung Smart TV CAPH(Web UI Framework). CAPH(Web UI Framework) provides a high level wrapper for Smart TV’s APIs and general Smart TV application logic, which is supposed to make the development process easier.

    For more information, refer to the CAPH API.

  • JavaScript project

    A project template for writing applications in pure JavaScript and/or use frameworks of your own choice. Developing a Smart TV application requires at least two files to be present in the project: index.html and config.xml.

You can find more information about the structure of a basic JavaScript project template in Coding Your JavaScript Application.

Smart TV Applications

The target device to run the application is a TV and therefore it is advisable to also use it while testing the application. If it is not possible to run the application on a TV, you can test your application on the Emulator. Testing on the Emulator can be used as an indication of possible errors in the application. It also takes less time to verify the application using the Emulator, as it is not required to transfer the application to a device. There are Emulators of each platform version delivered together with the Samsung Smart TV SDK. Thanks to that, it is possible to run the application in an environment that is very similar to the platform version, in case you have no access to the hardware.

The latest version of the Samsung Smart TV SDK includes Emulators of all platforms:

  • SDK Emulator 1.5 - for 2010 platform

  • SDK Emulator 2.5 - for 2011 platform

  • SDK Emulator 3.5 - for 2012 platform

  • SDK Emulator 4.5 - for 2013 platform

  • SDK Emulator 5.1 Beta - for 2014 platform

Applications running on different versions of the Emulator can behave differently, and can generate different types of errors. Due to running on different hardware, the Emulators will never fully reflect all the capabilities and features of a real device. It is strongly recommended to always test your applications on a real device.

Debuging Applications

You can either use the Samsung Smart TV SDK JS debugger tool, or Web Inspector tools that you can access in the 2012 Emulator’s debug mode. Please refer to those articles to find more information about how to use the JS debugger or Web Inspector tools:

  • JS Debugger

    • Using JS Debugger: 2010 and 2011 Emulators
    • Using JS Debugger : 2012 and Later Emulators
  • Remote Web Inspector

Uploading Applications to Smart TV

You can deploy the newly created application to the Samsung Smart TV platform by:

  1. Creating a package and sending it to TV using the Samsung Smart TV SDK, and you can Testing Your Application on a TV for 2014.

  2. Copying the application to an USB memory and running it on TV. This method works only on 2012 platform and is not recommended.

You can find more information on packaging and launching the applications in Packaging and Launching Applications.

Certification Process

You can find application certification process described in details in the App Submission section of the Samsung Apps TV Seller Officce.