Very exciting. In my view, Firefox Mobile OS has a much better chance of gaining broad adoption than Windows Phone, Blackberry, Symbian, Tizen, and all other non-Android, non-iOS platforms, because its native applications are built with HTML5 and related technologies that have already been embraced by developers worldwide.
From users' perspective, virtually the entire universe of existing HTML5 applications that work on small screens will be native apps for the platform -- from day one.
To anyone who finds this platform compelling and wants to help it to succeed: You can help by writing cross-browser mobile web apps, or by making sure your existing web sites and apps work well in Firefox as well as other browsers. Right now a huge number of mobile sites (including high-profile ones like Google!) use browser-specific code.
And if you are interesting in writing web apps specifically for the B2G platform, check out the new web APIs being proposed and implemented in B2G, and give us feedback on any that you use in your app: https://wiki.mozilla.org/WebAPI
I wish you guys would reconsider your position on mp3 support. We'd love to support mobile Firefox, but without html5 mp3 support, or flash support, that'll be a non-starter until Firefox OS has massive traction, enough to justify the cost of transcoding millions of files and maintaining 2 copies.
Edit: if you're going to down vote please explain why
Yes, there are plans (though not without some controversy) to include H.264 and MP3 decoding at least in B2G (Firefox OS), and possibly on other platforms where they are available from the OS:
I didn't down vote but I guess some readers disagree with your comment. iOS doesn't support flash for some years now. So if firefox OS does too, it doesn't look much like an up hill path.
Ah, to be clear I was asking for MP3 support or flash support, not both (flash support would indirectly mean MP3 support). Essentially to be on par with mobile Safari on the audio front is all I'm really asking. :)
If you want to start testing the Apis you can flash B2G on to a nexus S very easily today. There will be nightly builds available for download soon too if you don't have a build environment set up
A Nexus One? Really? https://developer.mozilla.org/en/Mozilla/Boot_to_Gecko/Setti... suggests that only Nexus S, Galaxy S2, and the Galaxy Nexus are listed. There's also a note that "only devices running Android 4 (aka Ice Cream Sandwich) are supported," where the Nexus One is stuck at Gingerbread.
If this has changed, I'm really, really excited. :)
It's still using Android graphics stack, so it's not that exciting. Tizen at least uses X.org with plans to use Wayland which is the way forward. I hope Mozilla will find vendors to use Wayland for B2G as well. I.e. Android graphics stack (when it's the only option) prevents device from being hackable, i.e. for porting other distros on it (Mer/PlasmaActive, Nemo etc.). Tizen devices with X.org/Wayland drivers will be better in that regard.
On the contrary this is the smartest thing they could have done. GPU h/w acceleration on mobile devices isn't optional
any more and rather than getting mired in the 'real soon now' world of Linux graphics they can get on with the job of producing real and usable devices.
I'm not saying that what they did isn't useful at all. I said it's not exciting, since these upcoming devices will be again Android (compatible) only. Rather boring, but it's not Mozilla's fault, but manufacturers'. They don't produce open specs for their hardware, and don't provide X.org/Wayland drivers either.
We really don't use the Android graphics stack. We use the drivers in the kernel, and we use the gralloc stuff, but that's about it. Everything else is Gecko's own renderer.
(I work on the gfx pipeline for B2G)
Edit: Oh yea, and we use Android's libegl wrapper stuff. Not that it matters, but just in the interest of correctness.
I was primarily referring to the drivers architecture (which is incompatible and useless for X.org and Wayland). I mean in practice, Firefox OS targeted devices won't have X.org/Wayland GPU drivers, only Android ones. It's not important for immediate goals of Mozilla, since squeezing regular Linux graphic drivers from vendors is a horror. But it doesn't help other distros (like Mer/PlasmaActive and etc.), if they decide to make ports to these devices. It may be not Mozilla's primary goal to promote conventional mobile Linux, but in practice these devices won't help that cause (at least for now), so I feel like they won't be enough of "open devices" in that sense.
On the other hand, if X.org/Wayland based devices will appear (like upcoming Mer/Vivaldi tablet), Mozilla can enable B2G to run on them as well, since they'll provide sufficient support for OpenGL ES.
Parenthetically, Google Chrome already has an alpha-quality port to Wayland whereas to my knowledge Mozilla has made no commitment to support Wayland, and no one has started porting Firefox to Wayland.
I may be wrong, but I seem to remember that Tizen HTML5 applications do not use standard HTML5 but rather a non-standard extension. This means that HTML5-for-Tizen applications do not work on, say, an iPhone or an Android device.
By opposition, every application on Firefox OS is based on either standard HTML5 or currently-being-standardized extensions. This means that Firefox OS apps should be cross-platforms.
bergie: my understanding is that Tizen exposes a non-standard mish-mash API and framework (partly based on Tizen's predecessors, Meego and Moblin) to developers -- an approach that isn't really comparable to Mozilla's approach of booting straight into the browser engine, giving developers a fully open, standard browser environment.
In the case of webOS, I am sure: this is not actual HTML 5 but a very specific SDK/framework designed for writing applications specifically for webOS, not for other platforms or the web.
In effect, this means that webOS has almost all the drawbacks of working with HTML5 (no static analysis, performance often difficult to predict, etc.) but none of the benefits (cross-platform, ability to use CoffeeScript or GWT or OCaml or any other language that compiles to JS).
By opposition, Firefox OS apps are cross-platform, can be developed with any tool, etc.
edit Yes, it is possible to write apps using standard HTML5 for WebOS. What is impossible is to write apps using standard HTML5 for WebOS that take any advantage of WebOS (sending SMS, receiving phone calls, etc.). By opposition to Firefox OS, in which even SMS, phone calls, etc. are based on open standards.
Enyo, the framework used for webOS apps seems to now advertise cross-platform support: http://enyojs.com/
Now available for desktop and cross-browser development
- Enyo 2.0 now runs across mobile environments and desktop browsers including Chrome, Firefox, and Internet Explorer
Not only that, but Firefox is a de-facto standard. The HTML extensions adopted by the Firefox Mobile OS team will be not just open, but also widely used from day one -- they will be present in all desktop, tablet, and mobile editions of Firefox across all hardware and OS platforms in which the browser is available.
While these APIs can arguably make some sense on a desktop browser, I get your point that not all capabilities can be cross-platform.
What I was pointing out is that EnyoJS or WebOS or Tizen (afaik) do not make any effort at such portability. Sending a SMS makes as much sense on a WebOS-based device as on an iPhone, an Android smartphone or any other platform. This is one of the key differences between initiatives such as WebOS, Windows 8 or, to a lesser extent, Chrome OS on one side and Firefox OS on the other side. While these OSes offer the features of HTML 5 and some proprietary, non-standardized, non-portable extensions APIs for taking advantage of platform-specific capabilities, Firefox + Firefox OS push to make these capabilities
1/ accessible on all platforms where they makes sense;
2/ standardized so that other browser or os vendors can implement them as they see fit.
The difference is subtle but meaningful. This is the difference between "come and program for my silo platform" and "come and program on everybody's web platform".
Vibration, nothing. Dialing a number or sending an SMS would be sent of to external apps (like Skype), or if none are installed, fail with an error message.
I guess that Vibration webAPI could be implemented on a desktop user agent to activate the vibration of a connected playstation joystick for example, but maybe that's a different API…
> ...but a very specific SDK/framework designed for writing applications specifically for webOS, not for other platforms or the web.
That is incorrect. Apps written for webOS that use the EnyoJS framework are currently seen running on iOS, RIM (Playbook), Android, and even in the Chrome web browser.
Again, correct me if I am wrong, but i believe that these applications cannot send or receive SMS, phone calls, VideoConf calls, using the WebOS APIs on the devices that you describe.
In other words, while EnyoJS may be cross-platform, it represents only a small fraction of the features of WebOS.
But it is still an open source cross-platform HTML5/Javascript based platform. Of course it will not enable you to, for example, send an SMS via an app running in a Chrome web browser, but I would have thought that was a given for any such platform.
From users' perspective, virtually the entire universe of existing HTML5 applications that work on small screens will be native apps for the platform -- from day one.