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.
Developing applications for Samsung Smart TV platform is slightly different from developing web pages for the Internet.
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® 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.
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.
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 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.
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:
The information about convergence application features can be found in guides Convergence App, and Creating a Convergence Application.
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) 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).
TV-specific features are accessible through JavaScript APIs that were released for the developers.
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.
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.
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
Remote Web Inspector
You can deploy the newly created application to the Samsung Smart TV platform by:
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.
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.
You can find application certification process described in details in the App Submission section of the Samsung Apps TV Seller Officce.