•
•
•
•
•
–
–
–
–
–
–
–
–
–
•
–
–
–
–
–
–
–
•
–
–
–
exeDSP Process
Kernel (Device driver)
DTV M/W
N.Navi
Maple Widget Engine
Widget List Management Widget Management
Rendering Core JavaScript
Window System Abstraction Layer Standard Utility Interface
JavaScript Extension (widget, filesystem …)
Widget Engine Process exeDSP Process
OpenSrc
XServer
Kernel (Device driver)
DTV M/W
N.Navi fork execve kill
Socket Connection (using thrift)
WebKit
Widget Engine Core
Webkit Interface Abstraction Layer
Cairo Surface
Widget Engine Server
Widget Engine Client
Widget Engine
Launcher
Widget List
Management
Widget Management
SEF Client
SEF EMP
JavaScript Extension
Plugins
•
–
–
•
–
–
Rendering Engine
JavaScript
Widget Management
Smart Hub Widget
Graphics
Maple Webkit
JavaScript SpiderMonkey SquirrelFish
Rendering Engine Maple Core Webkit Core
Graphics Shadow Gtk+/Cairo
•
•
•
•
–
•
–
•
–
•
•
•
•
•
•
•
•
WEB Device API
SEF (Service
Extension Framework)
Device API
AudioControl DisplayControl AVPlay TV Information
TV Channel TV Window Network ImageView
CustomDevice Gamepad HealthcareDevice Microphone
Printer Recognition Camera
•
–
–
–
•
–
–
•
–
–
•
–
–
•
–
–
•
–
–
•
–
•
–
–
–
•
–
•
–
•
–
–
•
–
•
–
•
–
<!DOCTYPE html>
<head>
<title>Text</title>
</head>
<body>
<object id="networkPlugin" border="0"
classid="clsid:SAMSUNG-INFOLINK-
NETWORK"></object>
App Text
</body>
</html>
Execute("InitPlayer", URL);
Execute("SetDisplayArea", x, y, width, height);
Execute("SetInitialBufferSize" 400*1024); // 400KB
Execute("StartPlayback");
case $.sfKey.PLAY:
playerPlugin.Execute("StartPlayback");
break;
case $.sfKey.STOP:
playerPlugin.Execute("Stop");
•
•
•
•
•
•
•
•
•
•
•
–
–
–
•
•
•
•
–
–
–
–
•
–
–
–
–
•
•
•
•
•
•
mobileApp [Client] tvApp [Server]
POST /connect
add device 200 OK
POST /queue [DATA]
recv msg
handle msg
prepare response
GET /queue/device/$DeviceId
408 Timeout
GET /queue/device/$DeviceId
200 OK [DATA]
connect
longpolling
send
receive
disconnect POST /disconnect
200 OK
200 OK
•
•
•
•
•
•
•
•
Header Description Required
SLDeviceID This header contains the DeviceID used to identify the client device and the corresponding TV application.
YES (for ALL requests except Get Application Info request)
Content-type This header refers to the content type of the request. The value for this header can be either JSON or XML.
YES (for POST requests only)
ProductID This header is only required for Device Connect requests. The value MUST begin with "SMART" and be exactly 8 characters long. Example: SMARTTVI,SMARTDev
YES (for Connect requests only)
VendorID This header is only required for Device Connect requests. The value must be exactly 8 characters long.
YES (for Connect requests only)
DeviceName This header is only required for Device Connect requests. This header contains the name of the client device. The value MUST be less than 64 characters long.
YES (for Connect requests only)
User-Agent This header is used by the TV to identify the type of the client device and its capabilities.
YES (for ALL requests)
Custom (User-Defined) The developer can add any other headers needed for proper performance of their application. Any custom headers added to a request are included as the second parameter in the message context (JSON object)
NO
•
•
–
–
•
–
–
–
•
•
•
•
•
•
•
•
Basic
•Every Smart TV application can be controled using Smart Remote App in Remote Control mode
Medium
• Smart TV application is able to use Tigger to generate custom UI in Smart Remote App
High
• Smart TV is able to be controled using Tigger by Smart Remote App
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
–
–
–
–
•
–
–
–
–
–
–
Recommended