So on Saturday the 26th of January, Wellington was host to a Mozilla-sponsored Firefox OS Dev Day. Spend a day, meet some other local developers, meet the Firefox people. See the OS, write a cool app.
It’s the first time I ever looked at Boot2Gecko, and before I attended the Dev Day, I had not considered anything about the Open Web.
But, fewer locked-in app stores? Less vendor control over my device, and what I do with it? Easier access to replaceable technologies? These are all great things.
Mozilla definitely delivered with the OS, for App Day. The simulator is extremely easy to get started with, and the basics of declaring an application manifest and injecting into the simulator are wonderfully quick.
The entire ideal of “This is HTML5!” is elegantly handled, as well. Anything you already know is easy to get going with.
Additionally, Firefox for Android supports much of what B2G will, making it remarkably easy to test on a hardware platform, once the simulator has been outgrown. For instance, I was remarkably impressed with the ease of getting data from the camera while using Firefox Android.
The Less Good
Unfortunately, except for the two live sessions at the Dev Day, the morning introduction to Boot2Gecko was remarkably unpleasant.
We were subjected to poorly recited marketing speak obviously directed towards industry executives, likely meant to encourage partnership with Mozilla. The videos were obviously unrehearsed and read from a prompt card.
There weren’t any t-shirts in womens’ sizes. This is part for the course for tech events, but it’s still painful to encounter yet again.
Much of the detail around Firefox OS’s App Store is very reminscent of Apple’s control, as well. “Anyone can provide”-style webapps, exactly what you’d get in Mobile Safari, are extremely limited in their capabilities, lacking access to much of the phone hardware.
To get access to APIs and phone hardware, your application needs to be signed. Not a bad thing by any means, but the process of a third party providing signing services wasn’t covered. Directed questions on the certificate signing process were met with “I don’t know”; not reassuring when moments ago we had been told how easy it would be to start our own application store.
Even more frustrating was the lack of insight into how to access the phone or SMS APIs; according to the presentation videos, only applications shipped as part of the ROM will have that access.
Open Web initiative components were equally frustrating. For example, accessing the on-device camera through Firefox Android required using an
<input type='file'> tag. Not a big deal, but this tag forced rendering of a file path input box, and my HTML skills were insufficient to disable that input box.
The security model of the browser also seemed to prevent triggering the input dialogs programmatically, requiring a user to tap Browse, or focus the input box, to get the camera to spawn. Much googling was unable to show a working solution.
Since the camera difficulties were Firefox for Android, it’s not safe to assume that real hardware will be remotely similar.
Finally, documentation on the capabilities of FFOS was rudimentary at best. It was a struggle against extremely limited details on how to access phone capabilities, what APIs were available, and how I would use them.
My truly biggest complaint about Mozilla and Boot2Gecko was that they didn’t give me a reason to care; the insultingly bad videos, the poor docs, all of these things really sap my interest.
In fact, it took Sir Tim Berners-Lee talking in New Zealand on January 30th to give me compelling reasons why I should care, why I do care about the Open Web.
I think Mozilla might be preaching quite strongly to the choir; Open Web advocates, existing OSS developers with the time and inclination to dig for documentation. People whose passions have already brought them within reach.
Without Sir Tim’s talk, the context from an external party, I could have easily been driven away by the difficulties I encountered.
Based on that difficulty, I think Mozilla/Boot2Gecko should make advocacy in terms of why the Open Web matters, for people who’ve not really considered that it might. Telling us what matters, why it matters, why our contributions are of such great value.
Teaching us about the technical details of the Store functionality? So much of that is irrelevant at this stage, and did not work to sell anything to me.
In the End
Getting the Open Web back is important to me now, and I believe these are the paths to achieve that goal.