Tuesday, March 19, 2013

FireFox OS - Another Mobile Operating System

When I was at the Android Developer's Conference in San Fransisco last December, I attended a presentation about HTML5 and Mozilla's initiatives in defining the requirements.  The presenter showed us a phone whose UI was HTML5.

Maybe I'm easily impressed, but I loved it!  What simplicity!

If you've read other posts, you know that I really like PhoneGap as a cross-platform tool for creating great phone apps from HTML5.  Well, FireFox OS removes that additional layer.

Firefox OS is a part of the Boot 2 Gecko project.  Gecko is the open source layout engine used by Firefox.

As of now, I don't think you can buy a FFOS phone in the US, but I could be wrong.  The Mozilla docs describe how to flash a phone so you can get it running with FFOS.  I won't get into that.  What I will talk about is how to get a simulator running so you can see basically what the UI looks like.  All of my instructions are based on using Ubuntu 12.04 as my OS.

Before I start, I'll tell you that I got it working first time, then I deleted everything, did it again, screwed it up, deleted again, redid and now it's working. 

Here are the steps that worked for me:


  1. Grab the nightly build from here. I grabbed the b2g-18.0.multi.linux-i686.tar.bz2 version, but this is really OS dependent.  I read that there are some issues with the Linux 64 bit version.  I'm running on 32 bit, so 64 bit wasn't an option for me.
  2. After downloading, I extracted everything to a folder and ran ./b2g.  (Woohoo! It worked!)
  3.  Next, I forked the gaia repository on GitHub. (If you don't have a GitHub account, you can download the repo as a Zip file)
  4. I cloned the repo to my local drive.
  5. I ran "DEBUG=1 build" from my command line.
After several minutes, I got a message  "Profile Ready: please run [b2g|firefox] -profile /home/rich/dev/gaia/gaia/profile"

This message is a little misleading because if you run ./b2g, it is already aware of your new profile directory:
rich@ubuntu:~/dev/gaia/b2g$ ./b2g
Starting b2g-bin
Running: /home/rich/dev/gaia/b2g/b2g-bin -profile /home/rich/dev/gaia/b2g/gaia/profile


Now, if you followed these steps and the stars aligned in your favor, you'll see the same screen as above!

You can browse through the code of the apps that come with the giai repository.  My next step will be to write a simple app and deploy it to my new fake phone.

Have fun!

One more thing.  It looks like the Spanish company Geeksphone will be releasing a phone running on the Firefox OS. There are a couple of Indian companies as well.

Is there room on the market place for yet another phone OS?  I'm not sure.  Android dominates the market place right now, followed by Apple. Microsoft is a big player. People I know who have the MS phones either love them or hate them.

What I find appealing about the Firefox OS phones is the openness of the software and the simplicity of writing apps.

Oh, well, that was 3 more things. 

You can also read this article here: http://alpheussoftware.com/?p=19