top

Samsung SmartTV SDK 4.5 Overview

Published 2015-08-21 | (Compatible with SDK 4.5 and 2013 models)

Overview of Samsung SmartTV SDK 4.5 including description of development environment, existing features and new features like HTML 5 a or MIDI Support. Differences Between the Emulators and the Smart TV Hardware.

Introduction

The Samsung Smart TV SDK 4.5 is designed for developers who want to create applications on the 2013 Samsung Smart TV platforms.

The SDK includes the following tools:

  • Eclipse-based Application Editor and Visual Editor
  • TV Emulator
  • Debugger
  • The S Client Emulator, a tool for testing applications on remote TV Emulator servers.

Support for Windows, Mac OS X, and Linux platforms. Support for 32-bit and 64-bit OS’s.

Development Environment

The Samsung Smart TV SDK 4.5 supports the Windows, Mac OS X, and Linux platforms. The Eclipse-based App Editor IDE provides developers with many of the tools they need to create Smart TV applications. Some of the features include:

  • Context-sensitive text editors for HTML, CSS, and JavaScript
  • A Visual Editor for creating GUIs
  • Debugger
  • TV Application Packaging

Figure 1 Smart TV App Editor IDE

The SDK also provides TV Emulators for all platforms. The TV Emulator can help developers test their application in their development environment before testing on a real TV.

Figure 2 The Smart TV Emulator

Beginning with SDK 4.0, TV Emulators are now provided for the Linux and Mac platform. The Virtual Box virtualization tool is used to support the Emulator across multiple platforms.

Smart TV Applications

Smart TV applications are web-based software programs that run on digital TVs connected to the Internet. With Smart TV applications, TV users can access web content via their TV screens. Unlike general web pages, applications for Samsung Smart TV allow users to employ TV-specific features.

For example:

  • Application plugins can allow users to change the application’s volume or play a video that is not part of the television broadcast.
  • Functions provided by the File API allow users to use a file storage system.

Figure 3 Web Page structure compared to Smart TV application structure

In order to make application development easier, the Smart TV SDK categorizes applications into 4 groups:

Basic Application
For developers who want to create applications using the Visual Editor
JavaScript Application
For developers who are comfortable writing their applications entirely in code (HTML, CSS, JavaScript)
Flash Application
For developers who want to add Flash files to their application.
NaCl Application
For developers who want to write C/C++ applications.

In addition to the application types, developers can also define how their application should be shown on the screen.

Figure 4 Different ways to display an application

Full screen applications cover the entire screen, single-wide applications cover a portion of the screen, and ticker applications display scrolling text at the bottom of the screen.

New Features in SDK 4.5

This section provides a summary of the main features in the SDK 4.5. Please consult the documentation of each feature to learn more details.

HI with Gestures

Gesture Recognition enables users to control their Smart TVs with gesture commands. The latest SDK provides a Gesture Simulator tool that gives developers the ability to test gesture-based applications in the Emulator.

Figure 5 Smart Interactions

To learn more about created gesture-enabled applications, please refer to Gesture Recognition.

Note

This feature is currently available only in the Windows-based TV Emulator.

Flash 11.1

The Samsung Smart TV SDK 4.5 supports Flash 11.1, which is the same version supported on the 2013 TV Platform.

Adobe AIR 2.5

The Samsung Smart TV SDK 4.5 supports Adobe AIR 2.5.

Google Native Client (NaCl)

Developer can now write C/C++ code for their Smart TV applications thanks to the Google Native Client (NaCl) technology.

For more information, please see the guide on Using NaCl with the Smart TV SDK.

Figure 6 Running a game as a native app using NaCl

MIDI Support

The Samsung Smart TV SDK 4.5 provides a MIDI API that allows developers to use MIDI devices and audio features in their Smart TV applications.

Figure 7 Using the MIDI interface

For more details about MIDI, please refer Creating a MIDI Application.

Note

This feature is currently available only in the Windows-based TV Emulator.

Web Inspector

The Emulator is integrated with the Web Inspector debugging tool. This feature provides many debugging options such as JavaScript breakpoints, watch expressions, network profiling, and more.

For more details about debugging, please refer to the article Using JS Debugger : 2012 and Later Emulators.

WebGL

The Smart TV Emulator includes support for WebGL.

HTML 5

HTML 5 is the next major revision of the HTML standard. The Samsung Smart TV SDK 4.5 supports HTML 5, including the <video>, <audio>, and <canvas> tags.

For more information about using HTML 5, please refer to the article HTML 5 Specification.

Samsung S Server and S Client

The Samsung S Server and S Client tools allow development teams to host their Emulator on a server which testers can connect to via a thin client.

For more details about the Samsung S Client and S Server, please refer to the documents Samsung SmartTV S Client(Version 4.5) User Guide and Samsung SmartTV S Server (2013VM) User Guide.

Existing Features in the Samsung Smart TV SDK

The Samsung Smart TV SDK continues to support features that have been present in previous releases.

AllShare

Samsung AllShare enables content sharing across devices. Pictures, movies, and music can be shared between computers, TVs, mobile devices, and more. The AllShare API gives Smart TV applications the power to interact with AllShare-enabled devices.

Figure 8 AllShare

For more information about AllShare, please refer to AllShare Tutorial.

Convergence API

The Convergence API is designed to enable communication between mobile and TV devices. An example of a convergence application is using a smartphone as a remote control for a SmartTV application.

Figure 9 Convergence API

For more information about the Convergence API, please refer to Creating a Convergence Application.

HTTP Adaptive Streaming

The Smart TV SDK supports applications with HTTP Adaptive Streaming (HAS). This feature allows video applications to dynamically adjust bitrate streaming based on network conditions.

For more information about HTTP Adaptive Streaming, please refer to Creating a Video Application With HAS (HTTP Adaptive Streaming).

Differences Between the Emulators and the Smart TV Hardware

The Emulators are provided so that developers can conveniently test their applications in their workstation environment. However, the Emulators do not exactly simulate the real TV, and developers should always perform final testing on a real TV device.

Some differences between the Emulators and the real TV device are:

  • Performance: RAM, CPU, and network status are just some of the factors that influence an application’s performance. These variables are different between the PC and TV, and as a result performance should be carefully observed on the real TV. In general, the TV will have less memory than most developer workstations.
  • Interface Viewing Distance: Even though applications maintain the same aspect ratio in the Emulator and the TV, viewers in the TV environment are further away from the screen. The usability of applications should be tested on a real TV.
  • Remote Control: On a real TV, the application cannot override the default behavior of some of the remote control buttons. Additionally, the response time of button pushes may vary.

Additional Resources

In addition to documentation and guides, the forums give developers an opportunity to seek help and post questions. The forums are available in English, Korean, Chinese, and Russian.