Mobile/Fennec/Roku

From MozillaWiki
< Mobile‎ | Fennec
Jump to: navigation, search

Background

Firefox on Roku is a small application that handles playing videos sent from Firefox web browsers running on phones, tablets and other devices. The application creates a connection to Firefox web browsers, allowing videos to be pushed to the Roku, played and cached for later viewing. While connected, the Firefox web browser has basic control over playback.

Code

Roku applications (or channels) are implemented using BrightScript, a BASIC-like development language. The applications have a selection of prebuilt components (visible and invisible) that can be used to implement features and user interfaces. The design guide has some details on the user interface components.

Building

Roku application are "built" by archiving the source code, images, and other assets into a ZIP file. The developer guide has information on creating a manifest and archiving the files. A zipped application bundle is ready to be tested on a developer-mode enabled Roku device, but it is not ready to upload into the Roku store. The are more packaging steps needed.

Testing

Once bundled into a ZIP file, you can upload your application to a local Roku device to test it. The Roku device needs to be put into "developer mode", a simple process that is detailed in the http://sdkdocs.roku.com/display/sdkdoc/Developer+Guide#DeveloperGuide-71EnablingDevelopmentModeonyourbox developer guide]. Once in developer mode, you can navigate to a web console on the Roku device. It allows you to upload the test application ZIP, as well as use other utilities such as making screen shots and creating packages.

You can attach the BrightScript debugger to the Roku device and watch debug output, as well as debug the code. There is detailed information on using the debugger in the Roku developer docs.

Packaging and Uploading

In order to upload the application to the Roku store, you need to take the bundled ZIP file:

  • Push it to a Roku device
  • Use the web console to create a downloadable package

<more to come>