Samsung SmartTV SDK 4.0 Overview¶
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.
- Development Environment
- Smart TV Applications
- New Features in SDK 4.0
- Existing Features in the Samsung Smart TV SDK
- Differences Between the Emulators and the Smart TV Hardware
- Additional Resources
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.
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:
- A Visual Editor for creating GUIs
- Debugger (currently Windows only)
- Semantic Web Service browser
- TV Application Packaging
- Automatic Test Tool (ATT)
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.
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.
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 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.
- 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.
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
- 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.
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.
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.
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.
To learn more about created gesture-enabled applications, please refer to Gesture Recognition.
This feature is currently available only in the Windows-based TV Emulator.
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.
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.
For more details about MIDI, please refer Creating a MIDI Application.
This feature is currently available only in the Windows-based TV Emulator.
For more details about debugging, please refer to the article Using JS Debugger : 2012 and Later Emulators.
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.
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.
The ATT is only available in the Windows development environment.
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.
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.
For more information about this feature, please refer to Semantic SDK.
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.
The Samsung Smart TV SDK continues to support features that have been present in previous releases.
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.
For more information about the Convergence API, please refer to Creating a Convergence Application.
In addition to the new Gesture Simulator, developers can create applications with voice recognition support.
For more details about voice recognition support, please refer to Voice Recognition.
The AdHub library allows developers to add advertisements to their Smart TV applications.
For more information about adding advertisements to an application, please refer to Adding Advertisement functionality to Interactive Apps.
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).
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).
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.
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.