How to Test Firefox OS Apps on TV

By  on  

One of my responsibilities in my new role in Partner Engineering at Mozilla is testing HTML5-powered apps and games on Panasonic televisions.  The television in my office, a beautiful 60" 4K Ultra HD beast, is the perfect device for the job.  But how do I get the app from my local computer to the television for testing?  This blog post will walk you through the process of testing your HTML5 app on Firefox OS-powered televisions.

It's important to note before we get started that using the browser app to view a URL isn't the same, as the app isn't in "highlight mode" and the browser chrome takes up real estate.

Step 1:  Use the Firefox Web Developer WebIDE to Connect to Television

Firefox's awesome Developer Tools provides a WebIDE which features a "Remote Runtime" functionality.  This remote runtime allows you to connect your desktop computer to your Firefox OS television via IP.  I wont repeat the documentation on how to do connect to the TV, I'll instead point you to this article on MDN:  How to connect WebIDE to TV.  The article on MDN walks you through, with screenshots, how to connect to the TV.

Step 2:  Sideload the App as a Packaged App

Firefox OS TVs only allow for "hosted" apps (you provide a URL where the app lives) and not "packaged" apps (a .zip file with all of the app's assets), however to test your app on the TV, you'll need to load the app a packaged app within the WebIDE.  Weird, right?  The packaged app will be incredibly simple and I'll even provide you the template:

You only need to make a few changes:

  • Open app.js and change the window.location address to the address of your hosted app
  • Open webapp.manifest and provide an app name as you'd like it to appear on the TV

That's all you need to do, though you may also want to also provide a real app icon image.

With the packaged app in place, and assuming you've connected the WebIDE Remote Runtime to the TV, click "Open Packaged App..." and select your app directory.  You'll see the information loaded like this:

Firefox WebIDE

Once the app information has loaded in WebIDE, you can click the "play" icon to "push" the app to your TV.  The app will instantly launch on the television when you press the play icon.  If you go to the Firefox OS home screen for the TV, you will see the app name and icon; you can open the app on the TV from that point forward.  If you make changes to the app, simple press the "play" icon again and the app will be re-installed on your TV!

Firefox OS TV

Recent Features

  • By
    5 Awesome New Mozilla Technologies You’ve Never Heard Of

    My trip to Mozilla Summit 2013 was incredible.  I've spent so much time focusing on my project that I had lost sight of all of the great work Mozillians were putting out.  MozSummit provided the perfect reminder of how brilliant my colleagues are and how much...

  • By
    Designing for Simplicity

    Before we get started, it's worth me spending a brief moment introducing myself to you. My name is Mark (or @integralist if Twitter happens to be your communication tool of choice) and I currently work for BBC News in London England as a principal engineer/tech...

Incredible Demos

  • By
    Sexy Opacity Animation with MooTools or jQuery

    A big part of the sexiness that is Apple software is Apple's use of opacity. Like seemingly every other Apple user interface technique, it needs to be ported to the web (</fanboy>). I've put together an example of a sexy opacity animation technique...

  • By
    Animated Progress Bars Using MooTools: dwProgressBar

    I love progress bars. It's important that I know roughly what percentage of a task is complete. I've created a highly customizable MooTools progress bar class that animates to the desired percentage. The Moo-Generated XHTML This DIV structure is extremely simple and can be controlled...

Discussion

  1. Hi, David!
    Great tips! Will implement them during next Firefox OS App test session for sure!

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!