Mozilla Unveils $33 Intex Cloud FX Smartphone
blogs.wsj.com
blogs.wsj.com
Firefox OS apps are just html pages in a zip file, so all you need to create one is a text editor and a browser. In fact, Firefox will soon include an IDE[2], so you don't even need a text editor anymore. I think that will have a massive impact on how many developers will make apps for Firefox OS, especially local developing world apps.
If you only have non-administrator access to a computer in an internet cafe or some other shared computer, you can probably still develop Firefox OS apps since it may already have Firefox installed. Additionally, there's millions of tutorials online about web development, many of which are very beginner friendly and in multiple languages.
This extremely low barrier to entry will allow local communities to easily make apps that cater to just their local needs. Want to know where the best location to get water is? Want to know which farms in the area are hiring? Want to see the local mayor's latest scandalous photo? These all can be coded in a weekend at the local internet cafe.
EDIT: Also, where can I buy one?
[1] - http://portableapps.com/apps/internet/firefox_portable
[2] - http://portableapps.com/apps/internet/firefox_portable/test#...
i.e. connect up your Flame to a HDMI display via MHL and attach a mouse and keyboard through a powered usb hub.
No desktop required!
There is, has been, and will continue to be a veritable mini-industry of everything from http://textit.in/ to https://en.wikipedia.org/wiki/M-Pesa . In many senses developing nations are actually ahead of the curve, especially when it comes to mobile banking.
FFOS is a solution in search of problems, unfortunately those are problems which already have better solutions.
"FFOS is a solution in search of problems, unfortunately those are problems which already have better solutions."
I have to disagree. Firefox OS offers many things that are important and needed right now, lets pick some stuff that is not served elsewhere:
* A platform that is developed in the open and accepts contribution. Firefox OS is the ONLY MOBILE OPERATING SYSTEM where all the source code is open including our built-in apps and services. Its not only available but its constructed in public with people being able to contribute and see what is being done.
* A platform that doesn't limit your freedom. You're free to build and distribute your apps without walled gardens. You don't need to pay to place an app on Firefox Marketplace.
* A platform that embraces the web which is one of the major achievements of the internet. Instead of the "you can't do this with HTML5" we're fixing the web platform so that you can have apps that work equally between platforms. It means that apps will be able to work on the web, desktop, mobile regardless of OS as vendors implement the WebAPIs.
* A platform where HTML5 is a first-class citizen.
The claim that the development of Firefox OS is somehow more "open" is very suspect. Even if the source code is publicly available, and outside contributions may be accepted, Mozilla is still going to act as a gatekeeper, which inherently limits which contributions will or will not make it into Firefox OS. That doesn't strike me as being any more "open" than the development of Android or iOS is. A contribution to Firefox OS is a suggestion at best, but one that can be unilaterally disregarded by Mozilla without any sort of consequence to Mozilla. That's no different than making a suggestion to Google about Android, or to Apple about iOS.
The recent tendency of Mozilla to force totally unwanted changes (like Australis) upon Firefox users, even after very vocal objections to such changes, further makes me skeptical about how much openness there truly is when it comes to their products. Any objections, suggestions, feedback or contributions that aren't compatible with the direction that Mozilla has already decided to take appear to be ignored. "Openness" means that non-Mozilla parties can actively influence the development and future of Firefox OS. Merely being able to provide non-binding feedback or suggestions, even if in the form of code, is not really openness.
Likewise, the claim that Firefox OS "doesn't limit your freedom" is suspect, too. How can that claim be made when developers are pretty much forced into using HTML5, CSS and JavaScript to build apps? I don't consider myself to have "freedom" if, as as developer, I'm forced into using JavaScript or some half-baked "transpiler" that attempts (usually poorly) to target JavaScript.
It's also odd to claim that these apps will somehow be portable to other platforms, especially if they're using APIs that only Firefox OS currently supports. Even if there have been efforts to standardize these APIs, the fact that they aren't widely implemented by other browsers or platforms renders them as proprietary to Firefox OS, in practice, at least for some time. A standard that exists but isn't widely implemented probably shouldn't be considered a standard.
And the "HTML5 is a first-class citizen" distinction seems quite irrelevant in practice, as well. If the same apps will supposedly work on other platforms, either natively or with the help of something like Cordova, then they're just as "first-class" there as they are on Firefox OS.
So as you can see, the arguments you gave are theoretical at best, and some of them don't even appear to hold true in reality.
> That's no different than making a suggestion to Google about Android, or to Apple about iOS.
I believe you are wrong. There is a substantial difference between being able to send a suggestion to Google or Apple, or even being able to write a patch against an open source subset of Android codebase released months after the phone release, and being able to fork Gaia repo, patch it, and submit a pull request.
I've been helping volunteers go through their first patches for weeks now and it works great! They have helped me clean up the code base for Firefox 2.1 in many ways.
They now submitted their first patches and are skilled to start working on more complex problems and suggest features.
You are right, that that doesn't mean that anyone can submit any random feature and get his/her PR merged. That would result in chaos. But they can suggest features, work with module/app owners, and write the new features for the platform. They can participate in decision making process, weekly calls, daily meetings and day-to-day IRC conversations because it's all open and in public.
In the end, if things go wrong, they can fork the platform and start working on a fork. You may respond - hey, Android has it with CyanogenMod! If that was your first thought, please read about struggles CM has with Google or read arstechnica article of how someone tried to use Android without Google services.
Android sources are only partially open and are released many months after product release. Firefox OS sources are available for hacking from day 0 of work, many months before the product is ready. (for example: if you fork github gaia repo, you'll have the code that will land as Firefox OS 2.1. Current stable version is 1.3).
> The recent tendency of Mozilla to force totally unwanted changes (like Australis) upon Firefox users
Did you read the studies and feedback analysis or are you extrapolating your own sentiment onto majority of users?
> "Openness" means that non-Mozilla parties can actively influence the development and future of Firefox OS.
That's exactly what is going on with the project right now. Many external contributors, both individual volunteers, and companies, are involved in the development process of Firefox OS.
> Likewise, the claim that Firefox OS "doesn't limit your freedom" is suspect, too. How can that claim be made when developers are pretty much forced into using HTML5, CSS and JavaScript to build apps?
That's a fallacy. Freedom in question is referring to the freedom of the user to choose how he wants to use his device, not to programming languages that are supported on the platform. It's like saying "roads does not give me freedom if I have to drive my car on them and can't use them with my submarine of choice".
> A standard that exists but isn't widely implemented probably shouldn't be considered a standard.
You are right. I believe that it's just an oversimplification.
But the sole fact that all API's created in the process are on the standardization path is a major push toward empowering web technologies to be fully capable of handling more advanced applications and systems and does set a precedence. We will soon live in the world where HTML+DOM+JS will be enough to write operating systems and apps that will work on multiple platforms. That's the opposite of vendor lock in that major platforms are leveraging.
You are seriously saying that Mozilla's openness is no better than iOS's? That's one of the more ridiculous anti-Mozilla statements you've come up with over the years.
Even the Linux kernel has submodule maintainers, and Linus himself, who will need to approve your changes.
Your other option is to fork, apply your changes, and then use your custom-baked FirefoxOS on your phone.
> Likewise, the claim that Firefox OS "doesn't limit your freedom" is suspect, too.
It respects your freedom (see: http://www.gnu.org/philosophy/free-sw.html) which means that you're free to add support for programming additional languages, if you like. Your additions may never make it into FirefoxOS core, but that doesn't mean your phone can't have those additions.
> And the "HTML5 is a first-class citizen" distinction seems quite irrelevant in practice, as well.
No it doesn't. Think about your argument in terms of natural languages. There are countries where English, French, Spanish are the official languages. There are also countries, where these languages may be spoken, but they're not official.
Not entirely true, your drivers are still closed source.
> A platform that doesn't limit your freedom. You're free to build and distribute your apps without walled gardens. You don't need to pay to place an app on Firefox Marketplace.
The same is true of Android.
> A platform where HTML5 is a first-class citizen.
I would argue that's a bad thing. I'm overjoyed at all the lovely native mobile APIs and apps out there. Few APIs are as bad as the web ones.
>The same is true of Android.
This is a small nitpick, but you do need to pay a one-time $15 fee to become a developer to have your app listed in the store. Beyond that publication is free, though.
For someone who is trying to get into mobile app development for Firefox OS, what would the recommended phone be? I know where to get Android and iOS phones (and also know which ones are best), what about Firefox OS ones - which ones are good and where can I get one of them? (preferably from EU)
http://timesofindia.indiatimes.com/tech/mobiles/First-impres...
http://gadgets.ndtv.com/mobiles/reviews/intex-cloud-fx-india...
GSM, Camera, Wi-Fi, Micro-USB, Bluetooth, FM radio in a $33 device with a screen and 128MB memory?!?!
"The phone needs constant connectivity to the internet, which could be a downer."
Indeed. Especially due to: (1) affordability of data to the targeted segment (2) choked networks (I'm looking at you, Mumbai) (3) non-existent networks (4) weird 'in country' roaming that bundles don't transfer across, sometimes even within states (Mumbai, Pune)
I've lived in India for a few years, and travelled in relatively rural local trains during the morning commute. There are lots of cheap Chinese Androids and some Samsungs too. The connectivity was intermittent and lots of people like doing stuff on their phones on the train, especially the more tech-inclined folks.
This misconception that "using web technologies" == "you need network access" is hard to correct unfortunately.
That specifically refers to the Everything.me powered web search, all the core functionality of the phone works and behaves as you would expect it to offline
And in the current versions of firefox OS, the Everything.me integration has been reworked to provide a better offline experience.
For me that was like a crazy version of Google, where Ads and crap content were more prominently shown than interesting stuff - just without the ability to have AdBlock in place. Everything.me was (see above, I could turn it off) the single absolute 'Cannot bear to use this system' feature. It's horrible. Take the last paragraph, imagine bad things and it is probably worse.
(I'm outing myself as a Fx OS fan elsewhere [1], I own a Flame, I want that platform to succeed. But if things are crap .. I kinda feel that it's worth mentioning that)
Some apps are offline, some are only online, many are both. This is just like other popular smartphone platforms.
Might as well they migrate to an open hackable platform - Two apps that really need to come pre-installed - WhatsApp & RedBus. I have been stunned when a village lady asked me if my phone had the bus schedule (the last time I was visiting). A 10 minute conversation with her changed my perspective significantly from the Silicon Valley bubble that I am usually surrounded by...
- a mail client that works well (and that includes at least push/imap idle support and SHOULD, in the RFC sense, include server side searches)
- a client for xmpp
Note that there are some apps for the latter use case, but those are either broken, incomplete, or use bosh to talk to a random untrusted server elsewhere which _then_ connects to the server you want to use.
I might be able to forgive the lack of (decent, usable) xmpp support, but at the moment the limited mail client is the feature that keeps my Flame on my desk. A smart phone without emails is .. a tough sell, if you have a working solution on another platform. Even if you WANT to make the switch.
This is the biggest missing feature by Mozilla, and it really shows their lack of understanding of how mobile apps work.
> - a mail client that works well (and that includes at least push/imap idle support and SHOULD, in the RFC sense, include server side searches)
> - a client for xmpp
These are the times I wish Mozilla would have Thunderbird rise from the ashes (hint: like Phoenix, that ultimately became Firefox) and develop it directly.
While I want Mozilla to succeed, I would like it much better if it spent some time and money on Thunderbird both on the desktop and mobile platforms. If there were a "Support Thunderbird" donation campaign, I would even support it monetarily.
Tried their higher tier services - they work great. But I don't need them. So I've been paying $0 in phone service for a few months now.
It is only limited by Sprint's 3G coverage, and if its available you use the 4G instead. They even have a nice $70 a year unlimited minutes and messages plan (same 500mb of data - I don't think their data rates are competitive at all imo, but then again no phone companies data rates are competitive unless you had exactly 7 people on a tmobile plan).
This is after trying out Tracfone, Republic Wireless, and Ting. It is really hard to argue paying monthly if you don't have to.
Free is brilliant if there is a viable business model to make it pay.
A year later, they were still going, so I gave it a shot. I don't regret it. If the floor falls out, every sane MVNO in the US is Sprint based anyway and I can move my phone to any of them.
EDIT: Added that roaming onto Verizon is no cost for Ting.
Edit: and a battery and a case...
Here in Uruguay, one of the carriers, Movistar, heavily marketed the Firefox OS phone, and quite a few non-techies bought them (including coworkers), and were VERY dissapointed when they found out it was very limited compared to similarly priced Android phones (one BIG disappointment was the lack of WhatsApp, a deal-breaker in my country).
Edit: it seems that "ConnectA2, a WhatsApp client, comes bundled with the phone". Good point :)
Firefox OS needs to be able to combat the network effect of Android and iOS, or it will fail. Windows Phone already suffers from the same.
http://firefoxosguide.com/firefox-os/firefox-os-accounted-30...
>WSJD: What is your revenue model? And what is your target?
Hsu: Mozilla is a nonprofit organization. We do need revenue for sure. For now our revenue is mainly from the desktop. We work with a lot of web content search engines and all the service providers; we have a revenue sharing model with them.
We are targeting to see if we can reach one percent market share (of smartphones), and that’ll be a good beginning. We don’t know when but that’s our goal.
But it just doesn't answer my question. I can't see how a $33 phone can be profitable, unless they expect to make more money after the sale.
Also did some googling, yes FireFoxOS is based on AOSP, or at least its a dependency in the build.
https://developer.mozilla.org/en-US/Firefox_OS/Building_and_...
They also used associated tools like fastboot and adb.
Either way, I'll be buying one when it goes up on ebay.
More information can be found on the Tarako[1] info page at MDN. I saw the finished device (I have a dev version here with an old build) last week in Oslo and was surprised that it worked that well. Panning the homescreen had no jank and opening and closing apps was fairly fast.
Really it means that any time you fall off the well optimized paths you're going to notice it more. It mean being more careful with how the app are designed and which feature they use.
Of course content that really pushes the throughput like canvas games will be slower. But in those cases the browser's rendering pipeline (layout, style, visibility, display list) isn't running so you minimize the overhead there.
If you are not into spending the time compiling there is a very solid build on xda[1]. I needed to apply a font fix[2] when I tested it, so keep that in mind if your fonts look strange.
I'm curious about which things you felt "scraped by". I definitely felt that on my original ZTE Open, and I immediately updated my Open C to 2.1 so I'm not sure if 1.3 is the difference there.
One of the toughest things for this phone, in my opinion, is going to be websites that use a lot of memory.
[1] http://forum.xda-developers.com/firefox-os/general/zte-c-2-1... [2] https://developer.mozilla.org/en-US/Firefox_OS/Developer_pho...
(I'm increasingly convinced we need cheap and thus single-purpose devices for security. Even if we theoretically could build multi-compartment systems, user error often compromises them.)
Have a dozen servers?
Well you could have a phone display for each one.
But I guess at that scale you could just buy a 4k monitor and some kind of pc to power it too.
Edit: took a few minutes but I've found the phone on Mozilla's website: https://www.mozilla.org/en-US/firefox/os/devices/#intex_clou...
Also found their news blog which has nothing since February.
https://blog.mozilla.org/blog/2014/08/25/first-firefox-os-sm...
The phone is for sale on snapdeal.com but I am not sure that it's available outside of India right now.
I would have wanted it to have GPS on board and it hasn't, so it's not for me anyway. Still too bad it's not available outside of India. I don't think it would take off like the Raspberry Pi but it would make a super cheap phone with decent capabilities to tinker with, or just to use as a secondary when you go to places where an expensive phone isn't safe. For this price you only get feature phones here, nothing with a modern OS.
While this is a laudable product and price point, it is only a partial success. What people don't realize is that in these markets internet is prohibitively expensive for many people when accessed over cellular networks. This means people have to use wifi, which is typically sporadic, shared and unrealiable.
Cheap smartphones in the really developing parts of the world will be revolutionary precisely when they have real ad-hoc and mesh networking over wifi and code that is built to take advantage: thus making distribution of content and applications far more seemless for the sporadically poorly connected masses, censorship impossible, news distribution democratic and non state-issued digital currencies viable. Imagine if someone can close-enough hack the identity problem (eg. using a signup delay, public/private keys, time (proof of work), rough geolocation, and unique email address as a mix) then political polls can be made this way.
I don't think this is a pipe dream, because people in a lot of these areas do have shared, extremely pressing social concerns. Sexism (~50% of people), hatred for the corrupt local institutions (~95% of people), that sort of thing.
Think of the Chinese child being run over video effect... meets ad-hoc virtually unmonitorable wifi meets irrefutable evidence of official corruption. Look at for instance the status of women in parts of south India, it's extremely oppressive. I think we're going to see riots, political change, new social models emerge as a result of the true application of these devices... but not just yet, because the features are missing!
Apple and Google will probably never prioritize these features. Unfortunately, Firefox OS has not prioritized them either.* This is saddening. The door is open for motivated hacking!
Exactly! We are very interested in privacy, mesh networks, etc. (look for instance at the tor integration done by a moz employee on his free time at https://github.com/OrFoxOS)
But we have limited resources, and to be successful and get enough leverage we have to balance features that are market driven with our dream pipeline. Ultimately this is a good thing, because a purely hacker driven phone would probably not be the best one either ;)
edit: It doesn't look like they do, and it appears to be exclusive to snapdeal.
If someone wants to build and market a phone to the US, they could do that. The OS is open source so they could do it with or without Mozilla involvement, even.
This device does seem deficient in (at least) two respects though - a 2MP camera and the absence of 3G. So I don't see non-enthusiasts from other countries really flocking to this one (or the other one from Spice launching tomorrow).
P.S.: I'm in India and could send a few across, although I have no idea how much it would cost to ship, the shipping duration, reliability of delivery, insurance costs, etc. Overall, worldwide shipping from one country to another at a personal level is somewhat painful.
We’re out to make a difference, not a profit. When you choose Firefox OS, you’re helping build a brighter future for the Web and users everywhere.
And elsewhere...
Built entirely using HTML5 and other open Web standards, Firefox OS is free from the rules and restrictions of existing proprietary platforms.
This claim is deeply suspect.
Therefore total required resources is the OS+WM+browser+background apps (phone etc). In Firefox OS, the OS+WM+browser heavily share resources, allowing significant resource saving.
Moreover, correct me if I am wrong, but data structures such as xml/sgml/xhtml tend to require a lot of memory (or a lot of cpu throughput to convert to simpler data structures).
Android is barely usable on these devices. Firefox OS run really well.
But of course I'm biaised, I spent a bit too much time on this project ;)
And worst of all (or best?) is that it seems we are moving towards this thing where Mono and Qt are also on phones, meaning you have two parallel stacks - one interpreter and one big ass shared library or another interpreter - running at once.
Yes, while you can build a kernel+libc+binary code application that is pretty lean, that means that your kernel plus graphics stack need to handle both that type of application, as well as a web browser and related content.
In some cases, having to handle just one of those opens up optimization opportunities, either in the kernel, libc, or the graphics stack. If you can run only native binaries using a single graphics method, that might be overall leanest, but every phone needs a browser these days. So the only other option to have a single thing to optimize for is to make the only stack the web stack.
Then, whatever is optimal for the browser in terms of handling GPU textures, as one example, you can just do, because nothing else needs to run as well.
kernel + libc + luajit == *ahem*Correct, but likewise there's no good reason for (linux + android hal + web) to require /less/ ram than (linux + android hal + dalvik and java toolkit).
Even if we accept the claim that most of the time on Android you have both dalvik and webkit loaded at once, whereas on B2G you only have gecko running, claiming that this necessarily means that B2G uses less memory is akin to claiming that
x + y > z
for arbitrary values of x, y, and z, which is obviously silly.
But I don't need to tell you that this claim that B2G uses less memory by design was a major frustration to me back when I owned B2G memory usage. :) If FFOS is small, it's because you and I and others worked really hard to make it so.
Is anyone really surprised that Java is not so good for interactive applications? It's never been in first place for that type of app.
If anything, Applets is still to an extent responsible for a lot of the negative opinions of Java's performance and suitability for interactive applications.
Also, doing things in separate threads means that scheduling of tasks also causes pauses in execution.
Umm, JavaScript and DOM/HTML have the exact same problem except it's magnified by the fact that the language is much more complex to JIT compile (statically typed bytecode vs dynamic/weak typed source code) and the GC has to deal with managed/native interop in the DOM. And not to mention the cost of inefficient DOM interfaces and silly data structures/native types in JS.
>Also, doing things in separate threads means that scheduling of tasks also causes pauses in execution.
Yea, on the order of milliseconds at worst. Unless we're talking about real time software like games which need to execute a simulation iteration 30-60 times per second (and JS is much worse for this than Java for the reasons mentioned) delays in a reasonably well implemented UI app shouldn't matter and JIT startup time can be avoided by AOT (which is much simpler for static typed languages)
First run time is important, and interpreters are faster in this case. Also, JavaScript can execute as it is downloaded. I can load a whole UI, and complete my task before the JVM has loaded the code.
Also, at least Firefox does AOT on JavaScript now. This is how I load and start executing 1.2MB of JavaScript in 50ms in the app I'm currently producing.
ART AOT is on-install and that can even be changed to something like Mono AOT which is offline (you're essentially distributing precompiled native code along with IL) giving you the best of both worlds.
>Also, at least Firefox does AOT on JavaScript now
AFAIK this is only ASM.JS code, AOT compiling dynamically typed code would be questionable - maybe to avoid initial parsing costs but then you hit all of the problems of AOT (longer load time, need whole code) without the main benefit (performance gain).
If you had a $30k work station with 8 times the ram of a high end PC at the time they weren't too bad.
It's just that Java (and to lesser extend Object C) is such a resource hog. The future are apps written in C/C++, Go, Rust, Julia, Swift or JS (FirefoxOS).
As someone pointed out above, JavaScript is more memory efficient (first order function, etc.).
In Java, all objects need to have at least one additional field so that they can be used for synchronization. Most JS engines, on the other hand, support tagging (floats/doubles/ints are stored unboxed).
In Java, everything needs to be statically typed, and every object needs a class. If you want to make a first-class function, you need a classfile, a class, and an actual full-blown object for that function. In JavaScript (and other languages supporting first-class functions), closures can be optimized and represented by a single "closure" class, which has an existential type (the tuple of types of closed-over variables) and which is guaranteed to be correct (sound) by construction.
Modern JIT engines work very very well for the majority of "nice" (strict) dynamically-typed code. Where you lose is (1) numerics (where Java sucks as well, no vectorization - JavaScript is probably better here, with WebGL) and (2) non-polymorphic function calls (which are quite rare in Java as well). For polymorphic functions, polymorphic inline caches perform very well, probably not much worse than virtual/interface calls.
this isn't wholly true as of java 8. dynamic invocation is used to implement the new lambda facility.
one source with many links: http://www.takipiblog.com/compiling-lambda-expressions-scala...
[1] https://blog.mozilla.org/luke/2014/01/14/asm-js-aot-compilat...
In 2014 ? That doesn't seem useful.