Smart TV App Development examples, tutorials, best-practices and documentation.
(nice intro needed…)
Samsung Smart TV models list: http://www.samsung.com/us/video/tvs/all-products
Samsung Smart TV for development suggestion: UE32H5500
Year | UA String |
---|---|
2015 | Mozilla/5.0 (SMART-TV; Linux; Tizen 2.3) AppleWebkit/538.1 (KHTML, like Gecko) SamsungBrowser/1.0 TV Safari/538.1 |
2014 | Mozilla/5.0 (SMART-TV; X11; Linux armv7l) AppleWebkit/537.42 (KHTML, like Gecko) Safari/537.42 |
2013 | Mozilla/5.0 (SMART-TV;X11; Linux i686) AppleWebkit/535.20+ (KHTML, like Gecko) Version/5.0 Safari/535.20+ |
2012 | Mozilla/5.0 (SMART-TV; X11; Linux i686) AppleWebKit/534.7 (KHTML, like Gecko) Version/5.0 Safari/534.7 |
2011 | Mozilla/5.0 (SmartHub; SMART-TV; U; Linux/SmartTV) AppleWebKit/531.2 (KHTML, like Gecko) Web Browser/1.0 SmartTV Safari/531.2+ |
@source: http://developer.samsung.com/technical-doc/view.do?v=T000000203
LG Smart TV models list: http://www.lg.com/uk/smart-tvs
LG Smart TV for development suggestion: 32LM620T
LG Media Specs official documentation
NetCast 2.0 (2011), NetCast 3.0 H12 (2012), NetCast 3.0 M12 (2012) support the following protocols:
HTML file transportation: HTTP, HTTPS
VoD media file transportation: MMSH, HTTP, RTMP, RTMPE Linear or live broadcasting: HLS, Widevine
And the following Codecs/Containers:
mp4, wmv, asf, mov, wvm, avi, ts, mp3, wma
HTML5 Audio and Video tags supported.
Most HTML5 Video events also supported.
MIME Types
In order to play media in LG Smart TVs is necessary to use a media object.
<object type="application/x-netcast-av" data="" autostart="false" width="500" height="500" id="lgPlayer" style="position:absolute; top:0px; left:0px; z-index: 1;"></object>
The data
attribute is the video source and can be changed using Javascript to play supported media.
type
attributes that can be used are:
application/x-netcast-av (general supported media)
video/x-ms-asf, video/x-ms-wmv (WMV (ASF))
audio/x-ms-wma (WMA)
audio/mpeg, audio/mp3 (MP3)
video/mp4, video/mpeg (MP4)
application/vnd.apple.mpegurl (m3u8)
Useful official documentation links about these topics:
(TO-DO)
"Designing for TV" - Developer Android - http://developer.android.com/training/tv/index.html
Useful resources for Smart TV Apps development.
This is the big picture with links for fast access of Smart TV Platforms and respective SDKs.
Platform | Website | Documentation | Forum | SDK |
---|---|---|---|---|
Android TV | developer.android.com/tv | Building Apps for TV | - | Android SDK |
LG | developer.lgappstv.com | TV Help | LG Developer Forums | Resources |
NetTV (Sharp, Philips) | yourappontv.com | (Login required) | (Login required) | (Login required) |
Opera TV | operasoftware.com/opera-tv | dev.opera.com/tv | Opera TV Store Forums | Opera TV Emulator |
Roku | roku.com/developer | (Login required) | (Login required) | (Login required) |
Samsung | samsungdforum.com | Development Guide | English Forum | SDK Download |
SmartTV Alliance (LG, Sharp, Philips) | smarttv-alliance.org | SDK Documentation | Forum | SDK Overview |
Yahoo Connected TV | developer.yahoo.com/connectedtv/ | - | - | - |
-
*shameless* smart-tv.js - Smart TV Development Framework - https://github.com/ruiposse/smart-tv.js
-
TV Application Layer (BBC) - http://fmtvp.github.io/tal/ - https://github.com/fmtvp/tal
-
ZombieBox - Cross-platform SmartTV/STB Javascript framework - http://zombiebox.net
-
Metrological Application Framework 3.0 - https://github.com/Metrological/maf3-sdk
-
Mautilus Smart TV SDK - http://smarttv.mautilus.com/SDK/
-
Enyo Javascript Framework https://github.com/enyojs
-
Joshfire Framework - https://github.com/joshfire
- "generator-smarttv - Yeoman generator to scaffold a Samsung SmartTV app" -https://github.com/eddiemoore/generator-smarttv
- Gridy.js - https://github.com/ialpert/gridy.js/ - http://ialpert.github.com/gridy.js
- "Samsung SmartTv Packager (2013)" - https://github.com/imgntn/samsung-smartTV-packager
- Debugging server (Samsung Smart TV)- https://gist.github.com/janmonschke/4992216
- Basic Smart TV App Server - https://github.com/rposbo/basic-smart-tv-app-server
- "Samsung sample Brightcove video player" - https://github.com/BrightcoveOS/Samsung-Smart-TV-Sample-App
- 'Polyfill for localStorage in Smart TV' - https://github.com/artempoletsky/Smart-LS
- "Smart TV Hacking" - http://www.delaat.net/rp/2012-2013/p39/report.pdf
- http://eddie-moore.com/2014/01/samsung-smart-tv-app-generator-for-yeoman
- http://robinosborne.co.uk/2013/02/04/year-of-101s-february-samsung-smart-tv
- http://robinosborne.co.uk/2013/02/11/smart-tv-101-part-2-app-development
- http://robinosborne.co.uk/2013/02/14/smart-tv-101-part-3-deploying-to-tv
- http://robinosborne.co.uk/2013/02/28/samsung-smart-tv-part-4-creating-packages-without-the-sdk
- "SmartTV development for starters" - http://stackoverflow.com/questions/12940572/smarttv-development-for-starters
(TO-DO)
Disclaimer:
I take no responsability for any damage to your television
or any other issues that may arise from following these tutorials.
I do not recommend purchasing a Samsung Smart TV to access
streaming services from another country.
PROCEED AT YOUR OWN RISK!
You may also need some VPN connection after changing your
TV store in order for some apps to work properly.
Tutorials:
- D-Series and E-Series
- Make sure your television is connected to the internet. If you require help, consult your television’s manual.
- Power up your TV and enter the smart hub by pressing the appropriate key on the Samsung remote.
- Once the Smart Hub has appeared, press only the following keys in exactly this order:
- Fast-forward (>>)
- 289
- Rewind (<<)
- If the key-press sequence was performed correctly, you should have entered a backdoor service menu. A list of countries, representing the various regional app stores will appear so you can now select the one that you wish to use.
- After a short moment, you will be asked to update the Smart Hub. Press Yes.
- The Smart Hub will automatically remove all existing apps and install different ones from the new store. I recommend rebooting the television and agreeing to any further smart hub updates. It is up to you to choose which additional apps you wish to install.
@source: http://www.eyeondemand.com/2013/02/07/how-to-changing-your-samsung-tvs-country-app-store/
- F-Series (2013) and H-Series (2014)
Guide with pictures: http://support-us.samsung.com/cyber/popup/iframe/pop_troubleshooting_fr.jsp?idx=428339
- Set the TV to the TV source, press the source button and use the navigation pad, select TV and then click to select.
- Open the Main Menu.
- Use the navigational pad to select the System portion of the Main Menu, and then click to enter the sub menu.
- Setup will be selected by default, click to begin the setup.
- You will begin the on-screen setup that you completed when you first bought the television. Your previously entered information will be retained.
- Continue through the on-screen setup until you arrive at the Smart Hub Terms & Conditions, Privacy Policy page in the on-screen setup.
- With the Smart Hub Terms & Conditions, Privacy Policy page up on the TV press the following buttons in sequential order.
- The country list will appear. Select your country from the list and then click to continue.
- Complete the on-screen setup. You TV's country code has now been changed.
@source: http://wiki.samygo.tv/index.php5/How_To_Set_Your_Country_Code_In_Smart_Hub
LG Deployment official documentation
Use the "Export App Test" option in the LG IDE and upload the package to the "App Test" option in the LG Developer site and download the DRM applied file. You create lgapps/installed/{appid} folder structure inside a usb stick, unzip the downloaded file into it and insert the usb stick into the LG TV.
When you upload the web app into the LG Developer site, you have to insert an URL in the form. This is really good, because it means that you don't have to go over this process every time you change something in your app.
So, I just create and upload a package that allows the TV to connect to my web server. After that I can continue/start to code the app and instantly test on the real device by reloading the TV app.
LG Testing on Emulator official documentation
App Icons & Screenshots
Icon Images for TV
-
Your icon image must be 512 x 423, SQUARE and at least 72 DPI Your screenshot images must be 960 x 540, 1280 x 720 or 1920 x 1080 pixels and at least 72 DPI Please upload an image less than 500 KB.
-
JPG format only.
-
Screenshot images must be 960 x 540, 1280 x 720 or 1920 x 1080 pixels.
LG Store submission is managed in the LG Seller Lounge.
It is important to read the "Seller Lounge Guide", easily spotted once you log in.
Required Documents for App Submission
Two documents are mandatory for submiting an app:
AppDescription (appdescription.ppt)
Self-Evaluation Checklist (app_self_evaluation_checklist.xls)
Download: Required Documents for Application Submission to LG Seller Lounge -> "documents for app qa.zip"
App Icons & Screenshots
LG App Icon and Screenshot Guidelines (v4.1) [PDF]
Exactly one icon is mandatory and needs to be accourdingly to these rules:
200 * 200
PNG, JPG or GIF
Max size: 100kb
At least two screenshots, as per:
1280 * 720 (browser, plex) or 960 * 540 (flash)
PNG, JPG or GIF
Max size: 200kb
Max number of screenshots = 6
last update: 27/03/2015