01

Introducing the Samsung SmartTV Platform

Introducing SmartTV

Samsung SmartTV SDK

SDF

Summary

Introducing SmartTV

What Is a SmartTV?

As an adjective the word “smart” is used to describe a new device capable of more advanced functions. For example, a smart phone supports not only basic Internet access, but also PC-level information processing and high-definition multimedia playback, transcending from a traditional cellular phone into a new device that can substitute most of the PC functions. As the information processing power transmuted a cellular phone into a smart phone, a SmartTV was also created by adding computing power to a TV. A user can use various additional contents such as movies, video games, searches, and other fused or smart services, with a highly accessible UI/UX environment, provided by a digital TV's operating system.

As a smart phone has an operating system such as Google's Android or Apple's iOS, a SmartTV comes with its own operating system. You will see that a Samsung SmartTV uses the WebKit browser on Linux as its base operating system, which harmonizes multi-tiered elements to provide vital functions to operate a SmartTV.

images

Figure 1-1. The Samsung SmartTV 2013's Smart Hub

Another characteristic of a SmartTV is a standard application hub. Just as a smart phone platform has an app store, a SmartTV platform has an app store with a developer ecosystem. SmartTV app stores are already servicing thousands of applications categorized into movies, games, sports, lifestyle, information, education, etc. Note that a SmartTV app's special UI/UX, which utilizes TV's unique properties such as a large screen, is capturing consumers with a new appeal.

Evolving into a smart device does not change a device's basic purpose, and a TV's basic purpose is consuming broadcasted contents. New functions of a SmartTV must not get in the way of watching TV broadcasting. Samsung SmartTV provides various VOD applications to support the basic purpose. Applications that help obtain related information during a broadcasted program are also well received.

The Samsung SmartTV, as the leader in the TV industry, has introduced new smart functions such as Smart Evolution, Smart Interaction, and Smart Recommendation to redefine the standard of a SmartTV year after year, in addition to advancements for the basic TV function of watching broadcasted programs, such as high screen quality.

Many manufacturers have also joined the SmartTV market. Competition among them has been rapidly expanding the SmartTV market, just as competition has expanded the smart phone market. As the SmartTV evolves, the application ecosystem grows as well. Developers are facing an era of new opportunities that the SmartTV brings.

History of the Samsung SmartTV

The Connected TV introduced basic Internet capability to a TV, and even utilized the new Web 2.0 trend and provided RSS-based Internet information. The Connected TV later became the Internet TV, which introduced an application service platform. Unlike the current Samsung SmartTV, the Internet TV application was in Java Widget style. As the application market grew, Samsung Electronics published an SDK (Software Development Kit) for developers.

images

Figure 1-2. History of Samsung's TV Technology

Samsung introduced the currently serving application hub, Samsung Apps, in 2010 for the first time. This enabled consumers to purchase apps on the application hub and use them on their TV sets.

In 2011, the application hub had evolved into a smart hub with newly introduced Internet TV function and multimedia content. Web browser performance was also improved and provided a perfect environment for SmartTV applications to thrive. The SDF (Samsung Developer's Forum) was launched to provide app support to developers with all skill levels.

In 2012, Samsung SmartTV added the AllShare function that supports content sharing between Samsung devices, and the application market started to expand in both quality and quantity as indicated by the increased content on Samsung Apps.

Samsung SmartTV continued to revolutionize in 2013. Newly added smart functions include Smart Interaction, which supports gesture and voice recognition, and personalized content recommendations. Improved hardware enhances animation performance. Samsung also expanded functions selection, which resulted in enhanced applications with a faster response time.

Samsung SmartTV Specifications

Samsung SmartTV has the following standard specifications

images

Table 1-1. Samsung SmartTV Standard Specifications

The following table compares hardware specification and supported functions of the corresponding SDK version in 2012 and 2013. Player specification is not included here because it will be explained in chapter 7 in detail.

images

Table 1-2. Specifications for Samsung SmartTV 2012 and 2013

The current standard is Samsung SmartTV 2013 with a SDK version of 4.x.

Note that this book will cover all areas of application development based on Samsung SmartTV 2012 and 2013 models.

Samsung SmartTV SDK

Structure of the Samsung SmartTV SDK

Samsung SmartTV SDK can be downloaded from the official SDF (Samsung Developers Forum) and provides several tools for application development. See the following table for minimum system requirements for using the SDK.

Hardware Requirements

images

Table 1-3. Hardware Requirements for Samsung SmartTV Application Development

Software Requirements

For All Operating Systems

  • Java SE 1.6 or higher

For Windows

  • .NET Framework 2.0
  • Latest version of Visual C++ 2005 Redistributable Package and Visual C++ 2010 Redistributable Package
  • DirectX End-User Runtime

Notice in the hardware requirements that Linux and Mac OS are supported since the last update of Samsung SmartTV SDK 4.0, to support a multi-platform development environment. Although not all Windows SDK functions are supported by Linux and Mac OS versions, they are more than suitable for basic application development.

This demonstrates Samsung's enthusiasm to support Samsung SmartTV application ecosystem and developers.

images

Figure 1-3. Samsung SmartTV SDK for Linux

images

Figure 1-4. Samsung SmartTV SDK for Mac OS X

Samsung SmartTV SDK consists of an application IDE (Integrated Development Environment), SmartTV Emulators to test developed applications, and the Apache web server to package and distribute the SDK.

The SmartTV IDE

From version 4.x, Samsung SmartTV's IDE was changed to a plug-in for the Eclipse IDE, instead of using its own edit tool. The IDE provides optimized project development and management tools, including a text editor for SmartTV applications.

The SmartTV Emulators

The SDK includes SmartTV Emulators for each platform version so that application developers can test their applications without having SmartTV sets.

SDK 4.5 includes a VirtualBox-based emulator that supports Samsung SmartTV 2013 models only. Use SDK 4.0's emulator for previous models.

Each emulator has a basic controller and a smart type virtual remote controller, console window interface, and the Web Inspector debugging tool. The console window allows monitoring execution information with preset JavaScript logs.

images

Figure 1-5. Structure of SmartTV Emulator Software

The Apache web server

The Apache web server is necessary to run the SDK and is provided during the SDK installation. Or you can use an already installed or different version and modify the SDK's web server directory option.

Samsung SmartTV's SDK Support

Samsung Electronics has provided the SDK since 2009 to support TV developers. See below for the SDK's version history.

images

Figure 1-6. Samsung SDK Version History

The SDK was upgraded to 4.x versions during 2013. The new version has the following major improvements.

  • WYSIWYG style code editor
  • Smart Interaction: new gestures for added movement senses
  • App Framework: 2013 app engine (HTML5 – Video/Audio, WebSocket, WebGL)
  • UniPlayer
  • SEF
  • Convergence Framework
  • OCI (Open Convergence Interface): MIDI support
  • AllShare
  • In-app ads
  • Flash 11.1
  • Smooth Streaming
  • Web Inspector
  • ATT (automated test tool): testing tool for event log/play
  • NaCI

Notably, the new version has a WYSIWYG editor to conveniently develop a UI component; new Smart Interaction gestures, including the Swipe gesture and the Thumbs-up gesture; reinforced convergence support through the Convergence Framework; and the Web Inspector debugger/ATT to support testing.

Google Native Client (NaCI)

The Google Native Client (NaCI) is an open-source project that allows native code to be executed safely in a web browser. This powerful feature lets developers write C/C++ applications that can run at near native speeds in a web application. More programming languages will be supported by NaCI in the future.

NaCI provides many benefits for application developers. Existing C/C++ applications can be migrated to the web much more easily by using NaCI. Additionally, performance is significantly increased as applications can run at speeds comparable to desktop applications. 2D/3D graphics, audio, and input events can all be supported without requiring additional plugins.

NaCI executables are built for a specific target architecture such as ARM or x86. To make NaCI technology more portable, Portable NaCI (PNaCI) was introduced. The PNaCI executable is designed to be hardware independent. At the moment, though, PNaCI applications cannot be run directly. They must be converted back to a NaCI executable. The current approach for platform independence is to distribute PNaCI executables that can be translated on the host machine into the appropriate NaCI format.

The Pepper Plug-in API (PPAPI) allows communication between NaCI apps and web applications. For example, NaCI applications can exchange data with the JavaScript code of a web application. Additionally, the NaCI application can use the Pepper interfaces to use browser resources.

The SmartTV and SDK support PNaCI applications. Developers can code and compile a PNaCI application in the SmartTV IDE. Additionally, they can run the application in the SmartTV Emulator. A SmartTV PNaCI application consists of several sets of files:

  • HTML, CSS, and JavaScript files: These files make the basic structure of any SmartTV application.
  • Native Client module: The compiled native executable. Multiple native executables can be included to support various hardware architectures.
  • NaCI manifest: Specifies which native executable should be used for a particular architecture.
  • SmartTV SDK configuration files: Specify the properties of the SmartTV application.

In the SmartTV SDK IDE, the developer can choose to create a stand-alone C/C++ PNaCI module, or to wrap it in a SmartTV web application. The IDE provides options to test the application in the Chrome browser or the SmartTV Emulator.

SDF

Introducing the SDF

The SDF is a website that provides everything necessary for Samsung SmartTV application development, from downloading the SDK to uploading finished applications. Let's briefly review its main menu.

images

Figure 1-7. The SDF's Main Menu

The SDF's Main Menu

  • News & Event: Announces new Samsung SmartTV SDK versions, site reorganization, and system maintenance schedules.
  • SDK: Provides SDK download page for developers. This page provides version history for the Samsung SmartTV SDK and release notes to summarize additional functions for each version.
  • Guide: This is the official API documentation. It has all application development references, with examples and tutorials for each function. The guide has a well-designed index and search functions for easy access to necessary information.
  • Forum: Separate forms for English, Korean, Chinese, and Russian languages are provided for Samsung SmartTV application developers to share their knowledge. Practical tips not available in the Guide are often discussed. Also Samsung's engineers are actively participating to promote the forum activities, and help developers in debugging and providing technical solutions.
  • Support: The Support page provides FAQ and Samsung SmartTV application policy, such as UI/UX and security guidelines.
  • My Work: Developers can register and distribute their own applications on the app store from this site. Samsung's application auditing process for quality assurance can be monitored here. Developers can also use this site to maintain and upgrade published applications.

Summary

Samsung Electronics has launched SmartTV products since 2010, and created an application hub that goes beyond a TV's traditional broadcast receiving function to create a new market for application contents. Developers are facing new business opportunities in the new content market growing with the SmartTV. Samsung Electronics is actively supporting the TV application development ecosystem with the Samsung SmartTV SDK. SmartTV is becoming the core of all smart devices, led by the revolutionizing Samsung SmartTV.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset