{"id":36620,"date":"2016-06-26T13:03:13","date_gmt":"2016-06-26T07:33:13","guid":{"rendered":"http:\/\/www.tothenew.com\/blog\/?p=36620"},"modified":"2016-06-28T11:44:09","modified_gmt":"2016-06-28T06:14:09","slug":"an-introduction-to-smaf","status":"publish","type":"post","link":"https:\/\/www.tothenew.com\/blog\/an-introduction-to-smaf\/","title":{"rendered":"An introduction to SMAF"},"content":{"rendered":"<p>With the recent advancements in\u00a0<a title=\"smart tv apps development\" href=\"http:\/\/www.tothenew.com\/mobile-smart-tv-application-development\">Smart TV ecosystems<\/a>, almost one million Smart TVs are estimated by 2017. \u00a0Most of these Smart TVS belong to HTML \/ CSS \/ Javascript platforms. However, few Android TVs are based on java \u00a0platforms whereas Roku TVs apps are developed on Brightscript platform. Though all Smart TV\u2018s provide their own API\u2019s to integrate their functionality, developers still find it difficult to create an application that runs on every platform.<\/p>\n<p>One such toolset for TV apps called SMAF, helps to bridge the gap for developers by offering a common ground to build Smart TV applications for different development platforms. SMAF covers application developed for following Smart TV\u2018s :<\/p>\n<ul>\n<li>Samsung Smart Tv<\/li>\n<li>Samsung Tizen (for 2015 and other latest Samsung models)<\/li>\n<li>LG WebOS and WebOS 2.0<\/li>\n<li>Amazon FireTV<\/li>\n<li>Android Tv<\/li>\n<\/ul>\n<p>Key features of SMAF SDK include:<\/p>\n<ul>\n<li>Powerful Command line tools for creating and managing your projects.<\/li>\n<li>Advanced remote control and video player<\/li>\n<li>In-app messaging\/notifications from Smaf.tv.<\/li>\n<li>Access to local storage (hide internal implementation)<\/li>\n<li>Provides packaging of the application so that it can be tested on each supported platform.<\/li>\n<li>Usage analytics<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2 style=\"background: none !important\">To Install CLI SMAF Tools:<\/h2>\n<p>You can install SMAF on your computer from any location using the following command:<\/p>\n<p>[java]<br \/>\nnpm install smaf-cli -g<br \/>\n[\/java]<\/p>\n<p>&nbsp;<\/p>\n<h2 style=\"background: none !important\">To Create a New Project:<\/h2>\n<ol>\n<li>Get the SMAF Token:<\/li>\n<\/ol>\n<p>We firstly need to get a token from SMAF dashboard to create a new project. Follow these steps to get the token:<\/p>\n<ul>\n<li>Login to the SMAF dashboard and create a new project<\/li>\n<\/ul>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-36630\" src=\"\/blog\/wp-ttn-blog\/uploads\/2016\/06\/Screen-Shot-2016-06-23-at-5.22.59-PM.png\" alt=\"Screen Shot 2016-06-23 at 5.22.59 PM\" width=\"254\" height=\"288\" \/><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-36634\" src=\"\/blog\/wp-ttn-blog\/uploads\/2016\/06\/Screen-Shot-2016-06-23-at-5.29.17-PM.png\" alt=\"Screen Shot 2016-06-23 at 5.29.17 PM\" width=\"792\" height=\"313\" \/><\/p>\n<ul>\n<li>Copy\u00a0Access Token<\/li>\n<\/ul>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-36632\" src=\"\/blog\/wp-ttn-blog\/uploads\/2016\/06\/Screen-Shot-2016-06-23-at-5.24.27-PM.png\" alt=\"Screen Shot 2016-06-23 at 5.24.27 PM\" width=\"1031\" height=\"444\" \/><\/p>\n<p>2. \u00a0Create an application:<\/p>\n<p>[java]<br \/>\nsmaf create SmafTvFirstApp<br \/>\n[\/java]<\/p>\n<p>Once you get the token, we will move on to create an application. We need to fill in the following details:<\/p>\n<ul>\n<li><strong>Application name:<\/strong>\u00a0The name of the\u00a0application.<\/li>\n<li><strong>Application ID:<\/strong>\u00a0A unique ID for our project.<\/li>\n<li><strong>Application description:<\/strong>\u00a0Shot description of application.<\/li>\n<li><strong>Screen dimension:<\/strong>\u00a0Either 1920&#215;1080 or 960&#215;540 by moving up-down array key.<\/li>\n<\/ul>\n<p>After that, the project will be created\u00a0like this screenshot.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-36635\" src=\"\/blog\/wp-ttn-blog\/uploads\/2016\/06\/Screen-Shot-2016-06-23-at-5.34.32-PM.png\" alt=\"Screen Shot 2016-06-23 at 5.34.32 PM\" width=\"572\" height=\"363\" \/><\/p>\n<p>Once the project has been created successfully, it will show the structure like this:<\/p>\n<ul>\n<li><strong>index.html\u00a0&#8211;<\/strong> HTML file, starting point for your application.<\/li>\n<li><strong>js\/vendor\/smaf.js\u00a0&#8211;<\/strong>\u00a0SMAF SDK library.<\/li>\n<li><strong>styles\/main.css\u00a0&#8211;<\/strong> CSS file for styling your application<\/li>\n<\/ul>\n<p>3. Testing on Real Smart TV\u2019s<\/p>\n<p>[java]<br \/>\nsmaf package all<br \/>\n[\/java]<\/p>\n<p>After a while, you will be able to see different folders for Android, Fire tv, Samsung Smart TV, Tizen TV and WebOS as per the platform.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-36646\" src=\"\/blog\/wp-ttn-blog\/uploads\/2016\/06\/Screen-Shot-2016-06-26-at-1.06.21-PM.png\" alt=\"Screen Shot 2016-06-26 at 1.06.21 PM\" width=\"617\" height=\"144\" \/><\/p>\n<p>You can easily download their respective SDK&#8217;s and open in their IDs.<\/p>\n<p>By following the above steps, you can build your first cross platform TV app quickly using SMAF.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>With the recent advancements in\u00a0Smart TV ecosystems, almost one million Smart TVs are estimated by 2017. \u00a0Most of these Smart TVS belong to HTML \/ CSS \/ Javascript platforms. However, few Android TVs are based on java \u00a0platforms whereas Roku TVs apps are developed on Brightscript platform. Though all Smart TV\u2018s provide their own API\u2019s [&hellip;]<\/p>\n","protected":false},"author":126,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":9},"categories":[518,3479,3477,1772],"tags":[2740,3570,3610,3519,3611,4861,3612,3613],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/36620"}],"collection":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/users\/126"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/comments?post=36620"}],"version-history":[{"count":0,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/36620\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/media?parent=36620"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/categories?post=36620"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/tags?post=36620"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}