The benefits you list for Firefox OS may not apply to iOS, but they do apply to Android, too. I can install apps on my Android phone without using any app store, for instance. I can freely write my own Android apps, and distribute them myself, without having to pay anyone or get permission to do so. I don't have to upgrade to a newer version of Android if I don't want to.
If I can already get all of that with Android, and so much more (such as decent performance, the ability to develop apps in languages other than JavaScript, access to a huge number of existing applications, and so on), what is it that should be compelling me to use Firefox OS instead?
Furthermore, various incidents since the release of Firefox 4 have also shaken my trust in Mozilla. Time and time again, we've seen decisions made with very limited community input, and apparently little regard to the impact that they'll have. I'm talking about how the approach to releases was changed in a way that broke extensions time and time again, for a long time. I'm talking about how the status bar has been removed, and the menu bar was hidden by default. I'm talking about how the protocol isn't shown in the URL bar. I'm talking about the latest incident from today, where the preferences dialog option for disabling JavaScript will apparently be removed in Firefox 23.
Incidents like those make me very skeptical of the "openness" claims we hear time and time again with respect to Firefox OS.
All of those decisions were made with quite a bit of community input. The people who claim they were not are the people who disagreed with them.
Firefox had to be switched to a faster release model to keep pace with Chrome. That's what competition does. Firefox adapted and excelled. Some extension developers took a while to catch on and understand the new process. But as there are 6 weeks of time to test each new version and generally extensions don't change unless there is an API change, it's not much of an issue. Any commercial developer that falls down on this is simply irresponsible.
The status bar is there and shows up whenever it needs to (during loading or hovering over a link). There's no need for it to be there the rest of the time. Any old-school extensions that had UI elements in the status bar simply moved to the toolbar.
The protocol is shown in the URL bar whenever it's something besides http (so for ftp, https, chrome, etc). http is redundant as it's assumed. Same reason we don't use it when giving web addresses via other media.
You can still disable JavaScript in the about:config window and using all kinds of extensions to add UI elements if you want a quick toggle. It's being removed since it's not very useful anymore as much of the web requires JavaScript. Lots of developers don't even bother testing sites for when JavaScript is disabled anymore (nor do they really need to as no one disables it except a core group of a couple million geeks and these folks know that if a site breaks, they need to whitelist it in NoScript).
(I won't reply on your remarks regarding Mozilla and UX, as JohnTHaller has done this quite nicely.)
It is true that power users can install apps without going through the Android Play Store. Regular users (i.e. your customers, if you are a developer)? I wouldn't be so sure. That's your first clue that Android is not the pinnacle of mobile OS.
For most users, Android is effectively a silo. Worse than that, it is a silo in which all your otherwise private data belongs to a single company. As a user, this is a pretty big clue to me that Android is not the platform I want for me, or for my children.
As for developing apps in languages other than JavaScript, well, here are "a few" other languages that you can use: https://github.com/jashkenas/coffee-script/wiki/List-of-lang... . This includes C, C++, C#, Python, Java, etc. Heck, even I have developed a language in that list :)
Caveat: I am a Mozillian (and I'll stop writing this at the bottom of my messages, I grow tired of it).
Android is a much worse platform in terms of language choice. There are no production-quality languages that will run on Davlik other than Java and your only other choice is C++ with your own UI.
Yep, JavaScript/web is not a first-class runtime on Android. You must write a Java wrapper application that uses a 3rd party (PhoneGap) framework to get access to most APIs. And IIRC Android web views still use Android Browser, which is terrible.
This "first-class runtime" distinction you mention doesn't really matter much in practice.
In each case there's some variant of Linux, on top of that is a JavaScript and web browser implementation, and on top of that is the application implemented in JavaScript.
The use of something like PhoneGap in the Android case, to package the JavaScript code, markup, styles and to interface with the native browser, is quite peripheral. The majority of end users won't care, as long as the app works.
In the end, the fact remains that developers can use JavaScript to develop apps for Android. But these Android developers also have numerous other options available to them, including Java, C, C++ and C#. This final part is not true for Firefox OS. That inherently means that Android is a much better platform in terms of language support, contrary to what you're suggesting.
Given that the languages that compile to JavaScript include Java, C, C++ and C#, both offers are roughly the same.
Now, on one side, the default language is Java + proprietary APIs. Through the NDK, this can be extended to native stuff and through Cordova/Phonegap, this can be extended to HTML5-ish stuff. On the other side, the default language is JavaScript + portable-but-not-available-everywhere APIs. Through Emscripten, this can be extended to native stuff and through the list I posted earlier, this can be extended to gazillions of languages. While you seem to prefer Java, it really strikes me as roughly equivalent in terms of freedom of choice for the language.
Both platforms are impressively richer than iOS, one defaults to Java, the other to JavaScript, news at 11.
Every Emscripten demo I've seen so far has either not worked, or been horribly slow. As far as I'm concerned, it really isn't a viable option at this point for anything remotely serious. It may be an interesting experimental idea, but it still needs a massive amount of work before it's seriously usable.
In the end, they're merely an abuse of JavaScript, rather than providing proper support like NDK provides for C and C++ under Android, for instance.
Asm.js is still just JavaScript. Emscripten isn't currently production-grade software, and it still just compiles down to JavaScript.
I hope you understand that either of those options is still a case of using JavaScript. Are you seriously disputing that?
We can develop production-grade applications using Java, C, C++, C# and JavaScript for Android. We can only do a very small fraction of that when using Firefox OS. Firefox OS clearly provides far fewer viable options than Android does.
If I can already get all of that with Android, and so much more (such as decent performance, the ability to develop apps in languages other than JavaScript, access to a huge number of existing applications, and so on), what is it that should be compelling me to use Firefox OS instead?
Furthermore, various incidents since the release of Firefox 4 have also shaken my trust in Mozilla. Time and time again, we've seen decisions made with very limited community input, and apparently little regard to the impact that they'll have. I'm talking about how the approach to releases was changed in a way that broke extensions time and time again, for a long time. I'm talking about how the status bar has been removed, and the menu bar was hidden by default. I'm talking about how the protocol isn't shown in the URL bar. I'm talking about the latest incident from today, where the preferences dialog option for disabling JavaScript will apparently be removed in Firefox 23.
Incidents like those make me very skeptical of the "openness" claims we hear time and time again with respect to Firefox OS.