A few days ago, I received my Geeksphone keon (you might have heard on my Twitter account), a Firefox OS developer preview, and I'd like to share random thoughts about it here. It might be useful for HTML5 developers still wondering what a Firefox OS phone is like.
If you don't know what Firefox OS is, here is Mozilla's official page. In short, Firefox OS is an operating system aimed for cheap phones, which is entirely based on HTML5.
- First of all, I'd like to say that I have a very good overall impression of the phone. Keep in mind Firefox OS phones cost about 70€ only (about ). At this price, you can't expect something as good as a popular Android device or iPhone, but still, you will get a good phone. I'm going to point out several drawbacks on the phone, but I still like it.
- When reading people talking about their Firefox OS phone, I was thinking that it would be a very slow phone, especially since it's based on HTML5. Well, I was very surprised, because performance is quite decent. I've tried most of my games, and they run at about 30 FPS (frames per second), while they are at about 60 FPS on a Galaxy S3. So it's slower, but still fast enough for me. I didn't even feel a low framerate when trying my games. I won't have to remove effects to optimize them for Firefox OS, which is great. What's more, I was told that the actual phones will be as fast, if not faster.
- I noticed there were serious issues with multitouch. I tried Radiation, and noticed it was nearly impossible to walk and jump or shoot at the same time. I also tried Biolab disaster, and I had the same problem. Though, Slime Volley works very well. I honestly don't know how to fix this, but I think that Mozilla should work on it. I wouldn't rely too much on multitouch for my games until a fix has been found.
- Another issue is the lack of a physical back button. When you run an app with fullscreen,
if you click on an external link that doesn't open in a new window, you won't be able to come back to the app,
unless you manually close it. Therefore, apps which contain this kind of links are rejected. This includes apps
using Google Adsense. Since it's illegal to change the way ads are served, many developers were blocked. App reviewers
no longer reject apps, because there is no fix (yet), but this is only a temporary solution.
I'd personnaly like Firefox OS to handle external links like iOS fullscreen apps, or PhoneGap: when a link from another domain name is opened, it opens a new window. I hope they will at least add an option for this.
- One minor issue is the lack of the navigator.standalone variable. This variable is implemented by iOS, and enables us to know if the app can be added to the home screen as a fullscreen app, and to know if fullscreen is actually on.
- The validation process on the marketplace is excellent. I don't have much experience with Google Play, or any other app store, but reviewers are really nice and will help you get your apps accepted. I've experienced several rejections which were clearly explained to me, and it was easy to reach the reviewer on IRC to find a solution. What's more, they are way faster than they used to be: you will have to wait less than a day to get a review, compared to the 2-3 weeks required when I published Radiation (a few months ago).
- Publishing is easy. First, because the marketplace is very easy to work with. All you
have to do is to upload an app manifest, and then add information and images. Nothing more.
Also, when publishing my games to the Firefox Marketplace, I made zero changes. Absolutely nothing had to be changed or optimized. They were working like they do on Android's Firefox. Therefore, adding existing apps takes very little time. If you published your games on Clay.io, it will be even easier, since they do all the work for you.
I hope this article will help HTML5 developers to work with Firefox OS. I would really recommend supporting the project.