“‘But how is it going to beat Android or iOS?’ That’s the reaction many people have when I tell them that I am working on Firefox OS, the new mobile operating system from Mozilla. It is a logical reaction. After all, we live in times where every major software company and its mother is releasing a mobile platform, struggling to lure developers into their new proprietary environment, APIs, libraries, etc. And indeed, many of these companies barely make it or don’t make it at all. But Firefox OS will not be directly battling against other mobile platforms. Its main objective is to change the way the world develops mobile apps, and even in the unlikely event that Firefox OS itself disappears in the process, if web-apps become mainstream, it will have succeeded.”
I’ve played a bit with Firefox OS last week in FOSDEM and I was quite interested in it, in a strange way. My understanding, like the article states, is that Firefox OS is not meant to compete with Android nor iOS, at least not as a direct competitor. So what niche is it trying to carve? Well, I guess we’ll just have to wait and see, but if it succeeds in giving us a cheap, open device, I’ll buy it for sure.
One thing that was not clear in the article is that Firefox OS can run local web applications, with no need for an permanent Internet connection. For example, the calculator is still a web application, but it’s running on your Firefox OS device, not online.
Oh, I also wanted to state that the Mozilla brand is more than Firefox or Thunderbird. There was a concrete initial objective in the Mozilla project, “freeing the web”, and that did happen. Chrome may have surpassed Firefox in terms of popularity, but I don’t think Chrome would exist without all the previous work done by Mozilla and its users.
Edited 2013-02-11 16:50 UTC
Apps within Firefox OS are webapps. The main launcher is a webapp, the phone app is a webapp, the lockscreen is a webapp… All the functionality is provided via JavaScript libraries that implement open standards. Some of those standards are already in use in browsers (local storage, geolocation, touch API…), and some others are being developed now, like the phone API.
There are 3 key benefits to this:
1.- Easy customization and openness. The HTML, CSS and JS that drives the phone is there. Change it and the functionality changes.
2.- Simplicity. The only thing you need to make a phone that works is to run a web runtime. A web runtime is a complicated program, yes, but it’s *just one* program. This is similar to what Android does, but Firefox OS is much smaller and easier for phone makers.
And the important one:
3.- Freedom. Webapps run everywhere. Right now, everyone of us is tied to a mobile OS. It would hurt me to move away from Android, because I’d lose all the apps I bought. With webapps, I can buy Angry Birds to play it on my Firefox OS phone, then move to Android and keep playing. This is possible because the appropriate runtime is available on Android too (Firefox for Android supports webapps in the same way Firefox OS does, but someday Android will support all the standards required by default). After using Android, I could move to my computer and keep using Firefox OS apps, given I have a browser installed.
The webapp distribution model is similar to Android’s. You can install or buy the apps through an app store, everyone can set up their own store, or you can distribute the app in any other way you want (you can point people to the URL of the app, or you can distribute the folder containing it)
Edited 2013-02-11 18:21 UTC
I love your carbot Zergling avatar btw.
The nomenclature needs work. I think we need to draw a strict line between local apps that just happen to be written in HTML5/CSS/JS/DOM, and apps that are just fancy bookmarks to sites written in HTML5/CSS/JS/DOM.
Oh, yes, I agree completely with your point about benefits of the cross-platform nature of web technologies. As an OS nerd, I’m excited by the prospect that one day hobby OSes will only have to port WebKit/V8 to be able to run everyone’s favourite programs.
Edited 2013-02-11 20:40 UTC
Is that a meaningful line to draw? Where do you put a web app that’s running on an external site, but which caches enough of itself locally that it can run offline?
“Its main objective is to change the way the world develops mobile apps, and even in the unlikely event that Firefox OS itself disappears in the process, if web-apps become mainstream, it will have succeeded.”
Web apps are *already* becoming mainstream, if anything they’re at risk of missing the boat. Sorry to rain on the parade, but Firefox OS will not have been the driving force behind them.
Edit: more competition is definitely a good thing and it might prove to be a good platform, but it’s pretentious to take credit for a movement that’s already been taking place in your absence.
Edited 2013-02-11 16:54 UTC
“In your absence?” Unless you are younger than 8 years old, you must remember the state of the web in 2004, when Firefox first came out. Just compare that to how it is today, and you’ll see that we have come a long way. Thanks to, for example, the guys at Mozilla, who freed us from the clutches of ActiveX and made using standard-complient web apps possible.
In your absence, really.
Savior,
“‘In your absence?’ Unless you are younger than 8 years old, you must remember the state of the web in 2004, when Firefox first came out. Just compare that to how it is today, and you’ll see that we have come a long way. Thanks to, for example, the guys at Mozilla, who freed us from the clutches of ActiveX and made using standard-complient web apps possible.”
That’s all well and good, except it’s out of context and it has nothing to do with this article nor my post. The author was clearly talking about Firefox *OS* and how it would take on Android and iOS. I don’t object to Firefox OS nor the Firefox browser btw, but to say it will be responsible for mainstreaming web apps *is* pretentious.
The Firefox *browser* might deserve some credit too, but it was really apple who took on the proprietary extensions like flash. I don’t believe for a second that apple were being altruistic, but there you go.
“In your absence, really.”
Trust me I was there throughout activex hell.
Where are they mainstream? I have seen a few demos of how a webapp would work but nothing real yet. I am still waiting until websites like gmail and greader become webapps. If you think they are already let me tell you what they are missing:
– works offline
– doesn’t need a special plugin/program/browser
And that is exactly what Firefox OS is promising and what Chrome(OS) still doesn’t do.
As far as I know Gmail and Google Docs already work offline without plugins, but I don’t use them so I’m not completely certain.
Edited 2013-02-11 17:23 UTC
I don’t mean to be snide but why would you correct someone while you don’t use it or even know about it.
Let me correct you, then. Google Docs works offline.
You mean this page? http://support.google.com/drive/bin/answer.py?hl=en&answer=1628467
Nothing there works. Google docs stops working when loosing internet connectivity. Google docs also does not ask to store anything so how it would work offline is a mystery to me.
Your point is perfectly valid.
I used to work with people who used them both extensively. I’m pretty certain that Google Docs work offline because I’ve seen it work myself and, on the other hand, I’ve seen it fail myself. Regarding Gmail, I *think* I recall seeing someone using it offline in a Chromebook, but my memory is a bit fuzzy about it and I don’t know for sure.
That is with a special plugin that you either have to install or Chrome already has it built in. But this is the worst of both worlds: you still have to install a program but it doesn’t work as fast and nice as a real program.
It has to work without extra software in Firefox, Chrome and Opera including the mobile versions. Browsers are now so fast that the only thing that makes them feel slow is the download time of the page. Webapps can take that loading time away for any program that doesn’t need real time information.
That was the old way, using Google Gears. That tool is now deprecated and Google was/is working on a HTML5 solution, with no plugins.
Yeah! When will that be done? You would think Google would be the first one with great offline capable, fast webapps that feel native.
Fergy,
“Where are they mainstream? I have seen a few demos of how a webapp would work but nothing real yet. I am still waiting until websites like gmail and greader become webapps.”
Yes, these are are a couple of the webapps that people have been using instead of local binary counterparts.
“If you think they are already let me tell you what they are missing:
– works offline
– doesn’t need a special plugin/program/browser”
The following link may interest you:
http://www.html5rocks.com/en/features/offline
Though I must say, my personal opinion is that I’d rather improve & standardize the network transparency of local apps with sandboxing/provisioning/updates rather than have to go into the browser to use “local webapps” and loose most of my host OS features.
I think JavaOne was a great model for the convergence between network and local applications, but it may have been too early for it’s time. It’s prospects disintegrated as sun ultimate fell apart.
Everyone and their aunt that pulled out a platform or browser hoped developers would write apps in HTML5. WebOS, Apple, Microsoft. It didn’t catch on. Why should it be different for Firefox OS?
Because most of us old timers have had enough of writing a ton of CSS/JavaScript/HTML hacks to make sites work as requested across all required target browsers.
Write once, hack everywhere is usually my motto in web projects.
Writing native code allows for much fine grain control how the UI works without hacks, even if it may require rewrites of the UI part, while the application kernel is kept the same across OS.
This rings true.
I spent 4 hours tracking down and finding a pure CSS fix for an IE7 rendering bug today, where tbh my time could have been spent elsewhere.
http://blog.jquery.com/2013/01/14/the-state-of-jquery-2013/
They are referring to modern IE rather those that are becoming legacy rather quickly. But the point is quite clear, the jQuery team obviously have to put a lot of resources into making sure that their library works the same across each browser.
Edited 2013-02-11 21:17 UTC
HA! Yeah, people keep touting how HTML5 is going to take over the world, and we see how well that worked for Facebook, they wrote a mobile app in HTML5 that sucked so much ass, they switched to native apps on iOS and Android. I’m not a web developer, but even some of the most BASIC web pages I’ve written for myself to run on phones look completely different on Android, depending on which web browser I’m using (stock, Firefox, Chrome, etc).
I think Firefox OS has identified a real problem – having to code native apps for different platforms is a pain. But I don’t think HTML5 is the right solution. Not to say that there’s a better one right now that I know of, but we should be in pursuit of something better, instead of just going with something that’s half-assed, and hope it won’t suck so much in 5-10 years.
To be fair, sencha wrote the facebook app properly and it worked fine.
http://www.netmagazine.com/news/senchas-html5-remake-facebook-12246…
However write once, run anywhere unfortunately is a myth.
Let me sum up what they had to do to make this happen:
– Implement UI virtualization with a scrolling list
– Used IFrame partitioning to reduce DOM count
– Stopping rendering while scrolling
– Implementing what amounts to a Dispatcher queue in XAML land
Why the hell should developers need to implement this themselves to get reasonable performance out of a mobile app?
The “promise” of mobile apps was reusing existing knowledge, not having to learn to write a bunch of boilerplate that most non-braindead UI platforms do for you already.
Comparing a native stack like XAML to HTML5 is like comparing an internal combustion engine to a stack of pancakes. HTML5 is so primitive its almost offensive that people still consider it a viable app platform.
I wasn’t aware they had to do all that work.
Well then what they did was obviously just postering.
I tried doing my taxes earlier on Linux Mint 14 (Ubuntu 12.10 based) via turbotax.com.
It wouldn’t let me because of my OS/Browser.
Sure changing my user agent string fixed that…. but what the hell is the point of web apps when you artificially limit the platforms they run on?
[edit]: forgot to mention the website I was using
Edited 2013-02-11 20:40 UTC