Tizen TV application configuration

Samsung Smart TV

The Tizen studio provides developers with all the tools they need for developing applications for the Tizen platform. One of the most important tool in the Tizen studio is the project creation wizards. The project creation wizards help in setting up the development environment for a specific platform in no time. All the basic files needed for the successful running for the basic project is set up easily using the project wizards. The user will have to input the minimum details for the wizard such as the project name, project type, development platform and few basic configuration details etc.

This post is explained in the context of a Tizen web application development environment. The process to create a sample web application in Tizen TV is explained in one of my previous posts. The Tizen studio will create all the necessary files for the successful running of the project. The created file for the specific project are visible under the project explorer section in Tizen studio. The following image shows the project explorer window.



Folder structure of default js application in smart tv

Folder structure of default js application in smart tv

The created files will be having a master configuration file that contains vital information regarding the current project. This configuration file has various metadata regarding the project such as the following.

  • Application ID
  • Application Icon
  • User Roles
  • Network access policies
  • Application type
  • Other metadata
  • External device support

The above said information is just a portion of the entire list of options in the Tizen application configuration file. The ones listed above are the most commonly used options. The following section shows the default application configuration file created for the Tizen web application.

<?xml version="1.0" encoding="UTF-8"?>
<widget xmlns:tizen="http://tizen.org/ns/widgets" xmlns="http://www.w3.org/ns/widgets" id="http://yourdomain/BasicUI" version="1.0.0" viewmodes="maximized">
    <tizen:application id="vUbOaEEMta.BasicUI" package="vUbOaEEMta" required_version="3.0"/>
    <content src="index.html"/>
    <feature name="http://tizen.org/feature/screen.size.all"/>
    <icon src="icon.png"/>
    <name>BasicUI</name>
    <tizen:profile name="tv"/>
</widget>

The above diagram shows the list of configuration options in the Tizen web application. Let us take a little bit more deeper look into some of the options in the default config file.



Application ID

The application ID also known as the app identifier helps in uniquely identifying the application. The application ID remains helpful when there is a need to search or identify the application from the app store by other applications. Tizen studio automatically gives a unique ID to the application based on the package name and the project name in the following format.

<tizen:application id='{Package}.{Project Name}' ... />

The default application id is created based on the package and the project name. The user can leave the ID as is such or can change and give an unique ID based on his/her interest. The new ID can be applied directly in the configuration file by editing it directly in the editor. The config file is an XML file. So any text editor can edit this file.

Application Version

Application version is an indicator that shows the current release of the application. The application version will be in the following format.

<widget ... version='{0-255}.{0-255}.{0-255}' .../>

The application version follows the standard 3 integer format separated by dots. The first indicates the major version, the second indicates the minor version and the last part indicates the patch level. The application version serves a major role during the application update. The application once checked for updates in the app store will be checked against the version number. If the version number is higher than the current one, the system identifies that the application needs to be updated.

Application Icon

Application images serves a major role in identifying the application. Most of the time, the application registers itself in the user’s mind with its application icon. The configuration file has options for setting an image as the application icon. The application icon can be any standard image that the user needs to set as the main icon. The specifications of the image, will be discussed in one of my future posts. The following snippet shows the application icon option.

<icon src='Icon Path'/>



The user should provide the correct path of the image inside the application folder. External image links are not reliable.

HTML Content

The Tizen web application is a normal web application running inside the Tizen environment. It uses the most commonly used web technologies like HTML, CSS and JavaScript. For web applications the final display pages will be in HTML, even though the page can be developed using various other technologies other than HTML. The HTML Content option should point to the landing page that the application should point to when launching the app. The HTML Content option looks like the one below

<content src='Html Path'/>

Privileges

Applications that need to handle platform and user sensitive data has to give adequate protection to the data. This data protection is provided by enforcing strict policies and privileges to the users of the app. These privileges should be defined before their usage in the application. The following snippet shows how to define privileges.

<tizen privilege name='http://tizen.org/privilege/Privilege Name'/>
<tizen privilege name='http://developer.samsung.com/privilege/Privilege Name'/>

We can discuss further more about privileges in my future articles.

Network Access Policy

Tizen TV are internet connected devices, that can transfer information through the internet just like other internet connected devices. The Tizen TV accesses the network resources using the W3C Network Access Policy. More information on how to define the network policy, or how to create applications that obey the network policy will be discussed further in one of my future posts.

Application Privileges

Tizen TV applications can access the resources from the TV like memory, internet, external devices and storage etc. These resources are readily available to the devices based on the permissions or privileges available to those applications. The privileges that the current application requires should be listed out in the application configuration. Only then the application manager when executing this application can allocate the specific resource. The application cannot access the resource with which the application does not have the privilege to access. We will look further into specifying the application privileges in the future.

Pre Launching

Pre Launching is a feature that enables an application to download the necessary resources before its launch. This will be a necessary feature in the case of applications that needs a bit of resources for its startup. Downloading of resources during an application startup will increase its load time. Pre Launching feature enables the app to reduce this delay. The current application features that needs to be pre downloaded are to be specified in the config file under the preloading option. This option will be explained further.

Mouse and other devices support

Tizen TV also provides support for other external devices like mouse, keyboard, gaming controls etc. Each devices have their associated meta tags and by specifying those tags, the developer can indicate the specific device support for the current application. These device specific tags can be specified under the devices section. The following code snippet shows how we can add a pointing device or a mouse support for an application.

<tizen:setting pointing-device-support='disable' />



The above set of options are the most commonly used ones and also the ones created during the app creation process. Most of the common tasks and the associated configuration can be done using this default configuration file. Only in rare cases the developer may need to extend or add additional config options to this file to satisfy the requirements. We will be looking into further options available and also some of the advanced options in the near future.




No Comments


You can leave the first : )



Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.