Development Guide
Samsung SmartTV SDK 4.0 Overview¶
Lead
Overview of Samsung SmartTV SDK 4.0 including description of development environment, existing features and new features like HTML 5 and Flash 11.1 support or MIDI Support. Differences Between the Emulators and the Smart TV Hardware.
Contents
Introduction¶
The Samsung Smart TV SDK 4.0 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 (currently only available in Windows SDK)
- The S Client Emulator, a tool for testing applications on remote TV Emulator servers.
With this version, the SDK now supports the Mac OS X and Linux Platforms.
Development Environment¶
The Samsung Smart TV SDK 4.0 supports the Windows, Mac OS X, and Linux platforms. All platforms support the Eclipse-based App Editor IDE. The 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 (currently Windows only)
- Semantic Web Service browser
- TV Application Packaging
- Automatic Test Tool (ATT)
Figure 1 The Eclipse Smart TV App Editor
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 Smart TV Emulator (Windows version)
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 on these two new platforms.
Figure 3 TV Emulators for Windows, Mac OS X, and Linux
Currently, the Mac & Linux TV Emulators do not yet contain all the features of the Windows-based Emulator. In all cases, developers should conduct their final testing on real TV hardware.
For more information about installing and running the Smart TV SDK, please refer to the following documents:
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 4 Web Page compared to Smart TV Application
In order to make application development easier, the Smart TV SDK categorizes applications into 3 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.
In addition to the application types, developers can also define how their application should be shown on the screen.
Figure 5 Application Showing Types
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.0¶
This section provides a summary of the new features in the SDK 4.0. 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 6 Gesture Simulator
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.0 supports Flash 11.1, which is the same version supported on the 2013 TV Platform.
For more details about Flash, please refer to the guide Creating Flash Applications.
MIDI Support¶
The Samsung Smart TV SDK 4.0 provides a MIDI API that allows developers to use MIDI devices and audio features in their Smart TV applications.
Figure 7 Application with MIDI support
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 Windows-based 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.
Automatic Test Tool (ATT)¶
The Automatic Test Tool (ATT) allows developers to automate the testing of their Smart TV applications. Developers can create input event sequences, schedule screen capture commands, record mouse input for playback, and more.
Figure 9 Creating A Test Case With the Automatic Test Tool
Note
For more information on the ATT, please refer to the PDF document ATT (Automatic Test Tool) User Guide. This document is included in the SDK Download for Windows and can be found at %SDK INSTALL DIRECTORY%/Help/ENU/2013/ATT_user_guide.pdf.
Important
The ATT is only available in the Windows development environment.
HTML 5¶
HTML 5 is the next major revision of the HTML standard. The Samsung Smart TV SDK 4.0 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.
Open Samsung Smart TV Semantic Service¶
The Open Samsung Smart TV Semantic Service is a tool available in the App Editor that lets developers browse for web services and import them into their application. For example, developers who wish to add a mapping feature to their application can search the service registry for mapping APIs. When the search results are returned, developers can browse the APIs and import the client code into their application.
Figure 10 Browsing for a Service using the Semantic Service Explorer
For more information about this feature, please refer to Semantic SDK.
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(2013VM) 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.
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 13 Multiple User Game using TV and Smart Phones
For more information about the Convergence API, please refer to Creating a Convergence Application.
Smart Interaction API¶
In addition to the new Gesture Simulator, developers can create applications with voice recognition support.
Figure 14 Voice Control Simulator
For more details about voice recognition support, please refer to Voice Recognition.
Advertisements for Smart TV¶
The AdHub library allows developers to add advertisements to their Smart TV applications.
Figure 15 Advertising Features
For more information about adding advertisements to an application, please refer to Adding Advertisement functionality to Interactive Apps.
Note
Please note that the AdHub library is a separate download from the main Smart TV SDK (the download link is included in the referenced article).
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¶
To learn more about the Samsung Smart TV development platform, please visit the SamsungDForum . This site is dedicated to proving resources for Smart TV developers such as articles, tutorials, and example code.
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.







