The ZTE Open Firefox OS Phone

A short while ago I was lucky enough to bag a ZTE Open smartphone, during it’s initial, limited release on ebay. To the uninitiated, it’s one of the first phones available running on Mozilla’s Firefox OS platform – a new community-based mobile OS primarily aimed at low-end handsets and developing markets. What makes Firefox OS different to other mobile operating systems is that everything – right down the the UI of the OS itself – is written in HTML5 & JavaScript, running inside Mozilla’s Gecko rendering engine.

I’m not going to talk about the handset or operating system too much in this post, as fairly detailed accounts can be found elsewhere – I’m more interested in the opportunities that devices like this present.

Unboxing

The first thing one notices upon unboxing and powering up a phone like this, is that the hardware is cheap. But then again, we are talking about a phone which retails for £60 including accessories, delivery and a 4GB micro SD card. The handset feels very plastic-y in the hand, the screen appears to be at least 1mm below the touchable surface – which doesn’t do much for accuracy, particularly when typing – the camera is awful, and it’s not compatible with TRRS headphones (if you’re not sure what this means, then most modern headphones – including Apple’s trademark white earbuds – are TRRS).

As a young OS, Firefox OS has it’s share of problems too – slightly laggy UI, browser windows locking up, poorly implemented momentum scrolling, the odd random crash or two and a seeming inability to run more than two applications at once (on this device at least, with its meagre 256MB of RAM). However, since Firefox OS is an open source, community-based OS then at least there’s opportunities for users to contribute towards fixing these problems, unlike most other OSes.

Taken as a whole, I don’t want to be too harsh on it though: overall it’s quite decent to use once you get used to it, and considering its low price it’s good value for money.

Firefox OS ZTE Open

Application Development

One of Firefox OS’s strengths is that making simple applications is extremely easy: it’s literally a matter of building a hosted responsive web application, with an added manifest file containing a few details. This is then submitted to the Firefox Marketplace, and you can submit them as Firefox desktop & Android apps too. So far I’ve built two small applications, the first of which is called Band Name Generator and can be found here (or here on Firefox Marketplace, if you want to install it to your device).

Band Name GeneratorIt’s but a step away from a Hello World in terms of complexity, but it was pleasing to get it up and running so quickly. Submission was an easy process (note, it currently states on submission that apps will take two days to be approved, but both of mine were approved within 8 hours), and for someone who’s never submitted anything to anyone’s app store before, it’s pretty exciting stuff. I’ve had great feedback too: 300+ unique users so far, some great reactions from acquaintances plus it was suggested that I hook it up to the MusicBrainz database in order to see if anyone actually uses any of the names generated. I’ve had around 10 Firefox OS installs too – small numbers perhaps, but not bad in my opinion for a “pointless” first app by some unknown guy. By the way, it’s on Github for anyone who wants to look over the code or fork their own version.

Join FourI have a pretty keen interest in games, and one problem I noticed with the ZTE Open was that every game I’ve tried on the device is absolutely hideous – jerky, broken, borderline unplayable crap, and that’s just the stuff which worked! Hence, my second app – approved very recently – is Join Four, a simple, mobile-optimised Connect Four game for one or two players (play it here, or grab it from Firefox marketplace here). I picked a very simple game for a reason, as I wanted to test if it were possible to build games for the device which run smoothly and fluidly. For the most part, Join Four seems to run at 60FPS (if you make moves unrealistically quickly in two player mode it seems to “jam up” a bit though, but being pretty rough in terms of code there’s possibly scope to optimise things a bit). So long as you use CSS3 animation, you’ll reap the benefits of hardware acceleration and produce something nice and smooth, not just on the ZTE Open but on other devices too! (You can find the Join Four code on GitHub, if you want to experience the horror for yourself).

Further Opportunities

I’ve recently been thinking a little about mobile games which aren’t merely played on & within a device’s screen in the same way that traditional console/handheld games have always been played, but which could also involve interaction with their surroundings or the individuals present in some way. A couple of very basic examples of what I mean could be a game where a device is tossed around a group of people (when caught, you have to press a button to stop it from “exploding” before chucking it to the next person, causing a mad scramble when it inevitably gets dropped), or a Hide & Seek variant where someone has to find a hidden device which emits a noise if not found in time.

A great real-world example of a game like this is the recent Send Me To Heaven, which involves players throwing their phones as high into the air as they possibly can. This has allegedly led to people smashing their phones when they fail to catch it on the way down (in fact, it’s claimed that Apple banned the game from their app store due to it “encouraging behaviour that could result in damage to the user’s device”). It’s safe to say that most sane people would never play a game like this, yet I don’t think many would want their personal, precious device to be used for tamer examples of these games either. I certainly wouldn’t: I’d worry someone might accidentally see messages intended for my eyes only, whilst I’m also terrified of my phone being lost, stolen or damaged.

This is where super-cheap yet fully functional devices like the ZTE Open could come into their own. Since they’re cheap enough to not require a second mortgage to replace, they’re a much better candidate for use in games such as those mentioned above. They’re also less likely to be someone’s primary, personal phone (in these parts of the world, anyway) – I haven’t even got a SIM in mine, and neither do I use it for email as the keyboard is such a fiddle to type on. Like the game-changing Raspberry Pi – which last year was used to take photos from the edge of space – there’s probably lots of games, experiments and hacks which suddenly become feasible when the device required to carry them out is cheap enough to warrant the risk of breakage. Maybe I might come up with a few weird ideas of my own over the coming weeks and months…

tweet me your thoughts