Original URL: http://www.theregister.co.uk/2013/06/03/my_month_with_firefox_os/

Firefox OS: Go away fanbois, fandroids - you wouldn't understand

Repeat after me: developers, developers, developers, developers...

By Scott Gilbertson

Posted in Phones, 3rd June 2013 10:16 GMT

Hands-on The Western world's smartphone market has devolved into a duopoly of Apple's iOS and Google's Android. In the rest of the world, however, the mobile story has yet to be written... and this is where Mozilla hopes users will embrace its mobile operating system, Firefox OS.

The browser-maker wants Firefox OS to be the gateway drug to the wider Mozilla software platform for the web's next billion users.

Firefox OS simulators have been available for developers for some time, but it wasn't until recently that hardware sanctioned by Mozilla was available for testing. The first actual devices running Firefox OS are two "developer" phones from Spanish manufacturer Geeksphone - the Keon and the Peak.

Keon: It's not an iPhone replacement, but it's bloody good for €100

While it's fun to play with the Keon, it's not the hardware that’s special - it's Firefox OS. After living with the Keon for more than a month, I can safely say Mozilla's vision of a web-based mobile future isn't just appealing, it feels inevitable.

There are some rough edges, though. Firefox OS is definitely not the new and shiny you've been looking for, rather it's the new and quietly revolutionary. The Keon as is comes pretty close to offering everything you'd need in a mobile device, but it's still not likely to tempt iOS or Android fans to switch. And that's just fine with Mozilla. The target market for Firefox OS isn't current iOS or Android users, it's the rest of the world - people who don't yet have a mobile internet device at all.

But before Firefox OS takes the currently-not-connected world by storm, it first has to get developers interested, hence the Keon phone.

Photo of the Keon Firefox OS phone from Geeksphone

Compare Apples and oranges ... the Firefox OS mobe Keon

The Keon is a solidly built piece of hardware with decent, though not great, specs and a screen that looks nearly identical to the iPhone 3G/GS.

The Keon has a 3.5-inch HVGA screen, 1GHz single-core processor, 512MB RAM, 3MP camera and 1,580mAh battery with up to a day's battery life. By contrast, the more recent iPhone - the 5 - packs a 4-inch screen, 1.2GHz dual-core chip, 1GB memory, 8MP rear and 1.2MP front camera, and allows up to eight hours of usage on the battery.

In short, the Keon's not going to wow gadget enthusiasts but it's about what you'd expect from a €100 (approximately) device: a good phone with a few compromises to make it affordable. However, it's a perfectly capable phone for developers who need to test their apps.

And it is developers, not end users, that Mozilla wants for Firefox OS right now because, after all, the Firefox OS simulator will only gets you so far. Some things, like apps that take advantage of the accelerometer or user location, really need to be tested in the real world, which is what developers can do with the Keon.

The thing about familiar tools is you know what to do with them

Developers can make or break a platform but Mozilla has a distinct advantage over other platforms trying to break into the iOS-Android duopoly: the web.

Firefox OS apps are built using the same basic toolkit you'd use to build any website: HTML, CSS and JavaScript. It's tempting to say if you can built a webpage you can build a Firefox OS app. Technically that's true: any webpage can be installed as a Firefox OS app even if its author has never heard of Firefox OS, but to take advantage of the unique attributes of a mobile device you'll need to go a little beyond a simple webpage.

Perhaps not everyone who can build a webpage can build a Firefox OS app, but anyone who can build a webpage is about 80 per cent of the way to building a Firefox OS app. Add in a few extra bits of JavaScript, take advantage of HTML5 offline storage (so your app works even without a mobile connection) and then you've got a web app that can be packaged up and downloaded just like a traditional mobile app.

Most of the apps that ship with Firefox OS use this model, including the Nokia maps app which will load up just fine without a connection, though of course - like its counterparts on Android and iOS - it can't load any map data without some sort of link to the internet. But if the words "web apps" scare you, don't worry: what Mozilla calls "packaged apps" behave, from a user point of view, just like an application on your iPhone.

Firefox OS is the best showcase I've seen for the old argument that web apps can compete with native apps. Here everything feels native and yet everything feels like the web. In fact I often would forget whether I was looking at Twitter in the Twitter app or using the web browser - the rendering is all done by Firefox so it looks the same. That's not to say there aren't some pain points. To stick with the Twitter example, part of the reason I would use both the app and the mobile site in the browser is that the app doesn't support multiple accounts.

And that's where Firefox OS just might have an ace up its sleeve: there are far, far more people out there who know how to build web apps than there are that can write C or C++ apps for other platforms. And the overwhelming demand for the Keon and Peak is a good indicator there are a lot of interested developers - the initial supply of both phones sold out in a matter of hours.

The web-developer angle is self evident

Using familiar web tools doesn't just mean more developers to build apps, it also allows Firefox OS to avoid the sort of device fragmentation that currently plagues Android.

As Mozilla developer evangelist Christian Heilmann emphasised when I spoke to him about Firefox OS: "You don't build to the hardware, you build to HTML5."

Firefox OS, then, becomes the bridge between the HTML/CSS/JavaScript-based apps and the phone's hardware.

How much hardware access your app receives depends on what sort of app it is. There are three different types of apps: web apps, which don't have access to lower-level APIs; privileged apps, which have access to more sensitive APIs and must be approved by Mozilla; and certified apps, which are limited to those from Mozilla and partners.

However different Mozilla's approach may be at the operating system and developer levels, many aspects of Firefox OS will have app developers feeling right at home - like the Firefox Marketplace app store, which offers the same sort of benefits found in the iOS App Store or Google Play. That is, your customers have access to a dead simple payment system for apps that need it (billing is handled by the carrier), apps are vetted and updates are automatic.

There's one big difference though between Mozilla's App Store and the app stores you're used to: developers aren't compelled to use it. Developers can distribute apps through the store, through their own websites or through any other store build with Mozilla's open-source tools.

Despite the fact that the Keon is aimed at developers it's impossible to use it for any length of time without forming some opinions from a user point of view. While the hardware is uninspiring it never failed me. I dropped in a SIM card and had no trouble making calls, using location-based apps or any of the other features key to mobile apps, including camera, microphone, accelerometer and so on.

Calls were crisp and no one I talk to on a regular basis noticed any difference from the Samsung Nexus I normally use. The battery managed to just barely meet its claim of "all-day", though this definitely isn't a phone you can forget to charge for a few days. The rubberised back is comfortable in your hand and does a nice job of padding against the accidental drop. The camera takes mediocre photos compared to high-end phones, but again that's to be expected in a budget phone aimed at developers.

But if the Keon isn't the best hardware around, well, that's part of the plan. Mozilla's first developer phone has low-end hardware in part so developers can afford it, but the auxiliary benefit is that it forces developers to build apps which run smoothly on underpowered hardware (meaning they'll run even better on more powerful consumer devices).

To answer the question you're already thinking: no, Mozilla doesn't plan to support Firefox OS as an operating system you install on any phone. That doesn't mean you can't hack Firefox OS onto a phone. I managed it on a Nexus 4, others have had success with Sony devices and Firefox OS has turned up on Raspberry Pis.

The problem is that to create that bridge between web app and hardware, Firefox OS needs to talk to device drivers and very few phone manufacturers offer up the inner workings of their drivers. In short, it's possible to install Firefox OS on other devices, but it's not something Mozilla currently supports – and nor is it likely to need to.

Mozilla has already lined up hardware and carrier partnerships around the world, including the US which is home ground for the iPhone-Android duopoly and where Sprint is now working to bring some sort of Firefox OS phone to the market.

Ironically, Mozilla's open web-based vision for mobile devices dovetails with the less open vision Apple’s co-founder and former chief executive Steve Jobs outlined for the iPhone. Jobs gave up on the idea of open, but Heilmann acknowledged there is overlap. "Apple has talked up HTML5," he says "but it doesn't offer the hardware access developers need to actually build HTML5 apps." Firefox OS does offer that access and Mozilla hopes that will help Firefox OS gain a foothold where many have already failed.

At least that's the idea. After using the Keon for a month I can say I hope that Mozilla's model succeeds because it simplifies things, both for developers and consumers.

Developers could win because the web offers the best hope yet for creating the fabled build-once and run-everywhere world. Consumers could win because it lower barriers to entry, which means more developers participate, and that in turn that means there are more cool apps to try.

Even if Firefox OS isn't the vehicle that wins this race, it seems unlikely that whichever mobile OS does will be all that different from the desktop. Thus far, it seems that old maxim is right: the web always wins in the end. ®