Firefox: The Next Mobile Platform
ekjeacheblog.com
ekjeacheblog.com
The biggest disappointment is lack of applications. So you can't get notifications for Facebook messages, etc. But that's ok, given that the phone is in a very early stage and Facebook haven't built a proper app for it yet.
There are some bugs which might be slightly annoying at first, but it's ok once you get used to it. The most frustrating one is the text prediction when using the keyboard, because it doesn't learn automatically and I am messaging in 2 languages... But I guess that can be counted as an edge case. The navigation (GPS) works surprisingly well though! Overall, it's worth giving a try especially given it's price.
I am quite excited about it's future. The code is easy to read and should be relatively easy to add new features / modifications yourself. So even if it won't become popular in mainstream (and it's really hard to win user share in the current market), it can be an interesting platform for hacking.
I wrote a bit more about it at http://blog.gedrap.me/blog/2014/10/19/a-month-of-using-firef...
I have the same on Cyanogenmod with the AOSP keyboard (Android's default). It doesn't do next word prediction nor does it seem to learn when I pick a suggestion (it doesn't prioritize it next time), and I'm constantly switching between Dutch and English.
There are plenty of keyboard apps that do this better (even the stock Samsung one was great at this) but the keyboard is a core component that I want to be able to trust. I'm putting up with the annoyances and going for open source here. Not saying that this is the way to go for everyone, but it's not just Firefox OS which has this.
> The navigation (GPS) works surprisingly well though!
Navigation is not synonymous with GPS. Which works well, determining your location or routing to places? If the latter, I'm curious: which map source does it use, Google Maps?
The most frustrating part about FirefoxOS is that if I choose not to autocorrect the word, it doesn't remember that and tries to do the same the next time I am typing it. Yes, I could add all the words manually... But that would take a long long time.
> Navigation is not synonymous with GPS.
Valid point :) both, it's fast to determine the current location when data is enabled, and routing is good too. It's using Here Maps https://www.here.com/ I live in Vilnius (Lithuania) so there are not many (almost none) tall buildings, that probably helps.
On FirefoxOS you don't even have that on most phones, as third-party keyboard apps need FFOS 2.0, which even after half a year still isn't distributed to all existing phones.
It's Android fragmentation all over again, but without backwards compatibility and with a much less capable base system.
I just tried to reply to a text that I got on my Flame (with a pre-paid SIM hosting a number I used for years) and failed, because the keyboard is really, really .. different. It works as a feature phone for me so far, mostly.
More info: https://developer.mozilla.org/en-US/docs/Web/API/ServiceWork...
afaik Firefox OS is also built upon a Linux kernel, so it's a bit misleading ...
Cheap phones for users who don't particularly care, I assume.
> and Play Services and the compatibility libraries only improve that
I haven't yet looked at the developer side of FFOS, but guessing from the store entries of all the apps I cannot install, it doesn't have an equivalent to those.
>Oops! It appears that you have disabled your Javascript. In order for you to see this page as it is meant to appear, we ask that you please re-enable your Javascript!
Talking about Mozilla, the first thing that comes to mind is the Firefox Browser, powered with Gecko Engine, smooth rendering, and fast browsing capabilities. But that’s not all; Mozilla has been spending 15 years in developing what would perhaps become the next generation of smarter phones. Although not as prominent as Android OS or iOS, this would certainly let the ‘low-spec’ world touch the higher hierarchy of the mobile world. Unlike major mobile operating systems, which were designed based on Linux codes, Mozilla created their Firefox Os (project name: Boot to Gecko) on an HTML platform, more precisely HTML 5. Meaning; light weight and cheaper Smart Phones. Basing around HTML 5, Firefox intended to provide an alternative system to mobile devices, so that the applications used by users can directly communicate with the cellphone hardware. Despite aiming for low-budget handsets, Mozilla intends to compete directly with commercially developed operating systems such as Apple's iOS, Google's Android, Microsoft's Windows Phone as well as other community-based open source systems such as Ubuntu Touch.
Considering the world of Internet, only one-third of the entire population has access to Internet or is online. This means that two-third of the world population cannot access to the world-wide-web, either because the connectivity is expensive or else the inability to afford a device that would ensure that accessibility. Even if Internet is made cheaper, the devices that support proper Internet activities aren’t going to be cheaper. And even if a device has been managed, the next issue that arises is the feasibility of a cheap handset towards web applications which are often resource consuming – in terms of available Storage and RAM. To bridge this gap it is essential for a system to exist that can cope up with low-end devices and has the capability to equally render web based features, keeping in mind that neither the Internet provider nor the device itself ask further investment from the user.
The idea that emerged was to bring web activities before the population that wouldn’t simply be able to afford smart phones, which lead Mozilla to design an OS that would bridge this gap, and hence targeting the low-spec devices. The OS and the applications used by the OS are entirely based on HTML 5 code, keeping the apps very small in size compared to their equivalence at Android or iOS stores, meaning lower data-transfer and hence cheaper maintenance.
Another good thing; since there are more HTML experienced work-force than there are for Linux or iOS, it is presumable that there could be greater collection of applications compared to Android store. Firefox OS’ unique feature to run web-based apps will provide openness that’s not present in the mobile-technology ecosystems where localized aspirations surround Android and iOS, especially. In those latter two environments, tight links binds the operating system, online services, app stores, and apps together, making it harder for people to use alternatives once they’ve lodged and invested. But with the iOS and the Android dominating the market today, programmers are lavishing resources on building apps that run natively in the platform instead of web versions that run everywhere. But a positive feature of the Firefox oriented apps is that, the applications being HTML5 and JavaScript based makes them a few KB in size. This ensures lower RAM usage and lower data cost. Besides, once you have downloaded the apps, these apps are readily available to all the devices you manage under the Firefox OS. A superior feature compared to synchronizing all the heavy application in the proprietary operating systems, and think of all the data and time they would consume.
Although the UI relates to Android and iOS to some extent, it differs in concept and purpose of the OS. The App screen specifically relates to iOS, user interactions and interface behaviors are very similar to that of iOS. Even the ‘Home’ button operates the very same way; you click it, and any app you are running closes down and takes you to the app screen. You’ll also see the iOS-like scrollwheel interface for picking dates and time. Although Mozilla has their own browser that has its own fashion and interface, interestingly, the browser in the Firefox OS has a similar ‘Top Sites’ feature as in Safari. Perhaps, the Mozilla guys wanted their OS to be more of a replacement to iOS than Android. But the good news is, anyone who loves, or used, or wants to use an Apple iPhone, will find this in their dexterity and at much affordable rate. And yet, it doesn’t mean a total similarity, as I mentioned earlier, the interface relates to both iOS and Android – the notifications bar works like a cross between Android and the iOS7.
The one unique feature you could point is the Search Bar. Often in proprietary systems, swiping to the leftmost screen opens the search bar for your device, but in the Firefox OS the search bar opens for the Firefox App Store. And when you type ‘Youtube’, instead of bring the YouTube app, it also brings other apps that are related to YouTube or are linked to it. This is interesting especially when you want more info or want a drifted idea from what you are actually looking for. You can even save the search as ‘Smart Collection’ – one of their new features, so you can head back to your search list like clicking an app for search results.
To talk about the apps, these are not composed interfaces that bring everything from the site before you as in other major platforms. Instead, the apps directly link to the webpage, that is, since native apps in this OS are built on HTML5 and JavaScript, a well-designed mobile site will look and behave as if they are apps. This feature comes in handy when certain apps like Facebook and Skype do not portray the potentials as they do in desktop versions or even the mobile versions. Furthermore, why glitch your phone with an app that doesn’t provide any additional feature compared to its web-version? And Mozilla is adopting new web technologies that will enable the advanced features in Firefox OS, which will blur the distinction between a native app and a mobile site even further.
I must agree it isn’t well built and lacks a lot of user-friendliness in its design, only because we are accustomed to slick responses and tech-feel of the iOS and Android, besides Blackberry OS, Windows, and even the Symbian OS. But it is just beginning; they are constantly adding improvements and let’s hope the best would come from them.
I have it off by default so I get a lot of messages like that. If I can see the content I want, I just ignore them.
Three months ago I asked HN if anyone had one but got not answers (https://news.ycombinator.com/item?id=8798922).
So that would only allow them to gain the low popularity/quality app. That's not really a win.
"this is the year of Firefox OS" will be the new "the is the year if the Linux desktop"
In contrast, I don't see Firefox OS carving out a similar niche, though I'd really like it to. It doesn't really do anything the others don't do (and it's missing a lot of what they can do), the devices are uniformly pretty terrible, and the strategy seems simply to be to compete for the low end. Unfortunately, the low end is being targeted by pretty much everyone but Apple, so they've got plenty of competition and no real value proposition.
To be fair, I am not an economist, so maybe their ultra cheap phones can land them some markets where Android One & competitors are too costly ?
Android also uses implementation approaches like a component lifecycle, the Zygote, and limited per-process heap size that reduce runtime memory use at the Java runtime layer.
The people who designed the Android runtime had also designed the Danger system, which used Java and ran in as little as 32MB of RAM.
While it is possible for an app developer to make an inefficient Android app, it is very likely that core phone functionality, like dialers, messaging apps, PIM apps, etc. are a lot more efficient implemented as Android apps than as Web apps.
Second, it might be true that a single app could be more efficient as a native Android app than a web app. But regardless of whether it is (and I'm not sure it is - we would need to measure), the issue I mentioned is that Android phones have to support both native apps and their entire graphics stack etc., and the web platform and its entire graphics stack etc. Both because users can run both Android apps and a web browser, and because Android apps can embed a web view, so the combination happens even in a single app.
That fundamentally adds overhead. Of course, in theory massive amounts of work could remove it (you could unify both stacks on a single graphics codebase, and to some extent that is true on Android), but that might introduce compromises as well, and no one wants to compromise the high end which competes against Apple.
The bottom line is that Android doesn't ship super-low-end phones. That might not only be due to technical issues like these, of course.
As for how that's done, it's because Android can aggressively "swap" (really serialize and reconstitute)background components out of memory, and it can do the same to whole processes. You can actually watch your Android app instance switch PIDs, as it comes back from having had all the components, and the underlying runtime instance, killed. Now, there are some fat slovenly apps out there that might not be happy with life in a very limited machine, but I bet those 1500rs phones push the minimum specs pretty damn hard.
mid-range specced and priced phone would sell, i think, as second phone, phone for relatives and like.
[1] https://github.com/jashkenas/coffeescript/wiki/List-of-langu...
To pre-empt the inevitable response that everything you want to do is possible inside the javascript sandbox: for a lot of people everything they want to do is possible inside the iOS app store restrictions. That still doesn't make iOS an open platform suitable for general computing, and neither is FirefoxOS.
FirefoxOS and ChromeOS are attacks on general purpose computing just as much as iOS is.
Every platform has one "base" language - even rms' laptop can only run MIPS instructions; everything else must be compiled or interpreted. FirefoxOS just uses JS as its base language.
If having restrictions on the runtime is your criteria for judging whether or not it's "general purpose" or not then every platform with a kernel fails because everything is subject to the restrictions it imposes.
But Firefox is in control of its sandbox. It has provided a lot of native API access that other platforms don't have.
Trying to divine somethings "general purpose" via just evaluating the runtime is murky and distracts from the core issue.
By the root standard iOS fails completely.
ChromeOS, Android and FirefoxOS all get middling grades in this.
That being said, consumer devices need to be able to pass a sort of "slave test"; if your device can't hook up to a printer/scanner, or other peripherals, it is a device meant to enslave you in a digital jail.
Mozilla seems to be the best citizen thus far when it comes to user rights, and I wouldn't expect that stance to change much due to a different formfactor. this is still very much the same project JWZ founded.
First, by what criteria is JavaScript not "a real language" whereas Ruby and Python are "real" languages?
Second, in any case, among the languages on that list that compile to JavaScript are both Ruby and Python, which I think meets any reasonable definition of a "a real language, like Python or Ruby".
Or even C via asm.js?
The problem with alternate languages is that people won't use them if browsers don't support them, and browsers won't add support for them if people don't use them. JS became a de-facto standard due to being included in early browsers and is certainly hard to unseat due to the tremendous momentum it gained.
I tried kivy with a lot of enthusiasm, and the experience was not good. React native does a better job, I think (or just React in FF OS). I say it as a programmer whose favorite language was Python for many years, I even coded a Python-to-JS compiler with classes, inheritance and stuff where other attempts were very too basic or too slow... Now my favorite language is CoffeeScript.
The sooner this idea dies, the sooner we can solve the actual problem of being locked to an insanely high level VM and calling it a platform -- while writing that platform with much more powerful tools that aren't available to anyone else.
The sooner this idea dies, the sooner we can solve the actual problem of being locked to an insanely high level VM
So, the sooner we stop making actual things, we can take a step back and start making a thing that makes things?
By all means, try to solve this problem. But if the history of the web has shown anything, it's that it's extremely difficult to entirely reboot anything. JavaScript is all pervasive, and an alternative is going to have to come up with something brilliant to displace it. I haven't seen it yet.
No, it's the compilation target web developers have. The rest of us don't target the web.