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.
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.
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.
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 has the following 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.
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 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.
For Windows
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.
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.
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 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.
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 Electronics has provided the SDK since 2009 to support TV developers. See below for the SDK's version history.
The SDK was upgraded to 4.x versions during 2013. The new version has the following major improvements.
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.
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:
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.
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.
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.