Matchstick Brings Firefox OS to Your HDTV: Be the First to get a Developer Stick

The first HDMI streaming stick powered by Firefox OS has arrived. It’s called Matchstick and we’re looking for your help to create apps for this new device.

Background

Matchstick stems from a group of coders that spent way too much time mired in the guts of platforms such as Boot to Gecko, XBMC, and Boxee. When Google introduced Chromecast we were excited about the possibilities but ultimately were disappointed when they pulled back on the device’s ultimate promise – any content on any HD screen, anywhere, anytime.

We decided to make something better and more open, and to accomplish this we had to choose an operating system that would become the bedrock for the adaptable and open-sourced platform that is Matchstick. That platform is Firefox OS, which allows us to build the first streaming stick free of any walled garden ecosystem.

Matchstick and Firefox OS combined offers a totally open platform (both software and hardware), that lets developers explore content and applications from video to games, and bring it right into the living room. That’s right Developers! An open SDK means you can build out your own personalized streaming and interactive experiences without the need for approval or review.

Apps for Matchsticks

We have opened up a full developer site with access to everything you need to begin working with Matchstick. Support for Firefox OS will be available at launch, and we look forward to adding TV applications to the Firefox OS Marketplace. For now, we have included a full API library, of sender apps with support for Android and iOS, as well as receiver apps that are compatible with the Matchstick Receiver.

When we say Apps for Matchsticks, we mean both sender and receiver apps. You can use the sender APIs to enable your Firefox OS, Android or iOS device to discover a Matchstick device, then communicate with your receiver app. It’s not difficult to embed sender APIs into existing apps or create new sender apps, please refer to the sample code we have included with the SDK.

Matchstick sender apps typically follow this execution flow:

  1. Scan for Matchstick
    The sender app searches for Matchstick devices residing in the same Wi-Fi network as the sender device. The scanning reveals a friendly display name, model and manufacturer, icon, and the device’s IP address. Presented with a list, a user may then select a target device from all those discovered.
  2. Connect to Matchstick
    We support both TLS and NON-TLS communication between sender and receiver.
  3. Launch Receiver App
    The sender initiates a negotiation with the target device, launching a receiver app either with the URL of a HTML5 receiver app, or even a Chromecast App ID.
  4. Establish Message Channels
    With the receiver app now launched, Matchstick establishes message channels between the sender and receiver. In addition to a media control channel common to all Matchstick and Chromecast apps, you may establish any number of application-specific channels to convey whatever customized data that your app might require.

The receiver app is a combination of HTML5, CSS and Javascript, loaded into a “receiver container” which is a certified app of Firefox OS. To use the Matchstick receiver APIs, you need only include fling_receiver.js in your app.

Here is an example of a simple video receiver app:

<!DOCTYPE html>
<html>
    <head>
     <title>Example simplest receiver</title>
     <meta charset="UTF-8">
     <!--(need) include matchstick receiver sdk-->
     <script src="//fling.matchstick.tv/sdk/libs/receiver/2.0.0/fling_receiver.js"></script>
    </head>
    <body>
     <!--(need) Give a video tag-->
     <video id="media"></video>
     <script>
         // (need) Get video element
         window.mediaElement = document.getElementById("media");
         // (need) For media applications, override/provide any event listeners on the MediaManager.
         window.mediaManager = new fling.receiver.MediaManager(window.mediaElement);
 
         // (need) Get and hold the provided instance of the FlingReceiverManager.
         // Override/provide any event listeners on the FlingReceiverManager.
         window.flingReceiverManager = fling.receiver.FlingReceiverManager.getInstance();
 
         // (need) Call start on the FlingReceiverManager to indicate the receiver application is ready to receive messages.
         window.flingReceiverManager.start();
     </script>
    </body>
</html>

Matchsticks for Apps

Rather than relying on emulators, we want to be sure developers can get their hands on Matchstick prototypes and start coding without delay. As a result, we are inviting app developers who will commit to building and porting apps for Firefox OS on Matchstick to apply for a free developer-preview device through our Matchsticks for Apps program.

Similar to the phones-for-apps program launched by Mozilla, our Matchsticks for Apps program is aimed at developers who have built apps for Firefox OS, Chrome, Android, iOS …. Even for Chromecast! Let’s bring those visions to the big screen.

image

Developer (pre-production) version of Matchstick (pic by Christian Heilmann)

We are now looking for good ideas, video content, new channels, as well as games, tools, utilities, pictures, even skins for the UI. If you have a plan to build apps or do something for Matchstick, please share your plan and we’ll send you a stick so you can start coding ASAP.

Who Should Apply:

  • Those interested in building apps on a big screen TV
  • Those with existing Web or mobile apps, who would like to expand to the big screen
  • HDMI dongle developers, who want to build their own Matchstick
  • Chromecast developers, who want to port their apps to an open platform
  • You!

Matchstick workshop in November

On Tuesday, November 18th, we plan to host an invitation-only Firefox OS App Workshop for Matchstick in the Mozilla office in San Francisco. The enrollment form is open and we are accepting applications from qualified developers.

Apply now for the San Francisco workshop!

If you don’t live near San Francisco, don’t worry! We plan to offer several other app workshops in the near future and we’ll announce them here, of course!

Happy Hacking!

About Shawn Bow

Shawn Bow graduated from the Beijing University of Communication. He has been working on Embedded Systems software development for ten years, and worked for several technology companies including Motorola and Marvell. He began Android development in 2007 where he worked on China Open Mobile System development for three years, and then Android tablet and TV products for four years. In 2014, he joined the Matchstick team. He can be contacted at shawn.bow@matchstick.tv

More articles by Shawn Bow…

About Robert Nyman [Editor emeritus]

Technical Evangelist & Editor of Mozilla Hacks. Gives talks & blogs about HTML5, JavaScript & the Open Web. Robert is a strong believer in HTML5 and the Open Web and has been working since 1999 with Front End development for the web - in Sweden and in New York City. He regularly also blogs at http://robertnyman.com and loves to travel and meet people.

More articles by Robert Nyman [Editor emeritus]…


40 comments

  1. Accelerate!

    Sounds nice (as a consumer) and I can’t wait to see all its capabilities. The only wish I have for Mozilla as a whole is to accelerate all your work. I can’t wait to see a good phone with Firefox OS (not just cheap underpowered phones that are available in some places) and also start using Matchstick (whatever it may end up providing with developers’ help). :)

    While working on stuff like this, please also look at getting these things available worldwide.

    September 30th, 2014 at 08:29

    1. Kumar McMillan

      Have you looked at the Firefox OS reference device? https://developer.mozilla.org/en-US/Firefox_OS/Developer_phone_guide/Flame The specs aren’t too bad. I only use it for development but it’s pretty snappy.

      September 30th, 2014 at 09:51

      1. Fawad Hassan

        Although I have Keon but I would like to know that buying Flame help Mozilla financially? If yes, then I would love to buy one.

        October 2nd, 2014 at 09:41

        1. Kumar McMillan

          I’m not sure if Mozilla receives profits from sales but I’ll say that the Flame is *way* nicer to use than the Keon in many ways. It’s a better developer device too because it lets you use all device APIs.

          October 2nd, 2014 at 09:52

        2. Robert Nyman [Editor]

          Buying the Flame should be about getting a nicer and more versatile device for you as a developer. It is being sold by a 3rd party so it’s not Mozilla selling it.

          October 2nd, 2014 at 10:05

  2. Ben

    Please provide a way to follow this in an easy way.

    I’m _very_ much interested in one of these, mostly to replace/expand my openelec/xbmc and subsonic setup here. But while I’m a developer (w/ a Flame as well, for example), I have no idea what I’d do with these things for the general public, so I cannot apply for the developer device.

    Give me a way to subscribe to Matchstick related news so that I can get my hands on one of these things when they are available on the market, please?

    September 30th, 2014 at 09:36

    1. Shawn Bow

      Ben –

      Why not follow us on Twitter for the latest?

      https://twitter.com/MatchStickTV

      With Matchstick, you can build interesting and highly engaging and interactive video, music or game applications to allow a user to control the big screen (TV) from a small screen (mobile). Matchstick is not just for streaming content to your TV.

      We encourage you to apply through our Matchsticks For Apps program anyway to try get a free dongle and to start experimenting!

      Hack on!

      October 1st, 2014 at 13:54

  3. Pete Dixon

    I’m still not clear on how this would work.

    I use a Linux distro and would be primarily be interested in watching downloaded video and browsing the Internet using Chrome. Will this be possible using MatchStick?

    September 30th, 2014 at 09:39

    1. Shawn Bow

      Hi Pete!

      The Matchstick sender app currently does not support Linux (we only support iOS and Android, with Firefox OS coming soon). Thank you for your suggestion – we will evaluate whether we can support it in the future. Please continue to follow the news on our website matchstick.tv or on Twitter for the latest!

      https://twitter.com/MatchStickTV

      October 1st, 2014 at 15:58

  4. Hobart

    From the Kickstarter page, the computer Matchstick is going to build is based around a Rockchip 3066 SoC.

    Will this require any proprietary blob to function / use video, like the various Broadcom (Videocore in Raspberry Pi) / Marvell SoC chips do?

    If so, it’s not actually Free/Open hardware, because that mystery embedded RTOS can do anything to my system at any time. If Mozilla and/or Matchstick are working with Rockchip (or whomever Rockchip licenses their cores from) to fully document the toolchain, I’d be delighted.

    I don’t just want a free Linux driver, I want the full documented toolchain for everything on the chip – the way Qualcomm/Atheros documented their WiFi chip to earn the Free Software Foundation’s “Respects Your Freedom” endorsement. ( http://www.fsf.org/resources/hw/endorsement/respects-your-freedom )

    September 30th, 2014 at 09:46

    1. Shawn Bow

      Hey Hobart!

      We do not have rights to the Rockchip proprietary information and therefore will not be able to access it. We agree that would be awesome to have that kind of insight / access. We are looking into that! Maybe V2?

      October 1st, 2014 at 16:05

  5. Bernd

    Will the device allow the end user to have root access or at least install alternative firmware images?

    September 30th, 2014 at 09:49

    1. Shawn Bow

      Bernd-

      Definitely, Matchstick allows you to have root access and you can install alternative firmware images. The firmware flash tool is available on our website matchstick.tv

      October 1st, 2014 at 16:09

  6. Hobart

    The Rockchip 3066 used in Matchstick’s device appears to use ARM’s proprietary Mali T-series graphics. This is NOT freedom respecting hardware, the code in there could do anything to your system at any time.

    Quote from the dev lead on the Mali graphics:

    “I really do understand your frustration and I’m sorry that this makes life harder for you and similar developers. We are genuinely not against Open Source, as I hope I’ve tried to explain. I myself spent a long time working on the Linux kernel in the past and I wish I could give you a simple answer. Unfortunately, it is a genuinely complex problem, with a lot of trade-offs and judgements to be made as well as economic and legal issues. Ultimately I cannot easily reduce this to an answer here, and probably not to one that will satisfy you. Rest assured that you are not being ignored. However, as a relatively small company with a business model that is Partner driven, the resources that we have, need to be applied to projects in ways that meet Partner requirements.”—(2014-09) ARM Still Not Doing Open Drivers

    September 30th, 2014 at 10:05

  7. Rodrigo Moreno

    I would love to organize a Workshop in Mexcio City, I can get the place and would be very happy to share and expand knowledge of HTML5.

    September 30th, 2014 at 13:18

    1. Shawn Bow

      Thank you for your comment. We should collaborate with Mozilla to see if we could put something together in Mexico City! Meanwhile, Matchstick and Mozilla will jointly hold a Developer Conference on Nov 18 in San Francisco. Love to see you there either in person or via video-

      October 1st, 2014 at 16:10

      1. Rodrigo Moreno

        Of course I’ll be there via video because it would be impossible to go in person. And of course I really hope to bring a workshop to the city because every time I find more people interested in the topic.

        October 1st, 2014 at 18:50

  8. Doug Reeder

    I hope you are able to harmonize your efforts with the Connect SDK people: http://connectsdk.com/

    As an app developer, I can develop against the Connect SDK and my app will work with roughly half of the devices out there. Also supporting your API is a nontrivial amount of work to support an install base that is currently zero.

    September 30th, 2014 at 13:37

    1. voracity

      Great idea. Mozilla did this for mobiles (PhoneGap/Cordova), so I assume they’ll try to get this to happen for Matchstick, assuming Connect SDK is a good fit.

      September 30th, 2014 at 21:06

      1. Shawn Bow

        Thank you for your suggestion. We will review the Connect SDK. It is actually pretty straightforward to use our API so hopefully that helps!

        October 1st, 2014 at 16:12

        1. Vincent

          more generally a Matchstick cordova plugin would be interesting

          October 2nd, 2014 at 02:32

          1. Kumar McMillan

            I second that! There is already at least one chromecast plugin https://github.com/GetVideostream/cordova-chromecast And also considerable work on support for Firefox OS in cordova: https://github.com/apache/cordova-firefoxos

            October 2nd, 2014 at 09:57

  9. Parth Lawate

    We would love to organise a Workshop in Pune, India.. I am sure we will have lots of Geeks around here interested !

    October 1st, 2014 at 10:26

    1. Shawn Bow

      Parth –

      Sounds cool enough! Maybe a video conference is in order? =)

      October 1st, 2014 at 16:13

      1. Parth Lawate

        Sure maybe with a Hackathon to complement it ?

        October 1st, 2014 at 18:14

  10. Shawn Bow

    UPDATE! We will be removing the EULA later tonight! Chalk it up to inexperience, but we heard you loud and clear. Please check in again after tonight… =)

    October 1st, 2014 at 16:22

  11. Shawn Bow

    UPDATE! As promised, we have made changes to the EULA. Please take the time to review and re-engage – thank you so much!

    October 2nd, 2014 at 01:38

  12. Martin Lasak

    Nice project, congrats!

    Since the HW-Spec is available I was just wondering if there is a way to flash the matchstick images to some rk3066 based hdmi stick already available to the market?

    In fact, i’ve flashed the matchstick images to the minix neo g4 device but it stucks on booting showing the animated fox ;)

    Any hints on debugging? And any hope getting those millions of available rockchip devices to work with matchstick?

    Thanks!

    October 2nd, 2014 at 03:49

    1. Martin Lasak

      Ok, managed to flash the matchstick images to a “pov hdmi smart tv” device. Boots smoothly, but now we’re stuck at the Setup screen.

      So, how to connect to the WiFi-AP ? I’ve connected Mouse/Keyboard to the stick but see no way to edit the network settings. The screen shows a Code like MatchStickXXXX but i’m not that far i guess. Is there any magic to apply (config file on sd card)?

      Is there an in-depth documentation already available? And where is the source code?

      Thanks!

      October 2nd, 2014 at 06:44

  13. Bruce Lenihan

    Who is currently producig the HDMI dongle? My company, Comsis, based in Paris has developed an IP that allows streaming video with guaranteed quality of service over 802.11n WiFi. The IC being taped-out and will be available mid-2015 and this is the exact application we’re targeting. We’re looking for an OEM to produce the HDMI dongle. If there’s someone who’s done it already, we’ll work with them….no sense in reinventing the wheel.

    October 3rd, 2014 at 00:31

  14. Patrick H. Lauke

    Maybe I’m missing something, but the registration form for the “Matchstick for Apps” developer preview programme seems to only be geared towards devs who already have an existing app. There is a “I have an existing HTML5 app that I will port to Firefox OS for Matchstick *” field with only a “Yes” radio button…so no way to submit a request if there isn’t an existing app yet?

    October 3rd, 2014 at 05:16

    1. Robert Nyman [Editor]

      Yes, I believe they want existing HTML5 apps to be ported in the first step.

      October 3rd, 2014 at 05:19

      1. Patrick H. Lauke

        So the “Who should apply? * You” bullet point in this article isn’t quite right. Also, why have that option and a single radio button in the form then? hmm…

        October 3rd, 2014 at 05:20

        1. Robert Nyman [Editor]

          Well, I believe the thinking is that “You” in the article here is to emphasize the items listed above it. For the form, you need to ask the Matchstick people, but I believe it’s there to make it more clear that people accept that term, than just listing it connected to an asterisk below.

          October 3rd, 2014 at 05:54

  15. Michael

    I would love to buy the Matchstick but I have one question. It would be possible to share contents via Miracast,I mean, does the Matchstick have Wifi Direct?

    I’ve looked in the developers documentation and I see that it uses DIAL, but what if I want to send contents from my smartphone, or mirroring it to a TV and I don’t have an internet connection?

    This is the only thing that keeps me away from buying it.

    October 9th, 2014 at 00:58

  16. Hayato.K

    I applied for this program on October 6.
    However, the reply has not come yet.
    When will you give me your answer?

    October 17th, 2014 at 01:24

    1. Robert Nyman [Editor]

      I believe Matchstick are still going through the applications, and that they will get back to you as soon as they know.

      October 17th, 2014 at 01:32

      1. Hayato.K

        Noted with thanks.

        October 17th, 2014 at 08:13

  17. victor

    Hi guys just a quick question I had applied with my app when this thread was made but didn’t get any emails do I need to re submit my app?

    Thank you very much!

    October 24th, 2014 at 22:50

  18. Max

    As Pete Dixon said, it would be great Linux support to watch videos from there!

    October 27th, 2014 at 15:59

Comments are closed for this article.