SlideShare a Scribd company logo
Samsung Electronics Co., Ltd.1
Essentials of Developing
Tizen Web Application
for Tizen-based Samsung TV
Version 1.0
2015-05-19
Samsung Electronics Co., Ltd.2
Table of Contents
1. Document History.................................................................................. 3
2. About this document.............................................................................. 4
3. Getting Started ..................................................................................... 5
3.1. Installing Tizen-based Samsung TV SDK .................................................... 5
3.2. Generating Author Certificate ................................................................. 6
3.3. Creating New Project ........................................................................... 6
3.4. Using Emulator ................................................................................... 7
3.5. Differences between Emulator and Simulator for Usage................................. 8
3.6. Using Tizen-based Samsung TV .............................................................. 8
3.7. Structure of Tizen Web App ................................................................... 9
3.8. Features of Tizen-based Samsung TV Web App........................................ 10
4. Developing an App ............................................................................. 11
4.1. Registering Remote Controller Key........................................................ 11
4.2. Set [config.xml] for App with Various Functions........................................ 12
4.3. APIs for VOD Service App................................................................... 15
4.4. APIs for TV Service App ..................................................................... 16
4.5. Other Instructions & Functions ............................................................ 16
4.6. How to Improve App Performance........................................................ 18
5. Releasing Your App............................................................................. 21
5.1. Procedure of App Release .................................................................. 21
5.2. Materials for Register your App............................................................ 21
5.3. App Pre-Test ................................................................................... 22
5.4. Complete ....................................................................................... 22
Samsung Electronics Co., Ltd.3
1. Document History
Version Date Contents Author
0.1 2015. 03. 05 Initial version of document. Sukyung Lee
0.2 2015. 03. 31 Add contents Sukyung Lee
0.3 2015. 04. 02 Add contents Sukyung Lee
0.4 2015. 04. 13 Modify contents Sukyung Lee
0.5 2015. 04. 14 Modify contents Sukyung Lee
0.6 2015. 04. 17 Modify and English composition
Sukyung Lee
Hyojin Kim
0.7 2015. 04. 20 Modify spelling Sukyung Lee
0.8 2015. 05. 04 Modify contents
Sukyung Lee
Michal Piotrkowski
0.9 2015. 05. 13 Modify contents
Sukyung Lee
Maria Gorska
1.0 2015. 05. 19 Check whole document
Sukyung Lee
Hyojin Kim
Samsung Electronics Co., Ltd.4
2. About this document
1. This document is for SW developers who have plans to develop web apps for Tizen-
based Samsung TV.
2. This document is clearly dedicated for people with experiences in developing web apps.
To understand Tizen platform and develop web apps, you need to learn the following
sites first.
Tizen Guide
www.tizen.org
www.samsungdforum.com/TizenGuide/?FolderName=tizen2901&FileName=index.html
3. And furthermore, this document builds on VOCs of whole development cycle and
contains things which you can miss from enumerative information.
4. This document covers installing Tizen-based Samsung TV SDK, the structure of an app,
features of a TV, helpful functions and useful APIs. In addition, it helps improving app
performance and releasing on Samsung Apps. Therefore, you can nicely develop Tizen
TV web apps and easily release them.
5. Please note that some contents of this document may not be latest. We strongly
recommend checking the reference URLs provided in each chapter for the most actual
information.
Samsung Electronics Co., Ltd.5
3. Getting Started
3.1. Installing Tizen-based Samsung TV SDK
1. To develop Tizen TV web apps, you need to install a SDK. You can download a SDK
from Samsung Developer Forum site.
SDK Download
www.samsungdforum.com/TizenDevtools/SdkDownload
2. Installing and using a SDK require some conditions.
A. A SDK IDE requires Java Runtime Environment or Java Development Kit in version
8 or higher. From the following site, you can download it.
JDK, JRE Download
www.oracle.com/technetwork/java/javase/downloads/index.html
B. To use a GPU accelerator you should install Intel HAXM(Hardware Accelerated
Execution), otherwise an emulator will not work properly. During installing a SDK,
Intel HAXM should be installed automatically. In case of any errors you can install
manually the following file.
IntelHaxmTizen
For windows 7 (32bit or 64bit)
IntelHaxmTizen.exe
For Mac
IntelHaxmTizen.dmg
C. Because an emulator runs on a virtual machine, you can’t use it in the following
condition. (It is OK to use bootcamp.)
Not Supported Virtualization Programs
Remote Desktop
Virtual Box
VMWare
Parallels(Mac PC)
3. If something is wrong and you can’t use your SDK, please post your questions on SDF
community board.
SDF COMMUNITY
www.samsungdforum.com/SamsungDForum/ForumDashBoard/cd10341507013d28
Samsung Electronics Co., Ltd.6
3.2. Generating Author Certificate
1. All apps must be signed with an author certificate. It is used to identify an app
developer and protect apps from mixing and misusing. It is registered by a SDK
installed on each PC. The following is the guide of registering.
2. On an IDE, click ‘Windows’ and then click ‘Preferences’.
3. Expand ‘Samsung TV SDK’ and then click ‘Security Profiles’.
4. After clicking ‘Add’, input your profile name. And then after clicking ‘Generate’, fill in
data for the author certificate.
5. Click ‘OK’ to complete.
6. After creating the author certificate, please be careful not to lose it. This is the unique
proof for certifying app developer. For this reason, if you lose it, you can’t pass the
process of chapter 5.3 item 4. Ultimately you can’t version up your app.
3.3. Creating New Project
1. If the SDK is installed successfully, you need creating a new project. There are 5 ways to
create a new project.
A. Basic: It is the type of a sample app. So you can figure out the structure of a web
app, key interaction, etc. We recommend checking and analyzing this app before
you start developing your own one.
B. Caph: It is a project based on Caph which is Web UI Framework offered from
Tizen-based Samsung TV. On the following site, you can learn about using Caph.
Caph Guide
Samsung Electronics Co., Ltd.7
www.samsungdforum.com/tizenguide/?Foldername=tizen341&Filename=index.html
C. Empty: It is an empty project.
D. Tizen Web UI Framework: It is a project based on Tizen Web UI Framework. It is
offered from Tizen. On the following site, you can learn about using it.
Tizen Web UI Framework Guide
developer.tizen.org/dev-guide/2.2.1/org.tizen.web.uiwidget.apireference/html/web_ui_framework.htm
E. jQuery Mobile: It is a project based on jQuery Mobile. On the following site, you
can learn about using it.
jQuery Mobile Guide
api.jquerymobile.com/
3.4. Using Emulator
1. Even if you have no Tizen-based Samsung TV, you can run an app by using an
emulator. Please note that an emulator should runs first before running an app. It is
different from other platforms (e.g. Android). The following is way to use an emulator.
2. Run ‘Emulator Manager’ on the bottom left side of an IDE.
3. After clicking ‘Create New’, check the values of CPU VT and GPU fields on the right. If
these values are ‘OFF’ or ‘Disable’, you can’t use an emulator. If it is ‘Disable’, install
Intel HAXM as metioned in chapter 3.1 item 2. If it is ‘OFF’, turn on with clicking the
button.
4. After clicking ‘Confirm’, click ‘▶’ for running an emulator.
5. On ‘Project Explorer’ of an IDE, right-click on the project to open ‘Context Menu’.
6. On ‘Run As’, click ‘1 TV Web Application (Emulator/Device)’ to run the app.
7. As item 6, if you click ‘Debug As’, you can use an emulator with a web inspector.
Samsung Electronics Co., Ltd.8
3.5. Differences between Emulator and Simulator for Usage
1. For usage, if you select an emulator or a simulator, it will help you develop efficiently.
The followings are differences between an emualtor and a simulator.
Emulator Simulator
Describe UI O O (Faster)
Support APIs O △ (Return value is dummy)
2. In case of developing UI, you can use a simulator. After modifying HTML, CSS and etc
files, you can check the UI of an app lightly and quickly with clicking ‘Reload’. Please
refer to the following site.
Tizen TV Web Simulator
www.samsungdforum.com/TizenGuide/?Foldername=tizen2951&Filename=index.html
3. In case of developing functions(APIs), you can use an emulator. An emulator supports
most of APIs and a simulator doesn’t guarantee the result of APIs.
3.6. Using Tizen-based Samsung TV
1. If you have a Tizen-based Samsung TV, you can install an app and run on a TV after a
SDK and TV are remotely connected. The following is way to run an app on a TV.
2. After entering ‘Apps’ on a TV, input combination ‘12345’ by using your remote
controller. And then, you can see the following screen.
3. Set ‘Developer mode’ to ‘On’, input the IP address of your PC and click ‘Confirm’. And
then reboot the TV.
4. Run ‘Remote Device Manager’ next to ‘Emulator Manager’.
Samsung Electronics Co., Ltd.9
5. Click ‘New’, input the name and IP address of the TV and then click ‘Add’.
6. Select the TV which is just created and click ‘Connect’.
7. If you run as metioned in chapter 3.4 item 6, you can check your app on the TV.
3.7. Structure of Tizen Web App
1. Tizen Web App consists of HTML, CSS, JS and [config.xml]. (Please check a basic type
project.)
2. [config.xml] has following items. (Please open [config.xml] and check ‘Source’ Tab.)
A. App ID/Package: It is the unique ID and Package of an app. A package type is
{Random 10 Characters} and an ID type is {Package}.{Project Name}. It is
automatically created when a project is created.
App Id
<tizen:application id=’{Package}.{Project Name}’ … />
Package = {Random 10 Characters}
B. App Version: It is version information of an app. A version type is {0-255}.{0-
255}.{0-65535}.
App Version
<widget … version=’{0-255}.{0-255}.{0-65535}’ … />
C. App Icon: It is the icon of an app which displays on Apps. It consists of the path of
icon image.
App Icon
<icon src=’Icon Path’ />
D. HTML Starting Point: It consists of the path of HTML File to load first when
running an app. By default, it is the path of [index.html] file located in the root
directory, but you can change it to any HTML file within an app.
HTML Starting Point
<content src=’HTML Path’ />
E. Privilege: Because of Tizen Privilege policy, some APIs of Tizen need a privilege
declaration. Also, some APIs of Tizen-based Samsung TV need it.
Samsung Electronics Co., Ltd.10
Privilege
<tizen privilege name=’http://tizen.org/privilege/Privilege Name’ />
<tizen privilege name=’http://developer.samsung.com/privilege/Privilege Name’ />
3.8. Features of Tizen-based Samsung TV Web App
1. Using Remote Controller
Because distance between users and a TV is farther than a mobile, apps should interact
with users having a remote controller. (Of course, apps support a mouse type by a
Smart Controller).
2. UI/UX Requirements
The pose of using a TV is freer than a mobile and a TV input something by a remote
controller. For the reason, an input process should be minimized and you should
consider a UI and UX. You can learn about a UX on the following site.
UX Guide
www.samsungdforum.com/TizenUxGuide/
3. App Resolution
No matter what resolution of Tizen-based Samsung TV, the standard of app resolution
is 1920*1080px and the ratio of that is 16:9. Even if resolution is different from the
standard, the ratio should be kept. Only if you keep the ratio, whitespace and scrollbars
will not appear on a screen when the app is scaled up or down.
4. Tizen TV web app has most of them which general web apps have. You can use web
standard functions: mouse, video tag, animation, VisibilityChange event etc. In addition,
you can use Tizen Web Device APIs and Product APIs supported by Tizen-based
Samsung TV. You can learn about APIs on the following site.
APIs Guide
www.samsungdforum.com/TizenApiGuide/
5. Supported TLS/SSL Version
Between web browsers and web servers, to transmit and receive encrypted information,
Tizen-based Samsung TV supports TLS(Transport Layer Security). The version of TLS
supported is 1.0/1.1/1.2. (SSL(Secure Sockets Layer) is not supported.)
Samsung Electronics Co., Ltd.11
4. Developing an App
4.1. Registering Remote Controller Key
1. As mentioned in chapter 3.8 item 1, an app should be controlled by the KeyCode of a
remote controller. Only if you register the key to use, an app can receive the KeyCode.
2. tizen.tvinputdevice.registerKey
By using the KeyName and the Tizen API, you can register the key. You can get more
information on the following site.
Key Register
tizen.tvinputdevice.registerKey(KeyName);
www.samsungdforum.com/tizenapiguide/?Foldername=tizen3331&Filename=index.html
3. For example, by registering the Play/Pause Key of a remote controller, you can get the
KeyCode(10252) through the KeyDown event handler of body tag. And then, you can
present the user interaction. The following is the guide of developing.
Key Register
var KEY_PLAYPAUSE = 10252;
tizen.tvinputdevice.registerKey(‘MediaPlayPause’);
…
function handleKeydown (e) {
switch (e.keyCode) {
case window.KEY_PLAYPAUSE:
…
break;
…
document.body.addEventListener(‘keydown’, handleKeyDown);
4. tizen.tvinputdevice.getSupportedKeys
By using the getSupportedKeys of Tizen API, you can get all keys supported by the
platform.
Supported Keys
value = tizen.tvinputdevice.getSupportedKeys();
console.log(value);
5. The following is the KeyName and KeyCode supported by Tizen-based Samsung TV.
KeyName KeyCode KeyName KeyCode KeyName KeyCode
ArrowLeft 37 MediaPlayPause 10252 Menu 457
ArrowUp 38 MediaRewind 412 Tools 10135
Samsung Electronics Co., Ltd.12
ArrowRight 39 MediaFastForward 417 Info 457
ArrowDown 40 MediaPlay 415 Exit 10182
Enter 13 MediaPause 19
Back 10009 MediaStop 413 Caption 10221
MediaRecord 416 ChannelList 10073
VolumeUp 447 MediaTrackPrevious 10232 E-Manual 10146
VolumeDown 448 MediaTrackNext 10233 3D 10199
VolumeMute 449
ChannelUp 427 0 48 PictureSize 10140
ChannelDown 428 1 49 Soccer 10228
2 50 Teletext 10200
ColorF0Red 403 3 51
ColorF1Green 404 4 52 Search 10225
ColorF2Yellow 405 5 53 Guide 458
ColorF3Blue 406 6 54 Source 10072
7 55 Extra 10253
8 56 MTS 10195
9 57
Minus 189
PreviousChannel 10190
6. Because you can basically receive KeyCodes of a Left, Up, Right, Down, Enter and
Back(Return) key regardless of no registering, please do not register these keys as item
2.
7. To use registerKey method contained tizen.tvinputdevice, please note that you should
declare privilege in [config.xml] as follows.
Privilege
<tizen:privilege name=‘http://tizen.org/privilege/tv.inputdevice’/>
4.2. Set [config.xml] for App with Various Functions
1. Using Network
Without setting CSP/WARP, Tizen web app cannot use network because of protecting
app contents. To use network, you need to set Security Policy. You can set the URL
accessed by the app in ‘Policy’ Tab of [config.xml].
2. Obtaining Privilege
As mentioned in chapter 3.7 item 2.E, to use specific APIs, you need declare privileges
and obtain privilege levels. To declare privilege, you can click ‘Add’ in ‘Privileges’ Tab.
Samsung Electronics Co., Ltd.13
The following is the list of Privilege for each API which is supported by Tizen-based
Samsung TV and the site you can refer to. (Privilege Level is in chapter 4.5 item 2.)
Tizen API Privilege
Alarm http://tizen.org/privilege/alarm
Application
http://tizen.org/privilege/appmanager.kill
http://tizen.org/privilege/application.launch
http://tizen.org/privilege/appmanager.certificate
http://tizen.org/privilege/application.info
Package
http://tizen.org/privilege/packagemanager.install
http://tizen.org/privilege/package.info
Content
http://tizen.org/privilege/content.read
http://tizen.org/privilege/content.write
Download http://tizen.org/privilege/download
Archive
http://tizen.org/privilege/filesystem.read
http://tizen.org/privilege/filesystem.write
File System
http://tizen.org/privilege/filesystem.read
http://tizen.org/privilege/filesystem.write
System Information
http://tizen.org/privilege/system
http://tizen.org/privilege/systemmanager
Web Setting http://tizen.org/privilege/websetting
TV Audio Control http://tizen.org/privilege/tv.audio
TV Channel http://tizen.org/privilege/tv.channel
TV Display Control http://tizen.org/privilege/tv.display
TV Input Device http://tizen.org/privilege/tv.inputdevice
TV Window http://tizen.org/privilege/tv.window
WebApis API Privilege
DRMInfo http://developer.samsung.com/privilege/drminfo
Electronic Program Guide http://developer.samsung.com/privilege/epg
Logging http://developer.samsung.com/privilege/logging
Network
http://developer.samsung.com/privilege/network.partner
http://developer.samsung.com/privilege/network.public
Product Info http://developer.samsung.com/privilege/productinfo
SSO
http://developer.samsung.com/privilege/sso.partner
http://developer.samsung.com/privilege/sso.public
Widget Data http://developer.samsung.com/privilege/widgetdata
www.samsungdforum.com/tizenguide/?Foldername=tizen3411&Filename=index.html
3. Prelaunch Function
Samsung Electronics Co., Ltd.14
By making that platform previously loads an app in the background before running the
app, you can improve initial app performance. But, it doesn’t mean that all apps like
that are always prelaunched. Only several recently used apps are prelaunched. Default
value is ‘false’.
Prelaunch
<tizen:metadata key=‘http://samsung.com/tv/metadata/prelaunch.support’ value=‘true’ />
4. Multitasking Function
During running an app, users can switch to another app or TV channel. When it does,
you should decide to fully close or just hide your app. If you set ‘true’ as follows, the
app will be hidden. And then multitasking can be supported. (But it requires some
source code. Please refer to it in chapter 4.5 item 4.) Default value is ‘true’.
Multitasking
<tizen:metadata key=‘http://samsung.com/tv/metadata/multitasking.support’ value=‘true’ />
5. MLS(Multi Link Screen) Function
With dividing screen by 2 or 4, you can run multiple apps. The following picture is the
example of MLS function. The left side is a TV channel screen and the right side is an
app.
If you don’t want to support, you can declare as follows. Default value is ‘true’.
MLS
<tizen:metadata key=’http://samsung.com/tv/metadata/multiscreen.support’ value=’false’ />
6. Pointing Device Function (Mouse Function)
In principle, Tizen web apps support interaction by pointing devices. However, if you
don’t want to support them, you can declare as follows. Default value is ‘enable’.
Pointing Device
<tizen:setting pointing-device-support=‘disable’ />
Samsung Electronics Co., Ltd.15
4.3. APIs for VOD Service App
1. There are two ways to play VODs on an app. One way is using video tag which is a
HTML5 standard element. And another way is using webapis.avplay which is product
APIs supported by Tizen-based Samsung TV. The followings are explanations about two
ways and other functions to helpfully use in VODs service apps.
2. Video Tag
Video tag makes VODs playing easy by a HTML5 standard element. If you can enough
develop by using only it, we recommend using it rather than webapis.avplay.
3. webapis.avplay
The following is the list to be difficult or not supported by video tag. When you use
these technologies, you can use webapi.avplay. You can learn to use webapis.avplay on
the following site.
Supported by webapis.avplay
DRM(Digital Rights Management)
HLS(HTTP Live Streaming)
DASH(Dynamic Adaptive Streaming over HTTP)
Smooth Streaming
Adaptive Streaming
3D Contents, Closed Caption etc…
www.samsungdforum.com/tizenapiguide/?FolderName=tizen3001&FileName=index.html
4. webapis.appcommon.setScreenSaver
When there is no user interaction during the long period of time by watching VODs in
an app, a screen saver runs. If you use the setScreenSaver of webapis.appcommon, you
can protect this case. If you set setScreenSaver to ‘0’ shortly before playing VODs, a
screen saver will not run although there is no user interaction. Default value is ‘1’. The
following is way to use.
setScreenSaver
webapis.appcommon.setScreenSaver(0, function(){});
5. Control Volume
To control volume on playing VODs, if you use the volume key of a remote controller,
you can just use it without registering key. In this case, because platform handles the
key, you can use it as the original role of the key. If you want to use Tizen API, please
refer to it in chapter 4.4 item 3.
6. Play/Pause Key
There is a Play/Pause key in Samsung Smart Controller. This key is combined a play key
with a pause key. Its KeyName is MediaPlayPause and KeyCode is 10252. VOD service
apps must handle this key to toggle between play and pause mode.
Samsung Electronics Co., Ltd.16
4.4. APIs for TV Service App
1. tizen.tvwindow
By using Tizen APIs, you can develop PIG(Picture in Graphic). A TV channel screen or
external inputs can be shown on an app by setting source. (Unfortunately, an
HTMLElement cannot appear on a PIG.) As follows, you can use the show API of
tvwindow. Please refer to the following site for more information.
tizen.tvwindow
tizen.tvwindow.show(function(){}, null, [‘0’, ’0’, ‘50%’, ‘50%’], ‘MAIN’);
www.samsungdforum.com/TizenApiGuide/?Foldername=tizen921&Filename=index.html
2. tizen.tvchannel
When a channel screen is shown, you can just use the channel key of a remote
controller without registering key as metioned in chapter 4.3 item 5. If you want to use
Tizen API, you can control a channel which is from the getChannelList API of tvchannel.
The following is the guide of this.
tizen.tvchannel
tizen.tvchannel.getChannelList(function(channels){}, null, ‘ALL’, 0, 10);
tizen.tvchannel.tune({major:channelList[0].major},function(){});
www.samsungdforum.com/TizenApiGuide/?FolderName=tizen881&FileName=index.html
3. tizen.tvaudiocontrol
In case of volume, you use it as mentioned in chapter 4.3 item 5 or tvaudiocontrol API.
And then you can control volume or mute status. The following is the guide of this.
tizen.audiocontrol
tizen.tvaudiocontrol.setMute(true);
tizen.tvaudiocontrol.setVolume(10);
www.samsungdforum.com/TizenApiGuide/?FolderName=tizen841&FileName=index.html
4.5. Other Instructions & Functions
1. WebApis
WebApis, the product API of Tizen-based Samsung TV is used to get the information of
platform, set subtitle and play VODs, etc. It can offer firmware version, DUID,
ModelCode, CaptionChange and some APIs of webapis.avplay as mentioned above. You
can refer to information from the following sites.
WebApis
www.samsungdforum.com/tizenapiguide/?FolderName=tizen1761&FileName=index.html
2. Privilege Level
Samsung Electronics Co., Ltd.17
As mentioned in chapter 4.2 item 2, some APIs need to declare privileges and to
acquire privilege levels. However most of Privilege Levels are ‘Public’ which means they
can be used by everyone without acquiring. Because the following privileges are
‘Partner’ or ‘Platform’ level, you need to acquire privilege levels to use. You can contact
your content manager in Samsung HQ to use these privileges.
Privilege Privilege Level
http://tizen.org/privilege/appmanager.kill Partner
http://tizen.org/privilege/appmanager.certificate Partner
http://tizen.org/privilege/packagemanager.install Platform
http://developer.samsung.com/privilege/drminfo Partner
http://developer.samsung.com/privilege/network.partner Partner
3. IME(Input Method Editor)
A. If you insert only input or textarea tag in HTML, an IME appears when a focus is
given to these tags. (However, if you connect to an actual keyboard and input any
key, the IME will disappear.) Contents enterd on an IME becomes automatically the
value of tag.
B. You can get the KeyCode by using the KeyDown event handler of input or textarea
tag. Registering keys is not needed. The following is how it is implemented.
Key
var KEY_DONE = 65376; var KEY_CANCEL = 65385;
var KEY_ENTER = 13; var KEY_ESC = 10009;
…
function handleKeydown (e) {
switch (e.keyCode) {
case window.KEY_DONE:
…
break;
…
document.getElementById(‘Tag ID’).addEventListener(‘keydown’, handleKeyDown);
C. The following table is the KeyCode of a Done key and a Cancel key which is
included in an IME. Please note that the Done and Cancel key of an IME are
different from the Enter and ESC key of a keyboard.
Key KeyCode
Done of IME 65376
Cancel of IME 65385
Enter of Keyboard 13 (Same as Enter of remote controller)
ESC of Keyboard 10009 (Same as Return of remote controller)
4. VisibilityChange Event
Samsung Electronics Co., Ltd.18
A. As mentioned in chapter 4.2 item 4, if you set multitasking to ‘true’, the app will
be shown or hidden by platform.
B. VisibilityChange event is fired when an app is shown or hidden. You can handle
each operation by registering this event in an app. In this event callback, you can
check whether an app is shown or hidden. The following is how it is implemented.
VisibilityChange Event
document.addEventListener('visibilitychange', function () {
if (document.hidden) {…}
else {…}
});
5. Viewport
A. As mentioned in chapter 3.8 item 3, the standard resolution of an app is
1920*1080px. If you create a smaller or bigger app than the standard, you can
scale up and down size of the app by using viewport meta tag.
B. For example, when the resolution of an app is 1280*720px, if you set the app as
follows, it will exactly fit on a screen without a margin or a scroll. Because screen
size is recognized as the value of viewport width.
Viewport
<meta name=‘viewport’ content=‘width=1280, user-scalable=no’>
C. If resolution and ratio are different from the standard without using viewport, a
margin will occur at right or bottom side. The following table is a explanation for
app appearance depending on resolution.
App Resolution(px) Right Side Bottom Side
1920↓ * 1080↓ White Space White Space
1920↑ * 1080
No Scroll
(Shrink to fit perfectly)
White Space
1920 * 1080↑ No White Space Scroll
4.6. How to Improve App Performance
1. This chapter contains how to start an app quickly, optimize JS and improve
performance while an app runs. You can expect a excellent performance app, if you
follow this.
2. JS Basic tips
A. We recommend using local variables instead of global variables. If you store the
value of global variables in local variables, you can improve processing
performance.
Define local variables
Samsung Electronics Co., Ltd.19
var doc = document;
var a = doc.getElementById(‘aaa’);
var b = doc.getElementById(‘bbb’);
B. If frequently used HTML elements should be assigned to variables, you can
improve processing performance.
Define local variables
var trash = document.getElementById(‘trash’);
var forms = document.getElementsByTagName(‘form’);
C. For-in loops and with() statements are not recommended.
D. Closure is very useful, but it is one of causes for reducing performance. We
recommend using it only where necessary.
3. Improving app launch speed
A. To reduce a initial start time, it is important to minimize the number of JS files
loaded in HTML on an app launch. If you don’t load files which are unnecessary for
a first screen, you can reduce time for showing first screen.
B. While communicating with servers or loading JS files, please display the
background of a first screen and then fill all contents brick by brick. If so, users can
feel less stuffy. If you make the speed of loading images fast, the speed of a
loading app looks quick.
C. Minifying JS files can make to reduce a loading time.
D. If using Image Lazy Loading, you can avoid loading images which will not be
shown on a screen. If so, you can reduce a loading time. You can easily develop by
using jQuery as follows. You can refer to information from the following sites.
Image Lazy Loading
<script type=‘text/JavaScript’ src=‘jquery.js’></script>
<script type=‘text/JavaScript’ src=‘jquery.lazyload.js’></script>
<script>
function onLoad() {
$(‘img.lazy’).lazyload();
}
</script>
<body>
<img class=‘lazy’ data-original=‘img/example.jpg’ width=‘765’ height=‘574’>
www.appelsiini.net/projects/lazyload
E. You need to reduce a total time spent on communication with server as much as
possible. To achieve this, it is important to start sending requests as soon as
possible and process independent data in parallel communications.
4. Improving performance during running an app
Samsung Electronics Co., Ltd.20
A. You can improve performance as changing CSS classes instead of the changing
style of an HTMLElement.
Change Class
.elm { background-color: #fff; padding-left: 0px; }
...
<div class=‘elm’>...</div>
B. You can improve rendering performance by using a GPU accelerator. Simply
changing a top and left value will be occurred reflow. If you use -webkit-transform,
it will be renderd by a GPU accelerator.
Use GPU Accelerator
@-webkit-keyframes ‘move’ {
from { -webkit-transform:translateX(0px);}
to { -webkit-transform:translateX(200px);}
}
Samsung Electronics Co., Ltd.21
5. Releasing Your App
5.1. Procedure of App Release
1. After completing your app development, you can publish your app on Samsung Apps.
To publish it, the following procedure is required.
2. Visit Seller Office site and sign up.
Seller Office is a system on which you can accomplish a whole process for releasing
app.
Seller Office
seller.samsungapps.com/tv/portal/main
3. Select sequentially ‘App Registration’ and ‘Tizen-based Samsung TV SDK’.
4. Fill in an app name and check availability.
5. Fill in Basic Information: developer information, app information, country for release and
etc.
6. Fill in Test Information: TV model for release, app document and etc.
7. Progress Pre-Test: Refer to it in chapter 5.3.
8. Complete to register the app.
9. After checking whether your app is proper, you can confirm your app on a TV.
5.2. Materials for Register your App
1. As preparing the below things, you can easily progress registering your app.
App Code App Icon App Picture
Count 1 1 4
Size - 512*423px
960*540px
1280*720px
1920*1080px
Format WGT JPG, PNG JPG
Max Volume - 300 KB 500 KB
2. Also, you need to prepare a app name and description in the language of each country
for releasing.
Samsung Electronics Co., Ltd.22
5.3. App Pre-Test
1. After registering your app information and app code, system progresses Pre-Test. It
essentially checks whether required information are missed and it has security issues
and common defects. The following things are the list of checking during Pre-Test. If
you don’t keep the rules, Pre-Test will be failed. In such case, you should review and fix
problems and resubmit your app code.
2. Check the submitted file
File Check
Format WGT
Name
No special characters except for underscore.( _ )
Below 100 Bytes
Compression ZIP(Able to decompress)
3. Check the [config.xml]
[config.xml] Check
Mandatory items
[config.xml] File
App ID
App Version
Feature
App ID
For a new app, check if your app ID is not used by other apps.
For version up, check if the app ID is same as previous one.
App Version
Check if format is {0-255}.{0-255}.{0-65535}
For version up, check if the version is higher than previous one.
Required_version Check if format is {number}.{number}
Privilege Check if you have the privilege for ‘Partner’ or ‘Platform’ levels
4. Check the [author-signature.xml]
[author-signature.xml] Check
Mandatory items [author-signature.xml] File
Author Certificate
For a new app, check if the certificate is a proper format
For version up, check if the author is same as previous one.
5.4. Complete
1. After passing Pre-Test and completing your app register, our system starts real an app
test. If there are no defects, your app is released on Samsung Apps. Then you can
check your app on TVs.
Samsung Electronics Co., Ltd.23
2. If your app has defects, you should review and fix it. Then you should resubmit a new
version app. Otherwise the app will not be published. The detailed defect list can be
found on Seller Office. On ‘Applications’ menu, click ‘Defect Resolution’.
3. For version up, you can similarly process with registering an app. On ‘Applications’
menu, click ‘Management’ and then click the app. you can process to upgrade your app
by clicking ‘Version Up’ on ‘App Information’.
4. In case of any questions about a release process, defects or system features, you can
contect managers on Seller Office. On ‘Support’ menu, click ‘1:1 Q&A’.

More Related Content

What's hot

Materi photoshop-1
Materi photoshop-1Materi photoshop-1
Materi photoshop-1Edith Tama
 
Music Video Analysis
Music Video AnalysisMusic Video Analysis
Music Video Analysis
Steph2000
 
Instalasi linux debian
Instalasi linux debianInstalasi linux debian
Instalasi linux debian
Fatimah Syarifuddin
 
History of games
History of gamesHistory of games
Ppt editing video
Ppt editing videoPpt editing video
Ppt editing video
universitas negeri makassar
 
Analysis of Scott Pilgrim vs the World
Analysis of Scott Pilgrim vs the WorldAnalysis of Scott Pilgrim vs the World
Analysis of Scott Pilgrim vs the Worldhaverstockmedia
 
Film poster terminology and features
Film poster terminology and featuresFilm poster terminology and features
Film poster terminology and features
Adyn97
 
Scream (1996) analysis
Scream (1996) analysisScream (1996) analysis
Scream (1996) analysis
Damita D
 
GCSE Film Studies: Evaluation examples
GCSE Film Studies: Evaluation examplesGCSE Film Studies: Evaluation examples
GCSE Film Studies: Evaluation examplesBelinda Raji
 
Film Poster Analysis
Film Poster AnalysisFilm Poster Analysis
Film Poster AnalysisHarriet Hearn
 
Cara menginstalasi windows 7,8.1 dan 10 dengan flashdisk
Cara menginstalasi windows 7,8.1 dan 10 dengan flashdiskCara menginstalasi windows 7,8.1 dan 10 dengan flashdisk
Cara menginstalasi windows 7,8.1 dan 10 dengan flashdisk
Lisa Ariyanti
 
Presentasi 1 kelas 3 power point
Presentasi 1 kelas 3 power pointPresentasi 1 kelas 3 power point
Presentasi 1 kelas 3 power pointAndreas Suprapto
 
Unit 1 Presentation PlayStation 4
Unit 1 Presentation PlayStation 4Unit 1 Presentation PlayStation 4
Unit 1 Presentation PlayStation 4Taylor Leszczynski
 
Horror film poster analysis.
Horror film poster analysis.Horror film poster analysis.
Horror film poster analysis.lukey_wilkes
 
Detailed music video analysis - The 1975 // Girls
Detailed music video analysis - The 1975 // GirlsDetailed music video analysis - The 1975 // Girls
Detailed music video analysis - The 1975 // Girlssianolivia
 
Memberi garis arsir di autocad 2007
Memberi garis arsir di autocad 2007Memberi garis arsir di autocad 2007
Memberi garis arsir di autocad 2007Jhoni Lesmana
 
Generic conventions of film posters
Generic conventions of film postersGeneric conventions of film posters
Generic conventions of film posters
mediaboy96
 
Taylor swift – Bad Blood music video analysis
Taylor swift – Bad Blood music video analysisTaylor swift – Bad Blood music video analysis
Taylor swift – Bad Blood music video analysis
L C
 
Pembahasan Soal Modul A: Linux Island - LKS SMK Provinsi NTB 2017
Pembahasan Soal Modul A: Linux Island - LKS SMK Provinsi NTB 2017Pembahasan Soal Modul A: Linux Island - LKS SMK Provinsi NTB 2017
Pembahasan Soal Modul A: Linux Island - LKS SMK Provinsi NTB 2017
I Putu Hariyadi
 

What's hot (20)

Materi photoshop-1
Materi photoshop-1Materi photoshop-1
Materi photoshop-1
 
Music Video Analysis
Music Video AnalysisMusic Video Analysis
Music Video Analysis
 
Instalasi linux debian
Instalasi linux debianInstalasi linux debian
Instalasi linux debian
 
History of games
History of gamesHistory of games
History of games
 
Ppt editing video
Ppt editing videoPpt editing video
Ppt editing video
 
Analysis of Scott Pilgrim vs the World
Analysis of Scott Pilgrim vs the WorldAnalysis of Scott Pilgrim vs the World
Analysis of Scott Pilgrim vs the World
 
Film poster terminology and features
Film poster terminology and featuresFilm poster terminology and features
Film poster terminology and features
 
Scream (1996) analysis
Scream (1996) analysisScream (1996) analysis
Scream (1996) analysis
 
GCSE Film Studies: Evaluation examples
GCSE Film Studies: Evaluation examplesGCSE Film Studies: Evaluation examples
GCSE Film Studies: Evaluation examples
 
Film Poster Analysis
Film Poster AnalysisFilm Poster Analysis
Film Poster Analysis
 
Cara menginstalasi windows 7,8.1 dan 10 dengan flashdisk
Cara menginstalasi windows 7,8.1 dan 10 dengan flashdiskCara menginstalasi windows 7,8.1 dan 10 dengan flashdisk
Cara menginstalasi windows 7,8.1 dan 10 dengan flashdisk
 
Presentasi 1 kelas 3 power point
Presentasi 1 kelas 3 power pointPresentasi 1 kelas 3 power point
Presentasi 1 kelas 3 power point
 
Unit 1 Presentation PlayStation 4
Unit 1 Presentation PlayStation 4Unit 1 Presentation PlayStation 4
Unit 1 Presentation PlayStation 4
 
Horror film poster analysis.
Horror film poster analysis.Horror film poster analysis.
Horror film poster analysis.
 
Detailed music video analysis - The 1975 // Girls
Detailed music video analysis - The 1975 // GirlsDetailed music video analysis - The 1975 // Girls
Detailed music video analysis - The 1975 // Girls
 
Nintendo Presentation
Nintendo PresentationNintendo Presentation
Nintendo Presentation
 
Memberi garis arsir di autocad 2007
Memberi garis arsir di autocad 2007Memberi garis arsir di autocad 2007
Memberi garis arsir di autocad 2007
 
Generic conventions of film posters
Generic conventions of film postersGeneric conventions of film posters
Generic conventions of film posters
 
Taylor swift – Bad Blood music video analysis
Taylor swift – Bad Blood music video analysisTaylor swift – Bad Blood music video analysis
Taylor swift – Bad Blood music video analysis
 
Pembahasan Soal Modul A: Linux Island - LKS SMK Provinsi NTB 2017
Pembahasan Soal Modul A: Linux Island - LKS SMK Provinsi NTB 2017Pembahasan Soal Modul A: Linux Island - LKS SMK Provinsi NTB 2017
Pembahasan Soal Modul A: Linux Island - LKS SMK Provinsi NTB 2017
 

Viewers also liked

Tizen-based Samsung TV Web Simulator
Tizen-based Samsung TV Web SimulatorTizen-based Samsung TV Web Simulator
Tizen-based Samsung TV Web SimulatorRyo Jin
 
HTML5 Intro and Tizen Web API
HTML5 Intro and Tizen Web APIHTML5 Intro and Tizen Web API
HTML5 Intro and Tizen Web APIOSLL
 
Ricardo Negri Degree
Ricardo Negri DegreeRicardo Negri Degree
Ricardo Negri DegreeRicardo Negri
 
Tizen-based Samsung TV SDK Overview
Tizen-based Samsung TV SDK OverviewTizen-based Samsung TV SDK Overview
Tizen-based Samsung TV SDK OverviewRyo Jin
 
M health ppt 모바일 시스템
M health ppt 모바일 시스템M health ppt 모바일 시스템
Web-based Smart Things Ecosystems
Web-based Smart Things EcosystemsWeb-based Smart Things Ecosystems
Web-based Smart Things Ecosystems
Simon Mayer
 
Samsung ARTIK Cloud and Genuino MKR100
Samsung ARTIK Cloud and Genuino MKR100Samsung ARTIK Cloud and Genuino MKR100
Samsung ARTIK Cloud and Genuino MKR100
SAMSUNG ARTIK Cloud
 
PCCW Teleservics Overview
PCCW Teleservics OverviewPCCW Teleservics Overview
PCCW Teleservics OverviewTony Zubek
 
Tizen Overview and Architecture - Seokjae Jeong (Samsung) - Korea Linux Forum...
Tizen Overview and Architecture - Seokjae Jeong (Samsung) - Korea Linux Forum...Tizen Overview and Architecture - Seokjae Jeong (Samsung) - Korea Linux Forum...
Tizen Overview and Architecture - Seokjae Jeong (Samsung) - Korea Linux Forum...
Ryo Jin
 
Track 3 session 1 - st dev con 2016 -ieee- iot standards adn open source
Track 3   session 1 - st dev con 2016 -ieee- iot standards adn open sourceTrack 3   session 1 - st dev con 2016 -ieee- iot standards adn open source
Track 3 session 1 - st dev con 2016 -ieee- iot standards adn open source
ST_World
 
Golden Mean in Design
Golden Mean in DesignGolden Mean in Design
Golden Mean in Design
Artik Design
 
The Golden Age of Wearables:
 Personal Networks, Smart Things & Intimate Know...
The Golden Age of Wearables:
 Personal Networks, Smart Things & Intimate Know...The Golden Age of Wearables:
 Personal Networks, Smart Things & Intimate Know...
The Golden Age of Wearables:
 Personal Networks, Smart Things & Intimate Know...
Paul Brody
 
How to Program SmartThings
How to Program SmartThingsHow to Program SmartThings
How to Program SmartThings
Janet Huang
 
Smart things
Smart thingsSmart things
Smart things
manisha anand
 
IoT Platform Meetup - HP Enterprise
IoT Platform Meetup - HP EnterpriseIoT Platform Meetup - HP Enterprise
IoT Platform Meetup - HP Enterprise
Filip Kolář
 
IoT Platform Meetup - IBM
IoT Platform Meetup - IBMIoT Platform Meetup - IBM
IoT Platform Meetup - IBM
Filip Kolář
 
Samsung Indonesia: Tizen Platform Overview and IoT
Samsung Indonesia: Tizen Platform Overview and IoTSamsung Indonesia: Tizen Platform Overview and IoT
Samsung Indonesia: Tizen Platform Overview and IoT
Ryo Jin
 
Track 3 session 4 - st dev con 2016 - sensortile
Track 3   session 4 - st dev con 2016 - sensortileTrack 3   session 4 - st dev con 2016 - sensortile
Track 3 session 4 - st dev con 2016 - sensortile
ST_World
 
Track 4 session 6 - st dev con 2016 - samsung artik
Track 4   session 6 - st dev con 2016 - samsung artikTrack 4   session 6 - st dev con 2016 - samsung artik
Track 4 session 6 - st dev con 2016 - samsung artik
ST_World
 

Viewers also liked (20)

Tizen-based Samsung TV Web Simulator
Tizen-based Samsung TV Web SimulatorTizen-based Samsung TV Web Simulator
Tizen-based Samsung TV Web Simulator
 
HTML5 Intro and Tizen Web API
HTML5 Intro and Tizen Web APIHTML5 Intro and Tizen Web API
HTML5 Intro and Tizen Web API
 
Ricardo Negri Degree
Ricardo Negri DegreeRicardo Negri Degree
Ricardo Negri Degree
 
Tizen-based Samsung TV SDK Overview
Tizen-based Samsung TV SDK OverviewTizen-based Samsung TV SDK Overview
Tizen-based Samsung TV SDK Overview
 
M health ppt 모바일 시스템
M health ppt 모바일 시스템M health ppt 모바일 시스템
M health ppt 모바일 시스템
 
Web-based Smart Things Ecosystems
Web-based Smart Things EcosystemsWeb-based Smart Things Ecosystems
Web-based Smart Things Ecosystems
 
Samsung ARTIK Cloud and Genuino MKR100
Samsung ARTIK Cloud and Genuino MKR100Samsung ARTIK Cloud and Genuino MKR100
Samsung ARTIK Cloud and Genuino MKR100
 
PCCW Teleservics Overview
PCCW Teleservics OverviewPCCW Teleservics Overview
PCCW Teleservics Overview
 
Tizen Overview and Architecture - Seokjae Jeong (Samsung) - Korea Linux Forum...
Tizen Overview and Architecture - Seokjae Jeong (Samsung) - Korea Linux Forum...Tizen Overview and Architecture - Seokjae Jeong (Samsung) - Korea Linux Forum...
Tizen Overview and Architecture - Seokjae Jeong (Samsung) - Korea Linux Forum...
 
Présentation smartthing v4
Présentation smartthing v4Présentation smartthing v4
Présentation smartthing v4
 
Track 3 session 1 - st dev con 2016 -ieee- iot standards adn open source
Track 3   session 1 - st dev con 2016 -ieee- iot standards adn open sourceTrack 3   session 1 - st dev con 2016 -ieee- iot standards adn open source
Track 3 session 1 - st dev con 2016 -ieee- iot standards adn open source
 
Golden Mean in Design
Golden Mean in DesignGolden Mean in Design
Golden Mean in Design
 
The Golden Age of Wearables:
 Personal Networks, Smart Things & Intimate Know...
The Golden Age of Wearables:
 Personal Networks, Smart Things & Intimate Know...The Golden Age of Wearables:
 Personal Networks, Smart Things & Intimate Know...
The Golden Age of Wearables:
 Personal Networks, Smart Things & Intimate Know...
 
How to Program SmartThings
How to Program SmartThingsHow to Program SmartThings
How to Program SmartThings
 
Smart things
Smart thingsSmart things
Smart things
 
IoT Platform Meetup - HP Enterprise
IoT Platform Meetup - HP EnterpriseIoT Platform Meetup - HP Enterprise
IoT Platform Meetup - HP Enterprise
 
IoT Platform Meetup - IBM
IoT Platform Meetup - IBMIoT Platform Meetup - IBM
IoT Platform Meetup - IBM
 
Samsung Indonesia: Tizen Platform Overview and IoT
Samsung Indonesia: Tizen Platform Overview and IoTSamsung Indonesia: Tizen Platform Overview and IoT
Samsung Indonesia: Tizen Platform Overview and IoT
 
Track 3 session 4 - st dev con 2016 - sensortile
Track 3   session 4 - st dev con 2016 - sensortileTrack 3   session 4 - st dev con 2016 - sensortile
Track 3 session 4 - st dev con 2016 - sensortile
 
Track 4 session 6 - st dev con 2016 - samsung artik
Track 4   session 6 - st dev con 2016 - samsung artikTrack 4   session 6 - st dev con 2016 - samsung artik
Track 4 session 6 - st dev con 2016 - samsung artik
 

Similar to Essentials of developing_tizen_web_application_en_1.0

Getting startedtitanium mac (1)
Getting startedtitanium mac (1)Getting startedtitanium mac (1)
Getting startedtitanium mac (1)Johnny Vietnam
 
Web application development process
Web application development processWeb application development process
Web application development process
John Smith
 
8- Siemens Open Library - SIMATIC Visualization Architect (SiVArc).pdf
8- Siemens Open Library - SIMATIC Visualization Architect (SiVArc).pdf8- Siemens Open Library - SIMATIC Visualization Architect (SiVArc).pdf
8- Siemens Open Library - SIMATIC Visualization Architect (SiVArc).pdf
EMERSON EDUARDO RODRIGUES
 
Salesforce.com Lightning
Salesforce.com LightningSalesforce.com Lightning
Salesforce.com Lightning
Malinda Lamahewa
 
Intro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twist
Intro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twistIntro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twist
Intro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twist
Lauren Hayward Schaefer
 
Demonstrating caf.doc
Demonstrating caf.docDemonstrating caf.doc
Demonstrating caf.doc
Pavel Principe Orosco
 
Android wear notes
Android wear notesAndroid wear notes
Android wear notes
Aravindharamanan S
 
Android wear notes
Android wear notesAndroid wear notes
Android wear notes
Aravindharamanan S
 
2016 Guide to User Data Security
2016 Guide to User Data Security2016 Guide to User Data Security
2016 Guide to User Data Security
Sean Bryant
 
Intro to IBM Bluemix DevOps Services, an open lab for IBM InterConnect
Intro to IBM Bluemix DevOps Services, an open lab for IBM InterConnectIntro to IBM Bluemix DevOps Services, an open lab for IBM InterConnect
Intro to IBM Bluemix DevOps Services, an open lab for IBM InterConnect
Lauren Hayward Schaefer
 
Django simplified : by weever mbakaya
Django simplified : by weever mbakayaDjango simplified : by weever mbakaya
Django simplified : by weever mbakaya
Mbakaya Kwatukha
 
Live Source - an Agile Toolkit
Live Source - an Agile ToolkitLive Source - an Agile Toolkit
Live Source - an Agile Toolkit
Alline Oliveira
 
Codemotion rome 2015 bluemix lab tutorial -- Codemotion Rome 2015
Codemotion rome 2015   bluemix lab tutorial -- Codemotion Rome 2015Codemotion rome 2015   bluemix lab tutorial -- Codemotion Rome 2015
Codemotion rome 2015 bluemix lab tutorial -- Codemotion Rome 2015Codemotion
 
Login id jsnyder47Password XeGACUkEN8CONNECTING TO THE.docx
Login id  jsnyder47Password  XeGACUkEN8CONNECTING TO THE.docxLogin id  jsnyder47Password  XeGACUkEN8CONNECTING TO THE.docx
Login id jsnyder47Password XeGACUkEN8CONNECTING TO THE.docx
SHIVA101531
 
Software Developer’s Project Documentation Template
Software Developer’s Project Documentation TemplateSoftware Developer’s Project Documentation Template
Software Developer’s Project Documentation Template
Salim M Bhonhariya
 
Tizen-based Samsung TV SDK IDE Help Guide
Tizen-based Samsung TV SDK IDE Help GuideTizen-based Samsung TV SDK IDE Help Guide
Tizen-based Samsung TV SDK IDE Help GuideRyo Jin
 
Dynamics 365 self hosting bots
Dynamics 365 self hosting botsDynamics 365 self hosting bots
Dynamics 365 self hosting bots
Amit Patil
 

Similar to Essentials of developing_tizen_web_application_en_1.0 (20)

Getting startedtitanium mac (1)
Getting startedtitanium mac (1)Getting startedtitanium mac (1)
Getting startedtitanium mac (1)
 
Homestead demo
Homestead demoHomestead demo
Homestead demo
 
Web application development process
Web application development processWeb application development process
Web application development process
 
8- Siemens Open Library - SIMATIC Visualization Architect (SiVArc).pdf
8- Siemens Open Library - SIMATIC Visualization Architect (SiVArc).pdf8- Siemens Open Library - SIMATIC Visualization Architect (SiVArc).pdf
8- Siemens Open Library - SIMATIC Visualization Architect (SiVArc).pdf
 
Salesforce.com Lightning
Salesforce.com LightningSalesforce.com Lightning
Salesforce.com Lightning
 
Intro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twist
Intro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twistIntro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twist
Intro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twist
 
Installing iPython.docx
Installing iPython.docxInstalling iPython.docx
Installing iPython.docx
 
Demonstrating caf.doc
Demonstrating caf.docDemonstrating caf.doc
Demonstrating caf.doc
 
Android wear notes
Android wear notesAndroid wear notes
Android wear notes
 
Android wear notes
Android wear notesAndroid wear notes
Android wear notes
 
2016 Guide to User Data Security
2016 Guide to User Data Security2016 Guide to User Data Security
2016 Guide to User Data Security
 
Intro to IBM Bluemix DevOps Services, an open lab for IBM InterConnect
Intro to IBM Bluemix DevOps Services, an open lab for IBM InterConnectIntro to IBM Bluemix DevOps Services, an open lab for IBM InterConnect
Intro to IBM Bluemix DevOps Services, an open lab for IBM InterConnect
 
Django simplified : by weever mbakaya
Django simplified : by weever mbakayaDjango simplified : by weever mbakaya
Django simplified : by weever mbakaya
 
Live Source - an Agile Toolkit
Live Source - an Agile ToolkitLive Source - an Agile Toolkit
Live Source - an Agile Toolkit
 
Codemotion rome 2015 bluemix lab tutorial -- Codemotion Rome 2015
Codemotion rome 2015   bluemix lab tutorial -- Codemotion Rome 2015Codemotion rome 2015   bluemix lab tutorial -- Codemotion Rome 2015
Codemotion rome 2015 bluemix lab tutorial -- Codemotion Rome 2015
 
Login id jsnyder47Password XeGACUkEN8CONNECTING TO THE.docx
Login id  jsnyder47Password  XeGACUkEN8CONNECTING TO THE.docxLogin id  jsnyder47Password  XeGACUkEN8CONNECTING TO THE.docx
Login id jsnyder47Password XeGACUkEN8CONNECTING TO THE.docx
 
Software Developer’s Project Documentation Template
Software Developer’s Project Documentation TemplateSoftware Developer’s Project Documentation Template
Software Developer’s Project Documentation Template
 
Netbeans gui tutorial
Netbeans gui tutorialNetbeans gui tutorial
Netbeans gui tutorial
 
Tizen-based Samsung TV SDK IDE Help Guide
Tizen-based Samsung TV SDK IDE Help GuideTizen-based Samsung TV SDK IDE Help Guide
Tizen-based Samsung TV SDK IDE Help Guide
 
Dynamics 365 self hosting bots
Dynamics 365 self hosting botsDynamics 365 self hosting bots
Dynamics 365 self hosting bots
 

More from Saima Ashiq

A Synergetic Approach with Multiple Tizen Devices.
A Synergetic Approach with Multiple Tizen Devices.A Synergetic Approach with Multiple Tizen Devices.
A Synergetic Approach with Multiple Tizen Devices.
Saima Ashiq
 
Samsung mobile device health and safety and warranty guide
Samsung mobile device health and safety and warranty guide Samsung mobile device health and safety and warranty guide
Samsung mobile device health and safety and warranty guide
Saima Ashiq
 
Samsung Gear S2 Manual Tizen Smart Watch
Samsung Gear S2 Manual Tizen Smart WatchSamsung Gear S2 Manual Tizen Smart Watch
Samsung Gear S2 Manual Tizen Smart Watch
Saima Ashiq
 
Shenzhen map for attendees
Shenzhen map for attendees Shenzhen map for attendees
Shenzhen map for attendees
Saima Ashiq
 
Tizen design guidelines
Tizen design guidelinesTizen design guidelines
Tizen design guidelines
Saima Ashiq
 
Tizen mobile design_guidelines
Tizen mobile design_guidelinesTizen mobile design_guidelines
Tizen mobile design_guidelines
Saima Ashiq
 
Samsung PowerBot VR9000
Samsung PowerBot VR9000 Samsung PowerBot VR9000
Samsung PowerBot VR9000
Saima Ashiq
 

More from Saima Ashiq (7)

A Synergetic Approach with Multiple Tizen Devices.
A Synergetic Approach with Multiple Tizen Devices.A Synergetic Approach with Multiple Tizen Devices.
A Synergetic Approach with Multiple Tizen Devices.
 
Samsung mobile device health and safety and warranty guide
Samsung mobile device health and safety and warranty guide Samsung mobile device health and safety and warranty guide
Samsung mobile device health and safety and warranty guide
 
Samsung Gear S2 Manual Tizen Smart Watch
Samsung Gear S2 Manual Tizen Smart WatchSamsung Gear S2 Manual Tizen Smart Watch
Samsung Gear S2 Manual Tizen Smart Watch
 
Shenzhen map for attendees
Shenzhen map for attendees Shenzhen map for attendees
Shenzhen map for attendees
 
Tizen design guidelines
Tizen design guidelinesTizen design guidelines
Tizen design guidelines
 
Tizen mobile design_guidelines
Tizen mobile design_guidelinesTizen mobile design_guidelines
Tizen mobile design_guidelines
 
Samsung PowerBot VR9000
Samsung PowerBot VR9000 Samsung PowerBot VR9000
Samsung PowerBot VR9000
 

Recently uploaded

where can I find a legit pi merchant online
where can I find a legit pi merchant onlinewhere can I find a legit pi merchant online
where can I find a legit pi merchant online
DOT TECH
 
The secret way to sell pi coins effortlessly.
The secret way to sell pi coins effortlessly.The secret way to sell pi coins effortlessly.
The secret way to sell pi coins effortlessly.
DOT TECH
 
655264371-checkpoint-science-past-papers-april-2023.pdf
655264371-checkpoint-science-past-papers-april-2023.pdf655264371-checkpoint-science-past-papers-april-2023.pdf
655264371-checkpoint-science-past-papers-april-2023.pdf
morearsh02
 
Intro_Economics_ GPresentation Week 4.pptx
Intro_Economics_ GPresentation Week 4.pptxIntro_Economics_ GPresentation Week 4.pptx
Intro_Economics_ GPresentation Week 4.pptx
shetivia
 
一比一原版BCU毕业证伯明翰城市大学毕业证成绩单如何办理
一比一原版BCU毕业证伯明翰城市大学毕业证成绩单如何办理一比一原版BCU毕业证伯明翰城市大学毕业证成绩单如何办理
一比一原版BCU毕业证伯明翰城市大学毕业证成绩单如何办理
ydubwyt
 
what is a pi whale and how to access one.
what is a pi whale and how to access one.what is a pi whale and how to access one.
what is a pi whale and how to access one.
DOT TECH
 
how to sell pi coins in South Korea profitably.
how to sell pi coins in South Korea profitably.how to sell pi coins in South Korea profitably.
how to sell pi coins in South Korea profitably.
DOT TECH
 
what is the future of Pi Network currency.
what is the future of Pi Network currency.what is the future of Pi Network currency.
what is the future of Pi Network currency.
DOT TECH
 
The new type of smart, sustainable entrepreneurship and the next day | Europe...
The new type of smart, sustainable entrepreneurship and the next day | Europe...The new type of smart, sustainable entrepreneurship and the next day | Europe...
The new type of smart, sustainable entrepreneurship and the next day | Europe...
Antonis Zairis
 
US Economic Outlook - Being Decided - M Capital Group August 2021.pdf
US Economic Outlook - Being Decided - M Capital Group August 2021.pdfUS Economic Outlook - Being Decided - M Capital Group August 2021.pdf
US Economic Outlook - Being Decided - M Capital Group August 2021.pdf
pchutichetpong
 
The Evolution of Non-Banking Financial Companies (NBFCs) in India: Challenges...
The Evolution of Non-Banking Financial Companies (NBFCs) in India: Challenges...The Evolution of Non-Banking Financial Companies (NBFCs) in India: Challenges...
The Evolution of Non-Banking Financial Companies (NBFCs) in India: Challenges...
beulahfernandes8
 
This assessment plan proposal is to outline a structured approach to evaluati...
This assessment plan proposal is to outline a structured approach to evaluati...This assessment plan proposal is to outline a structured approach to evaluati...
This assessment plan proposal is to outline a structured approach to evaluati...
lamluanvan.net Viết thuê luận văn
 
innovative-invoice-discounting-platforms-in-india-empowering-retail-investors...
innovative-invoice-discounting-platforms-in-india-empowering-retail-investors...innovative-invoice-discounting-platforms-in-india-empowering-retail-investors...
innovative-invoice-discounting-platforms-in-india-empowering-retail-investors...
Falcon Invoice Discounting
 
The WhatsPump Pseudonym Problem and the Hilarious Downfall of Artificial Enga...
The WhatsPump Pseudonym Problem and the Hilarious Downfall of Artificial Enga...The WhatsPump Pseudonym Problem and the Hilarious Downfall of Artificial Enga...
The WhatsPump Pseudonym Problem and the Hilarious Downfall of Artificial Enga...
muslimdavidovich670
 
Chương 6. Ancol - phenol - ether (1).pdf
Chương 6. Ancol - phenol - ether (1).pdfChương 6. Ancol - phenol - ether (1).pdf
Chương 6. Ancol - phenol - ether (1).pdf
va2132004
 
Exploring Abhay Bhutada’s Views After Poonawalla Fincorp’s Collaboration With...
Exploring Abhay Bhutada’s Views After Poonawalla Fincorp’s Collaboration With...Exploring Abhay Bhutada’s Views After Poonawalla Fincorp’s Collaboration With...
Exploring Abhay Bhutada’s Views After Poonawalla Fincorp’s Collaboration With...
beulahfernandes8
 
Empowering the Unbanked: The Vital Role of NBFCs in Promoting Financial Inclu...
Empowering the Unbanked: The Vital Role of NBFCs in Promoting Financial Inclu...Empowering the Unbanked: The Vital Role of NBFCs in Promoting Financial Inclu...
Empowering the Unbanked: The Vital Role of NBFCs in Promoting Financial Inclu...
Vighnesh Shashtri
 
Turin Startup Ecosystem 2024 - Ricerca sulle Startup e il Sistema dell'Innov...
Turin Startup Ecosystem 2024  - Ricerca sulle Startup e il Sistema dell'Innov...Turin Startup Ecosystem 2024  - Ricerca sulle Startup e il Sistema dell'Innov...
Turin Startup Ecosystem 2024 - Ricerca sulle Startup e il Sistema dell'Innov...
Quotidiano Piemontese
 
Isios-2024-Professional-Independent-Trustee-Survey.pdf
Isios-2024-Professional-Independent-Trustee-Survey.pdfIsios-2024-Professional-Independent-Trustee-Survey.pdf
Isios-2024-Professional-Independent-Trustee-Survey.pdf
Henry Tapper
 
Which Crypto to Buy Today for Short-Term in May-June 2024.pdf
Which Crypto to Buy Today for Short-Term in May-June 2024.pdfWhich Crypto to Buy Today for Short-Term in May-June 2024.pdf
Which Crypto to Buy Today for Short-Term in May-June 2024.pdf
Kezex (KZX)
 

Recently uploaded (20)

where can I find a legit pi merchant online
where can I find a legit pi merchant onlinewhere can I find a legit pi merchant online
where can I find a legit pi merchant online
 
The secret way to sell pi coins effortlessly.
The secret way to sell pi coins effortlessly.The secret way to sell pi coins effortlessly.
The secret way to sell pi coins effortlessly.
 
655264371-checkpoint-science-past-papers-april-2023.pdf
655264371-checkpoint-science-past-papers-april-2023.pdf655264371-checkpoint-science-past-papers-april-2023.pdf
655264371-checkpoint-science-past-papers-april-2023.pdf
 
Intro_Economics_ GPresentation Week 4.pptx
Intro_Economics_ GPresentation Week 4.pptxIntro_Economics_ GPresentation Week 4.pptx
Intro_Economics_ GPresentation Week 4.pptx
 
一比一原版BCU毕业证伯明翰城市大学毕业证成绩单如何办理
一比一原版BCU毕业证伯明翰城市大学毕业证成绩单如何办理一比一原版BCU毕业证伯明翰城市大学毕业证成绩单如何办理
一比一原版BCU毕业证伯明翰城市大学毕业证成绩单如何办理
 
what is a pi whale and how to access one.
what is a pi whale and how to access one.what is a pi whale and how to access one.
what is a pi whale and how to access one.
 
how to sell pi coins in South Korea profitably.
how to sell pi coins in South Korea profitably.how to sell pi coins in South Korea profitably.
how to sell pi coins in South Korea profitably.
 
what is the future of Pi Network currency.
what is the future of Pi Network currency.what is the future of Pi Network currency.
what is the future of Pi Network currency.
 
The new type of smart, sustainable entrepreneurship and the next day | Europe...
The new type of smart, sustainable entrepreneurship and the next day | Europe...The new type of smart, sustainable entrepreneurship and the next day | Europe...
The new type of smart, sustainable entrepreneurship and the next day | Europe...
 
US Economic Outlook - Being Decided - M Capital Group August 2021.pdf
US Economic Outlook - Being Decided - M Capital Group August 2021.pdfUS Economic Outlook - Being Decided - M Capital Group August 2021.pdf
US Economic Outlook - Being Decided - M Capital Group August 2021.pdf
 
The Evolution of Non-Banking Financial Companies (NBFCs) in India: Challenges...
The Evolution of Non-Banking Financial Companies (NBFCs) in India: Challenges...The Evolution of Non-Banking Financial Companies (NBFCs) in India: Challenges...
The Evolution of Non-Banking Financial Companies (NBFCs) in India: Challenges...
 
This assessment plan proposal is to outline a structured approach to evaluati...
This assessment plan proposal is to outline a structured approach to evaluati...This assessment plan proposal is to outline a structured approach to evaluati...
This assessment plan proposal is to outline a structured approach to evaluati...
 
innovative-invoice-discounting-platforms-in-india-empowering-retail-investors...
innovative-invoice-discounting-platforms-in-india-empowering-retail-investors...innovative-invoice-discounting-platforms-in-india-empowering-retail-investors...
innovative-invoice-discounting-platforms-in-india-empowering-retail-investors...
 
The WhatsPump Pseudonym Problem and the Hilarious Downfall of Artificial Enga...
The WhatsPump Pseudonym Problem and the Hilarious Downfall of Artificial Enga...The WhatsPump Pseudonym Problem and the Hilarious Downfall of Artificial Enga...
The WhatsPump Pseudonym Problem and the Hilarious Downfall of Artificial Enga...
 
Chương 6. Ancol - phenol - ether (1).pdf
Chương 6. Ancol - phenol - ether (1).pdfChương 6. Ancol - phenol - ether (1).pdf
Chương 6. Ancol - phenol - ether (1).pdf
 
Exploring Abhay Bhutada’s Views After Poonawalla Fincorp’s Collaboration With...
Exploring Abhay Bhutada’s Views After Poonawalla Fincorp’s Collaboration With...Exploring Abhay Bhutada’s Views After Poonawalla Fincorp’s Collaboration With...
Exploring Abhay Bhutada’s Views After Poonawalla Fincorp’s Collaboration With...
 
Empowering the Unbanked: The Vital Role of NBFCs in Promoting Financial Inclu...
Empowering the Unbanked: The Vital Role of NBFCs in Promoting Financial Inclu...Empowering the Unbanked: The Vital Role of NBFCs in Promoting Financial Inclu...
Empowering the Unbanked: The Vital Role of NBFCs in Promoting Financial Inclu...
 
Turin Startup Ecosystem 2024 - Ricerca sulle Startup e il Sistema dell'Innov...
Turin Startup Ecosystem 2024  - Ricerca sulle Startup e il Sistema dell'Innov...Turin Startup Ecosystem 2024  - Ricerca sulle Startup e il Sistema dell'Innov...
Turin Startup Ecosystem 2024 - Ricerca sulle Startup e il Sistema dell'Innov...
 
Isios-2024-Professional-Independent-Trustee-Survey.pdf
Isios-2024-Professional-Independent-Trustee-Survey.pdfIsios-2024-Professional-Independent-Trustee-Survey.pdf
Isios-2024-Professional-Independent-Trustee-Survey.pdf
 
Which Crypto to Buy Today for Short-Term in May-June 2024.pdf
Which Crypto to Buy Today for Short-Term in May-June 2024.pdfWhich Crypto to Buy Today for Short-Term in May-June 2024.pdf
Which Crypto to Buy Today for Short-Term in May-June 2024.pdf
 

Essentials of developing_tizen_web_application_en_1.0

  • 1. Samsung Electronics Co., Ltd.1 Essentials of Developing Tizen Web Application for Tizen-based Samsung TV Version 1.0 2015-05-19
  • 2. Samsung Electronics Co., Ltd.2 Table of Contents 1. Document History.................................................................................. 3 2. About this document.............................................................................. 4 3. Getting Started ..................................................................................... 5 3.1. Installing Tizen-based Samsung TV SDK .................................................... 5 3.2. Generating Author Certificate ................................................................. 6 3.3. Creating New Project ........................................................................... 6 3.4. Using Emulator ................................................................................... 7 3.5. Differences between Emulator and Simulator for Usage................................. 8 3.6. Using Tizen-based Samsung TV .............................................................. 8 3.7. Structure of Tizen Web App ................................................................... 9 3.8. Features of Tizen-based Samsung TV Web App........................................ 10 4. Developing an App ............................................................................. 11 4.1. Registering Remote Controller Key........................................................ 11 4.2. Set [config.xml] for App with Various Functions........................................ 12 4.3. APIs for VOD Service App................................................................... 15 4.4. APIs for TV Service App ..................................................................... 16 4.5. Other Instructions & Functions ............................................................ 16 4.6. How to Improve App Performance........................................................ 18 5. Releasing Your App............................................................................. 21 5.1. Procedure of App Release .................................................................. 21 5.2. Materials for Register your App............................................................ 21 5.3. App Pre-Test ................................................................................... 22 5.4. Complete ....................................................................................... 22
  • 3. Samsung Electronics Co., Ltd.3 1. Document History Version Date Contents Author 0.1 2015. 03. 05 Initial version of document. Sukyung Lee 0.2 2015. 03. 31 Add contents Sukyung Lee 0.3 2015. 04. 02 Add contents Sukyung Lee 0.4 2015. 04. 13 Modify contents Sukyung Lee 0.5 2015. 04. 14 Modify contents Sukyung Lee 0.6 2015. 04. 17 Modify and English composition Sukyung Lee Hyojin Kim 0.7 2015. 04. 20 Modify spelling Sukyung Lee 0.8 2015. 05. 04 Modify contents Sukyung Lee Michal Piotrkowski 0.9 2015. 05. 13 Modify contents Sukyung Lee Maria Gorska 1.0 2015. 05. 19 Check whole document Sukyung Lee Hyojin Kim
  • 4. Samsung Electronics Co., Ltd.4 2. About this document 1. This document is for SW developers who have plans to develop web apps for Tizen- based Samsung TV. 2. This document is clearly dedicated for people with experiences in developing web apps. To understand Tizen platform and develop web apps, you need to learn the following sites first. Tizen Guide www.tizen.org www.samsungdforum.com/TizenGuide/?FolderName=tizen2901&FileName=index.html 3. And furthermore, this document builds on VOCs of whole development cycle and contains things which you can miss from enumerative information. 4. This document covers installing Tizen-based Samsung TV SDK, the structure of an app, features of a TV, helpful functions and useful APIs. In addition, it helps improving app performance and releasing on Samsung Apps. Therefore, you can nicely develop Tizen TV web apps and easily release them. 5. Please note that some contents of this document may not be latest. We strongly recommend checking the reference URLs provided in each chapter for the most actual information.
  • 5. Samsung Electronics Co., Ltd.5 3. Getting Started 3.1. Installing Tizen-based Samsung TV SDK 1. To develop Tizen TV web apps, you need to install a SDK. You can download a SDK from Samsung Developer Forum site. SDK Download www.samsungdforum.com/TizenDevtools/SdkDownload 2. Installing and using a SDK require some conditions. A. A SDK IDE requires Java Runtime Environment or Java Development Kit in version 8 or higher. From the following site, you can download it. JDK, JRE Download www.oracle.com/technetwork/java/javase/downloads/index.html B. To use a GPU accelerator you should install Intel HAXM(Hardware Accelerated Execution), otherwise an emulator will not work properly. During installing a SDK, Intel HAXM should be installed automatically. In case of any errors you can install manually the following file. IntelHaxmTizen For windows 7 (32bit or 64bit) IntelHaxmTizen.exe For Mac IntelHaxmTizen.dmg C. Because an emulator runs on a virtual machine, you can’t use it in the following condition. (It is OK to use bootcamp.) Not Supported Virtualization Programs Remote Desktop Virtual Box VMWare Parallels(Mac PC) 3. If something is wrong and you can’t use your SDK, please post your questions on SDF community board. SDF COMMUNITY www.samsungdforum.com/SamsungDForum/ForumDashBoard/cd10341507013d28
  • 6. Samsung Electronics Co., Ltd.6 3.2. Generating Author Certificate 1. All apps must be signed with an author certificate. It is used to identify an app developer and protect apps from mixing and misusing. It is registered by a SDK installed on each PC. The following is the guide of registering. 2. On an IDE, click ‘Windows’ and then click ‘Preferences’. 3. Expand ‘Samsung TV SDK’ and then click ‘Security Profiles’. 4. After clicking ‘Add’, input your profile name. And then after clicking ‘Generate’, fill in data for the author certificate. 5. Click ‘OK’ to complete. 6. After creating the author certificate, please be careful not to lose it. This is the unique proof for certifying app developer. For this reason, if you lose it, you can’t pass the process of chapter 5.3 item 4. Ultimately you can’t version up your app. 3.3. Creating New Project 1. If the SDK is installed successfully, you need creating a new project. There are 5 ways to create a new project. A. Basic: It is the type of a sample app. So you can figure out the structure of a web app, key interaction, etc. We recommend checking and analyzing this app before you start developing your own one. B. Caph: It is a project based on Caph which is Web UI Framework offered from Tizen-based Samsung TV. On the following site, you can learn about using Caph. Caph Guide
  • 7. Samsung Electronics Co., Ltd.7 www.samsungdforum.com/tizenguide/?Foldername=tizen341&Filename=index.html C. Empty: It is an empty project. D. Tizen Web UI Framework: It is a project based on Tizen Web UI Framework. It is offered from Tizen. On the following site, you can learn about using it. Tizen Web UI Framework Guide developer.tizen.org/dev-guide/2.2.1/org.tizen.web.uiwidget.apireference/html/web_ui_framework.htm E. jQuery Mobile: It is a project based on jQuery Mobile. On the following site, you can learn about using it. jQuery Mobile Guide api.jquerymobile.com/ 3.4. Using Emulator 1. Even if you have no Tizen-based Samsung TV, you can run an app by using an emulator. Please note that an emulator should runs first before running an app. It is different from other platforms (e.g. Android). The following is way to use an emulator. 2. Run ‘Emulator Manager’ on the bottom left side of an IDE. 3. After clicking ‘Create New’, check the values of CPU VT and GPU fields on the right. If these values are ‘OFF’ or ‘Disable’, you can’t use an emulator. If it is ‘Disable’, install Intel HAXM as metioned in chapter 3.1 item 2. If it is ‘OFF’, turn on with clicking the button. 4. After clicking ‘Confirm’, click ‘▶’ for running an emulator. 5. On ‘Project Explorer’ of an IDE, right-click on the project to open ‘Context Menu’. 6. On ‘Run As’, click ‘1 TV Web Application (Emulator/Device)’ to run the app. 7. As item 6, if you click ‘Debug As’, you can use an emulator with a web inspector.
  • 8. Samsung Electronics Co., Ltd.8 3.5. Differences between Emulator and Simulator for Usage 1. For usage, if you select an emulator or a simulator, it will help you develop efficiently. The followings are differences between an emualtor and a simulator. Emulator Simulator Describe UI O O (Faster) Support APIs O △ (Return value is dummy) 2. In case of developing UI, you can use a simulator. After modifying HTML, CSS and etc files, you can check the UI of an app lightly and quickly with clicking ‘Reload’. Please refer to the following site. Tizen TV Web Simulator www.samsungdforum.com/TizenGuide/?Foldername=tizen2951&Filename=index.html 3. In case of developing functions(APIs), you can use an emulator. An emulator supports most of APIs and a simulator doesn’t guarantee the result of APIs. 3.6. Using Tizen-based Samsung TV 1. If you have a Tizen-based Samsung TV, you can install an app and run on a TV after a SDK and TV are remotely connected. The following is way to run an app on a TV. 2. After entering ‘Apps’ on a TV, input combination ‘12345’ by using your remote controller. And then, you can see the following screen. 3. Set ‘Developer mode’ to ‘On’, input the IP address of your PC and click ‘Confirm’. And then reboot the TV. 4. Run ‘Remote Device Manager’ next to ‘Emulator Manager’.
  • 9. Samsung Electronics Co., Ltd.9 5. Click ‘New’, input the name and IP address of the TV and then click ‘Add’. 6. Select the TV which is just created and click ‘Connect’. 7. If you run as metioned in chapter 3.4 item 6, you can check your app on the TV. 3.7. Structure of Tizen Web App 1. Tizen Web App consists of HTML, CSS, JS and [config.xml]. (Please check a basic type project.) 2. [config.xml] has following items. (Please open [config.xml] and check ‘Source’ Tab.) A. App ID/Package: It is the unique ID and Package of an app. A package type is {Random 10 Characters} and an ID type is {Package}.{Project Name}. It is automatically created when a project is created. App Id <tizen:application id=’{Package}.{Project Name}’ … /> Package = {Random 10 Characters} B. App Version: It is version information of an app. A version type is {0-255}.{0- 255}.{0-65535}. App Version <widget … version=’{0-255}.{0-255}.{0-65535}’ … /> C. App Icon: It is the icon of an app which displays on Apps. It consists of the path of icon image. App Icon <icon src=’Icon Path’ /> D. HTML Starting Point: It consists of the path of HTML File to load first when running an app. By default, it is the path of [index.html] file located in the root directory, but you can change it to any HTML file within an app. HTML Starting Point <content src=’HTML Path’ /> E. Privilege: Because of Tizen Privilege policy, some APIs of Tizen need a privilege declaration. Also, some APIs of Tizen-based Samsung TV need it.
  • 10. Samsung Electronics Co., Ltd.10 Privilege <tizen privilege name=’http://tizen.org/privilege/Privilege Name’ /> <tizen privilege name=’http://developer.samsung.com/privilege/Privilege Name’ /> 3.8. Features of Tizen-based Samsung TV Web App 1. Using Remote Controller Because distance between users and a TV is farther than a mobile, apps should interact with users having a remote controller. (Of course, apps support a mouse type by a Smart Controller). 2. UI/UX Requirements The pose of using a TV is freer than a mobile and a TV input something by a remote controller. For the reason, an input process should be minimized and you should consider a UI and UX. You can learn about a UX on the following site. UX Guide www.samsungdforum.com/TizenUxGuide/ 3. App Resolution No matter what resolution of Tizen-based Samsung TV, the standard of app resolution is 1920*1080px and the ratio of that is 16:9. Even if resolution is different from the standard, the ratio should be kept. Only if you keep the ratio, whitespace and scrollbars will not appear on a screen when the app is scaled up or down. 4. Tizen TV web app has most of them which general web apps have. You can use web standard functions: mouse, video tag, animation, VisibilityChange event etc. In addition, you can use Tizen Web Device APIs and Product APIs supported by Tizen-based Samsung TV. You can learn about APIs on the following site. APIs Guide www.samsungdforum.com/TizenApiGuide/ 5. Supported TLS/SSL Version Between web browsers and web servers, to transmit and receive encrypted information, Tizen-based Samsung TV supports TLS(Transport Layer Security). The version of TLS supported is 1.0/1.1/1.2. (SSL(Secure Sockets Layer) is not supported.)
  • 11. Samsung Electronics Co., Ltd.11 4. Developing an App 4.1. Registering Remote Controller Key 1. As mentioned in chapter 3.8 item 1, an app should be controlled by the KeyCode of a remote controller. Only if you register the key to use, an app can receive the KeyCode. 2. tizen.tvinputdevice.registerKey By using the KeyName and the Tizen API, you can register the key. You can get more information on the following site. Key Register tizen.tvinputdevice.registerKey(KeyName); www.samsungdforum.com/tizenapiguide/?Foldername=tizen3331&Filename=index.html 3. For example, by registering the Play/Pause Key of a remote controller, you can get the KeyCode(10252) through the KeyDown event handler of body tag. And then, you can present the user interaction. The following is the guide of developing. Key Register var KEY_PLAYPAUSE = 10252; tizen.tvinputdevice.registerKey(‘MediaPlayPause’); … function handleKeydown (e) { switch (e.keyCode) { case window.KEY_PLAYPAUSE: … break; … document.body.addEventListener(‘keydown’, handleKeyDown); 4. tizen.tvinputdevice.getSupportedKeys By using the getSupportedKeys of Tizen API, you can get all keys supported by the platform. Supported Keys value = tizen.tvinputdevice.getSupportedKeys(); console.log(value); 5. The following is the KeyName and KeyCode supported by Tizen-based Samsung TV. KeyName KeyCode KeyName KeyCode KeyName KeyCode ArrowLeft 37 MediaPlayPause 10252 Menu 457 ArrowUp 38 MediaRewind 412 Tools 10135
  • 12. Samsung Electronics Co., Ltd.12 ArrowRight 39 MediaFastForward 417 Info 457 ArrowDown 40 MediaPlay 415 Exit 10182 Enter 13 MediaPause 19 Back 10009 MediaStop 413 Caption 10221 MediaRecord 416 ChannelList 10073 VolumeUp 447 MediaTrackPrevious 10232 E-Manual 10146 VolumeDown 448 MediaTrackNext 10233 3D 10199 VolumeMute 449 ChannelUp 427 0 48 PictureSize 10140 ChannelDown 428 1 49 Soccer 10228 2 50 Teletext 10200 ColorF0Red 403 3 51 ColorF1Green 404 4 52 Search 10225 ColorF2Yellow 405 5 53 Guide 458 ColorF3Blue 406 6 54 Source 10072 7 55 Extra 10253 8 56 MTS 10195 9 57 Minus 189 PreviousChannel 10190 6. Because you can basically receive KeyCodes of a Left, Up, Right, Down, Enter and Back(Return) key regardless of no registering, please do not register these keys as item 2. 7. To use registerKey method contained tizen.tvinputdevice, please note that you should declare privilege in [config.xml] as follows. Privilege <tizen:privilege name=‘http://tizen.org/privilege/tv.inputdevice’/> 4.2. Set [config.xml] for App with Various Functions 1. Using Network Without setting CSP/WARP, Tizen web app cannot use network because of protecting app contents. To use network, you need to set Security Policy. You can set the URL accessed by the app in ‘Policy’ Tab of [config.xml]. 2. Obtaining Privilege As mentioned in chapter 3.7 item 2.E, to use specific APIs, you need declare privileges and obtain privilege levels. To declare privilege, you can click ‘Add’ in ‘Privileges’ Tab.
  • 13. Samsung Electronics Co., Ltd.13 The following is the list of Privilege for each API which is supported by Tizen-based Samsung TV and the site you can refer to. (Privilege Level is in chapter 4.5 item 2.) Tizen API Privilege Alarm http://tizen.org/privilege/alarm Application http://tizen.org/privilege/appmanager.kill http://tizen.org/privilege/application.launch http://tizen.org/privilege/appmanager.certificate http://tizen.org/privilege/application.info Package http://tizen.org/privilege/packagemanager.install http://tizen.org/privilege/package.info Content http://tizen.org/privilege/content.read http://tizen.org/privilege/content.write Download http://tizen.org/privilege/download Archive http://tizen.org/privilege/filesystem.read http://tizen.org/privilege/filesystem.write File System http://tizen.org/privilege/filesystem.read http://tizen.org/privilege/filesystem.write System Information http://tizen.org/privilege/system http://tizen.org/privilege/systemmanager Web Setting http://tizen.org/privilege/websetting TV Audio Control http://tizen.org/privilege/tv.audio TV Channel http://tizen.org/privilege/tv.channel TV Display Control http://tizen.org/privilege/tv.display TV Input Device http://tizen.org/privilege/tv.inputdevice TV Window http://tizen.org/privilege/tv.window WebApis API Privilege DRMInfo http://developer.samsung.com/privilege/drminfo Electronic Program Guide http://developer.samsung.com/privilege/epg Logging http://developer.samsung.com/privilege/logging Network http://developer.samsung.com/privilege/network.partner http://developer.samsung.com/privilege/network.public Product Info http://developer.samsung.com/privilege/productinfo SSO http://developer.samsung.com/privilege/sso.partner http://developer.samsung.com/privilege/sso.public Widget Data http://developer.samsung.com/privilege/widgetdata www.samsungdforum.com/tizenguide/?Foldername=tizen3411&Filename=index.html 3. Prelaunch Function
  • 14. Samsung Electronics Co., Ltd.14 By making that platform previously loads an app in the background before running the app, you can improve initial app performance. But, it doesn’t mean that all apps like that are always prelaunched. Only several recently used apps are prelaunched. Default value is ‘false’. Prelaunch <tizen:metadata key=‘http://samsung.com/tv/metadata/prelaunch.support’ value=‘true’ /> 4. Multitasking Function During running an app, users can switch to another app or TV channel. When it does, you should decide to fully close or just hide your app. If you set ‘true’ as follows, the app will be hidden. And then multitasking can be supported. (But it requires some source code. Please refer to it in chapter 4.5 item 4.) Default value is ‘true’. Multitasking <tizen:metadata key=‘http://samsung.com/tv/metadata/multitasking.support’ value=‘true’ /> 5. MLS(Multi Link Screen) Function With dividing screen by 2 or 4, you can run multiple apps. The following picture is the example of MLS function. The left side is a TV channel screen and the right side is an app. If you don’t want to support, you can declare as follows. Default value is ‘true’. MLS <tizen:metadata key=’http://samsung.com/tv/metadata/multiscreen.support’ value=’false’ /> 6. Pointing Device Function (Mouse Function) In principle, Tizen web apps support interaction by pointing devices. However, if you don’t want to support them, you can declare as follows. Default value is ‘enable’. Pointing Device <tizen:setting pointing-device-support=‘disable’ />
  • 15. Samsung Electronics Co., Ltd.15 4.3. APIs for VOD Service App 1. There are two ways to play VODs on an app. One way is using video tag which is a HTML5 standard element. And another way is using webapis.avplay which is product APIs supported by Tizen-based Samsung TV. The followings are explanations about two ways and other functions to helpfully use in VODs service apps. 2. Video Tag Video tag makes VODs playing easy by a HTML5 standard element. If you can enough develop by using only it, we recommend using it rather than webapis.avplay. 3. webapis.avplay The following is the list to be difficult or not supported by video tag. When you use these technologies, you can use webapi.avplay. You can learn to use webapis.avplay on the following site. Supported by webapis.avplay DRM(Digital Rights Management) HLS(HTTP Live Streaming) DASH(Dynamic Adaptive Streaming over HTTP) Smooth Streaming Adaptive Streaming 3D Contents, Closed Caption etc… www.samsungdforum.com/tizenapiguide/?FolderName=tizen3001&FileName=index.html 4. webapis.appcommon.setScreenSaver When there is no user interaction during the long period of time by watching VODs in an app, a screen saver runs. If you use the setScreenSaver of webapis.appcommon, you can protect this case. If you set setScreenSaver to ‘0’ shortly before playing VODs, a screen saver will not run although there is no user interaction. Default value is ‘1’. The following is way to use. setScreenSaver webapis.appcommon.setScreenSaver(0, function(){}); 5. Control Volume To control volume on playing VODs, if you use the volume key of a remote controller, you can just use it without registering key. In this case, because platform handles the key, you can use it as the original role of the key. If you want to use Tizen API, please refer to it in chapter 4.4 item 3. 6. Play/Pause Key There is a Play/Pause key in Samsung Smart Controller. This key is combined a play key with a pause key. Its KeyName is MediaPlayPause and KeyCode is 10252. VOD service apps must handle this key to toggle between play and pause mode.
  • 16. Samsung Electronics Co., Ltd.16 4.4. APIs for TV Service App 1. tizen.tvwindow By using Tizen APIs, you can develop PIG(Picture in Graphic). A TV channel screen or external inputs can be shown on an app by setting source. (Unfortunately, an HTMLElement cannot appear on a PIG.) As follows, you can use the show API of tvwindow. Please refer to the following site for more information. tizen.tvwindow tizen.tvwindow.show(function(){}, null, [‘0’, ’0’, ‘50%’, ‘50%’], ‘MAIN’); www.samsungdforum.com/TizenApiGuide/?Foldername=tizen921&Filename=index.html 2. tizen.tvchannel When a channel screen is shown, you can just use the channel key of a remote controller without registering key as metioned in chapter 4.3 item 5. If you want to use Tizen API, you can control a channel which is from the getChannelList API of tvchannel. The following is the guide of this. tizen.tvchannel tizen.tvchannel.getChannelList(function(channels){}, null, ‘ALL’, 0, 10); tizen.tvchannel.tune({major:channelList[0].major},function(){}); www.samsungdforum.com/TizenApiGuide/?FolderName=tizen881&FileName=index.html 3. tizen.tvaudiocontrol In case of volume, you use it as mentioned in chapter 4.3 item 5 or tvaudiocontrol API. And then you can control volume or mute status. The following is the guide of this. tizen.audiocontrol tizen.tvaudiocontrol.setMute(true); tizen.tvaudiocontrol.setVolume(10); www.samsungdforum.com/TizenApiGuide/?FolderName=tizen841&FileName=index.html 4.5. Other Instructions & Functions 1. WebApis WebApis, the product API of Tizen-based Samsung TV is used to get the information of platform, set subtitle and play VODs, etc. It can offer firmware version, DUID, ModelCode, CaptionChange and some APIs of webapis.avplay as mentioned above. You can refer to information from the following sites. WebApis www.samsungdforum.com/tizenapiguide/?FolderName=tizen1761&FileName=index.html 2. Privilege Level
  • 17. Samsung Electronics Co., Ltd.17 As mentioned in chapter 4.2 item 2, some APIs need to declare privileges and to acquire privilege levels. However most of Privilege Levels are ‘Public’ which means they can be used by everyone without acquiring. Because the following privileges are ‘Partner’ or ‘Platform’ level, you need to acquire privilege levels to use. You can contact your content manager in Samsung HQ to use these privileges. Privilege Privilege Level http://tizen.org/privilege/appmanager.kill Partner http://tizen.org/privilege/appmanager.certificate Partner http://tizen.org/privilege/packagemanager.install Platform http://developer.samsung.com/privilege/drminfo Partner http://developer.samsung.com/privilege/network.partner Partner 3. IME(Input Method Editor) A. If you insert only input or textarea tag in HTML, an IME appears when a focus is given to these tags. (However, if you connect to an actual keyboard and input any key, the IME will disappear.) Contents enterd on an IME becomes automatically the value of tag. B. You can get the KeyCode by using the KeyDown event handler of input or textarea tag. Registering keys is not needed. The following is how it is implemented. Key var KEY_DONE = 65376; var KEY_CANCEL = 65385; var KEY_ENTER = 13; var KEY_ESC = 10009; … function handleKeydown (e) { switch (e.keyCode) { case window.KEY_DONE: … break; … document.getElementById(‘Tag ID’).addEventListener(‘keydown’, handleKeyDown); C. The following table is the KeyCode of a Done key and a Cancel key which is included in an IME. Please note that the Done and Cancel key of an IME are different from the Enter and ESC key of a keyboard. Key KeyCode Done of IME 65376 Cancel of IME 65385 Enter of Keyboard 13 (Same as Enter of remote controller) ESC of Keyboard 10009 (Same as Return of remote controller) 4. VisibilityChange Event
  • 18. Samsung Electronics Co., Ltd.18 A. As mentioned in chapter 4.2 item 4, if you set multitasking to ‘true’, the app will be shown or hidden by platform. B. VisibilityChange event is fired when an app is shown or hidden. You can handle each operation by registering this event in an app. In this event callback, you can check whether an app is shown or hidden. The following is how it is implemented. VisibilityChange Event document.addEventListener('visibilitychange', function () { if (document.hidden) {…} else {…} }); 5. Viewport A. As mentioned in chapter 3.8 item 3, the standard resolution of an app is 1920*1080px. If you create a smaller or bigger app than the standard, you can scale up and down size of the app by using viewport meta tag. B. For example, when the resolution of an app is 1280*720px, if you set the app as follows, it will exactly fit on a screen without a margin or a scroll. Because screen size is recognized as the value of viewport width. Viewport <meta name=‘viewport’ content=‘width=1280, user-scalable=no’> C. If resolution and ratio are different from the standard without using viewport, a margin will occur at right or bottom side. The following table is a explanation for app appearance depending on resolution. App Resolution(px) Right Side Bottom Side 1920↓ * 1080↓ White Space White Space 1920↑ * 1080 No Scroll (Shrink to fit perfectly) White Space 1920 * 1080↑ No White Space Scroll 4.6. How to Improve App Performance 1. This chapter contains how to start an app quickly, optimize JS and improve performance while an app runs. You can expect a excellent performance app, if you follow this. 2. JS Basic tips A. We recommend using local variables instead of global variables. If you store the value of global variables in local variables, you can improve processing performance. Define local variables
  • 19. Samsung Electronics Co., Ltd.19 var doc = document; var a = doc.getElementById(‘aaa’); var b = doc.getElementById(‘bbb’); B. If frequently used HTML elements should be assigned to variables, you can improve processing performance. Define local variables var trash = document.getElementById(‘trash’); var forms = document.getElementsByTagName(‘form’); C. For-in loops and with() statements are not recommended. D. Closure is very useful, but it is one of causes for reducing performance. We recommend using it only where necessary. 3. Improving app launch speed A. To reduce a initial start time, it is important to minimize the number of JS files loaded in HTML on an app launch. If you don’t load files which are unnecessary for a first screen, you can reduce time for showing first screen. B. While communicating with servers or loading JS files, please display the background of a first screen and then fill all contents brick by brick. If so, users can feel less stuffy. If you make the speed of loading images fast, the speed of a loading app looks quick. C. Minifying JS files can make to reduce a loading time. D. If using Image Lazy Loading, you can avoid loading images which will not be shown on a screen. If so, you can reduce a loading time. You can easily develop by using jQuery as follows. You can refer to information from the following sites. Image Lazy Loading <script type=‘text/JavaScript’ src=‘jquery.js’></script> <script type=‘text/JavaScript’ src=‘jquery.lazyload.js’></script> <script> function onLoad() { $(‘img.lazy’).lazyload(); } </script> <body> <img class=‘lazy’ data-original=‘img/example.jpg’ width=‘765’ height=‘574’> www.appelsiini.net/projects/lazyload E. You need to reduce a total time spent on communication with server as much as possible. To achieve this, it is important to start sending requests as soon as possible and process independent data in parallel communications. 4. Improving performance during running an app
  • 20. Samsung Electronics Co., Ltd.20 A. You can improve performance as changing CSS classes instead of the changing style of an HTMLElement. Change Class .elm { background-color: #fff; padding-left: 0px; } ... <div class=‘elm’>...</div> B. You can improve rendering performance by using a GPU accelerator. Simply changing a top and left value will be occurred reflow. If you use -webkit-transform, it will be renderd by a GPU accelerator. Use GPU Accelerator @-webkit-keyframes ‘move’ { from { -webkit-transform:translateX(0px);} to { -webkit-transform:translateX(200px);} }
  • 21. Samsung Electronics Co., Ltd.21 5. Releasing Your App 5.1. Procedure of App Release 1. After completing your app development, you can publish your app on Samsung Apps. To publish it, the following procedure is required. 2. Visit Seller Office site and sign up. Seller Office is a system on which you can accomplish a whole process for releasing app. Seller Office seller.samsungapps.com/tv/portal/main 3. Select sequentially ‘App Registration’ and ‘Tizen-based Samsung TV SDK’. 4. Fill in an app name and check availability. 5. Fill in Basic Information: developer information, app information, country for release and etc. 6. Fill in Test Information: TV model for release, app document and etc. 7. Progress Pre-Test: Refer to it in chapter 5.3. 8. Complete to register the app. 9. After checking whether your app is proper, you can confirm your app on a TV. 5.2. Materials for Register your App 1. As preparing the below things, you can easily progress registering your app. App Code App Icon App Picture Count 1 1 4 Size - 512*423px 960*540px 1280*720px 1920*1080px Format WGT JPG, PNG JPG Max Volume - 300 KB 500 KB 2. Also, you need to prepare a app name and description in the language of each country for releasing.
  • 22. Samsung Electronics Co., Ltd.22 5.3. App Pre-Test 1. After registering your app information and app code, system progresses Pre-Test. It essentially checks whether required information are missed and it has security issues and common defects. The following things are the list of checking during Pre-Test. If you don’t keep the rules, Pre-Test will be failed. In such case, you should review and fix problems and resubmit your app code. 2. Check the submitted file File Check Format WGT Name No special characters except for underscore.( _ ) Below 100 Bytes Compression ZIP(Able to decompress) 3. Check the [config.xml] [config.xml] Check Mandatory items [config.xml] File App ID App Version Feature App ID For a new app, check if your app ID is not used by other apps. For version up, check if the app ID is same as previous one. App Version Check if format is {0-255}.{0-255}.{0-65535} For version up, check if the version is higher than previous one. Required_version Check if format is {number}.{number} Privilege Check if you have the privilege for ‘Partner’ or ‘Platform’ levels 4. Check the [author-signature.xml] [author-signature.xml] Check Mandatory items [author-signature.xml] File Author Certificate For a new app, check if the certificate is a proper format For version up, check if the author is same as previous one. 5.4. Complete 1. After passing Pre-Test and completing your app register, our system starts real an app test. If there are no defects, your app is released on Samsung Apps. Then you can check your app on TVs.
  • 23. Samsung Electronics Co., Ltd.23 2. If your app has defects, you should review and fix it. Then you should resubmit a new version app. Otherwise the app will not be published. The detailed defect list can be found on Seller Office. On ‘Applications’ menu, click ‘Defect Resolution’. 3. For version up, you can similarly process with registering an app. On ‘Applications’ menu, click ‘Management’ and then click the app. you can process to upgrade your app by clicking ‘Version Up’ on ‘App Information’. 4. In case of any questions about a release process, defects or system features, you can contect managers on Seller Office. On ‘Support’ menu, click ‘1:1 Q&A’.