Firefox for iOS now available
blog.mozilla.org
blog.mozilla.org
Apparently this is a two year old bug: http://www.theverge.com/2013/10/3/4797968/chrome-for-ios-inc...
Long story short, Google saves all searches in HTML5 local storage and this is shared between regular and incognito windows. Perhaps DuckDuckGo is a configurable Firefox option. (EDIT: yes, it is. Goodbye, Chrome.)
Looks like I'll be giving Safari another try.
You can actually find in page by typing a keyword in the address bar. There will be an "On this page" section at the bottom of the suggestion list, which you can tap in and jump through all matches. If I remembered correctly, this feature has been available since iOS 5 or so (which were a little bit clearer back then, since search box was separate from the address box).
Of course, there might be a difference between UIWebView and WKWebView, and I don't know which Firefox is using.
That link also lists a hand full of Radars filed which are preventing the iOS Chrome team from moving to WKWebView.
Any website using HTML5 local storage could exploit the iOS problem.
Regardless of browser or platform that would solve your search engine problem.
“I could work around this by opening an incognito window, typing duckduckgo.com, and then doing a search but that's extra effort. In iOS Firefox, DuckDuckGo is a search engine option, so it avoids the issue without requiring extra effort.”
Having played around with Firefox on my iPad, here are some things which are annoying (I mentioned a few of these elsewhere in this thread). I can see that many of these decisions were likely taking into account the limited real estate on an iPhone where I can understand the limitations, but it makes for a poor iPad experience. Safari and Chrome generally get these correct in a single app by adjusting the functionality based on the screen size.
- Adding a tab takes two steps: click the number box then
click "+" to add a tab.
- Closing a tab takes two steps as well. Why no "x" to close?
The "star" icon is exactly where I'd expect the close option
to be. Consider the frequency of someone closing a tab vs.
marking a URL as a favorite and the resulting UI should be
obvious.
- Adding a private tab is three steps: click the number box,
then click the Private Browsing icon, then click "+".
- Swapping between regular and private tabs involves three
steps: click the number box, enable/disable the private
icon, then click on the tab you want to focus on. In Chrome,
this is one step: click the Incognito icon which immediately
swaps between the most recent active tabs in each mode.
- You can only view one tab at a time. Not only does this make
switching between tabs tedious but you also lose context;
not seeing a tab you've opened in the background that you
mean to read later will generally go unread.
- "Settings" available via the tab management interface. This is
a rather unintuitive location to manage application settings.
Why not have app settings available from within the iOS
Settings app?
- Editing the URL of a tab hides the tab's content. Not sure what
the thinking was here, but if I want to access thumbnails,
bookmarks, etc. I'll do this from a new tab, not by manually
editing a URL. Consider the use case of a URL shown in a web page
but it contains tracking info. I might want to manually type it
instead of clicking, so when the page contents vanish it's
difficult to do that.
- Unable to search for text on the page.
That's what I've run into after five minutes of playing with it. I might keep this on my iPhone, but as it stands it's unusable (compared to alternatives) on an iPad. Safari and Chrome generally get the iPad UX right.First off, congrats, this is amazing and beautiful. I've been a long time Firefox poweruser, and here are some of the things I noticed myself:
- Lack of differentiation between bookmarks, history, open pages, tags, etc. in URL bar.
This is vital for a power user feature I use a lot: browser.url.restrict.* (in about:config), allowing me to quickly get to a page from history, an open tab, or a bookmark. You get the idea :) - Inability to reorder tabs
- No context of tabs opened/ to switch to
- Unable to specify sync categories
- Unable to disable password saving asks
Overall, biot is right: this is great from a iPhone POV, but from a iPad POV, there are more controls to bring into view to bring it to parity with Safari/ Chrome. As for going beyond what Safari and Chrome offers on iOS, carrying over the spirit of power user features and customization will definitely do it (like the AwesomeBar icon hints, switch to tab, urlbar match, search keywords, and more).IMO, private search shortcuts used to be really cool and then I switched to DuckDuckGo. Their !bang feature has all the search shortcuts I need (and then some), preconfigured :)
I was think about the same recently. You put a lot of faith in incognito mode working as you expect it to on the 'edge' cases (e.g. third party plugins, cache, cookies) but this seems like it does not work even for a pretty straightforward case.
[I use edge there pretty liberally, even those cases are pretty far away from the edge]
From the perspective of the underlying web engine, we're two separate browsers.
Also there is ZERO data sharing between Firefox and Safari. Both apps run sandboxed and cannot see eachothers data.
Both have their own unique and private bookmark, history, cookie, password management.
In my humble understanding Firefox is just a Safari skin, crippled by the lack of JIT.
All these things might be completely different between Firefox and Safari on iOS. Saying that Firefox on iOS is not "a real browser" is an understatement.
More importantly, the rendering engine is what matters to the "open web", if you care about that. If there's only one rendering engine which "everyone" uses, then websites are designed to the bugs and quirks of that engine, then that engine need not fix any bugs, then those bugs become the de-facto standard. Then users can't use the web from the platform or browser UI of their choice if the only web rendering engine of note doesn't support it.
But assuming the engines don't fail to perform correctly, which one do you think 99.9% of passengers care more about?
I still regularly have to help "common people" find everything but the new-tab button in Chrome (and every browser).
Finally, it's clear that UI/UX designers always say they're making software "more intuitive" and "a joy to use" but no one (except grumpy engineers like me...) know what to click or where stuff is hidden anyway. It's all just UI churn, around in circles. Show feature prominently because users don't know how to find it, then hide it because the UI is too cluttered. Repeat.
EDIT: and all that's not the main point, sorry ... anyway, the "mass market" or "common" user's ignorance doesn't change the importance of the engine to the "open web". And don't forget how Firefox started, with only particularly savvy users caring to install it.
And I am not saying the renderer doesn't matter. My contention is just that the featureset and the UI probably matters more today, for most people. Historically, that wasn't true. (I consider switching from IE "historical". I don't know anybody who uses MSIE today, except for one-off reason like accessing some legacy banking system.)
There is no such thing as a Safari skin. Instead we use a low level component called the WKWebView, which is a bare-bones minimal API to 'show web pages'. On top of that we have built a browser.
This is exactly what Apple has done with Safari.
The only common component between Firefox and Safari is the WKWebView. Everything on top of that, like the UI, bookmark management, history, sync is unique and implement in different ways by each browser.
Regarding JIT .. the WKWebView exposes the same fast JIT as Safari uses. Run a benchmark. We are as fast as Safari or any other app that uses the WKWebView underneath.
But no, the result of a bit of chrome (historical name for browser controls) around a WKWebView is indeed just a Safari skin. The renderer is not some minor detail like how tcp connections are made, it's practically the whole thing! It handles the http/https/websocket connections, the html, css, js, html5 video and audio, canvas, webgl, webrtc (or lack thereof), pointer events, everything that matters.
- user of firefox on linux and on android, who never "signs in" to his browser chrome, or saves passwords in the browser, or other ill-advised but marketer-loved things
- also developer working on a webrtc application, who has had to explain to users "Chrome on iOS isn't actually Chrome, sorry"
Mozilla Corp. has become increasingly frantic these days, trying to maintain market share by making all the compromises it can on its ideals. Is it working? Doesn't look like it to me. I'm the only one I know personally who still uses Firefox instead of Chrome (on Windows/OSX) or Safari (on iOS). Notably, I know a number of web developers (though I'm a systems software engineer).
For every nerd who complains about not being able to root their iPhone, there are probably a hundred people who think “I/my kids/my parents won't get mal/ransom-ware”. Repeat for almost every other security or reliability issue.
I'm not entirely in love with the effects but I'm not going to say those people are wrong because they value stability and lack the extremely high level of skill needed to operate a general purpose computer safely.
It's irrelevant how many people believe in something if they're wrong. A billion people believe the Earth is 60,000 years old and was created in a week by an all-powerful bearded deity. That doesn't make it true and doesn't mean we should throw our hands up and reinforce those beliefs instead of improving education and displacing them.
“Wrong” asserts a level of objectivity which has not been established.
My argument is simple: the computer industry has failed to produce general-purpose devices which non-specialists can safely operate. That's security threats like phishing, but also just the ever present fear almost all computer users have of installing something which will break or degrade their computer.
When a high percentage of people choose to buy devices which are more restricted – and thus safer to use – the correct response is not to crank up the smugness and say that they need better education but rather to ask what we should change to make a general purpose computer safer without going all of the way to the app store model. As the most obvious example, strong mandatory sandboxing could be a big improvement while still allowing a knowledgeable user to adjust the sandbox policies or develop their own.
> A billion people believe the Earth is 60,000 years old and was created in a week by an all-powerful bearded deity
I find this comparison apt, but presumably not in the direction which you intended:
We have a preponderance of evidence that people cannot operate computers safely, ranging from the billions of dollars spent on support and data recovery services to e.g. ransomware being an industry with at least 8 figures of annual revenue.
Smugly asserting that people buying safer alternatives is due to poor education seems rather close to the creationists who assert that every hole in their theory is caused by insufficient faith. If that was ever going to work, it would have done so already.
Apple creates devices that are user friendly, they win. Guy creates software that's pain in the bum to use and requires a manual, they lose.
Now more then ever users expect a stylish non-complicated experience. If you don't provide that then users will just move on to the next alternative.
It's totally not.
All the things you list are just components of "showing a web page in this rectangle". That is akin to "how tcp conections are made". The renderer used to be hugely important because many renderers didn't work at all for some sites and features, or were massively slow. That's still true to an extent and why the renderer is still an important point.
But the browser itself is more about application features (and maybe cloud features).
How do you manage windows? How do you manage 10 tabs, or 250 tabs? How does it store your passwords and how do they sync across devices? Can you pull out your phone and easily jump to a web page open on your desktop back at the office? Does the browser crash a lot? Can the browser remember your font zoom settings for each site you visit? Can you override preferences for certain websites conveniently? How can you visualize the current set of websites you are on, or this history of sites you have visited. Can you easily restore a bookmark set of twenty websites? If so, does it restore your window sizes, positions, and tab order? Can you easily identify which window/tab is making annoying sounds? Does it have a 1Password extension? Does it override standard OS features like Print (to PDF) with its own lame-ass UI for the same thing (lookin' at you Chrome)? When you copy text, is it smart about putting the different representations of the copied data on the clipboard so it works optimally whatever app you are then paste into? Does it let you have different profiles to keep e.g. your work cookies separate from your pr0n cookies? Speaking of cookies, how easy is it to inspect and deal with them? How does its extension mechansim work, and what is its defense story against the installer-malware that comes with e.g. Java? Is it fast to launch? Can you easily re-open closed tabs and windows? If so, do they retain their state and Back/Forward history? Can you easily customize things like font and zoom and override bogus sites? Does it have an ad-stripping "reading" mode or does it need an extension? Etc.
In modern times, those things are a lot more important to me than the renderer (unless the renderer is broken).
The renderer is still very critical for developers. We don't really have a browser without a renderer after all.
So you downvote me? Nice. #not
Webkit browsers currently account for a 91.6% share [1] of mobile (phone/tablet) browsing. Ironic as it sounds, the only hope right now for mobile web standards is Microsoft. They're the only vendor that stands in the way of the idea that Webkit should simply become the de-facto standard for the web, in place of specs worked out in collaboration with other browser vendors through the W3C.
[1]: https://www.netmarketshare.com/browser-market-share.aspx?qpr...
Correction: Firefox on Android ships with Gecko, my mistake.
Firefox on Android is as "proper" as it gets. It uses Gecko, not Webkit.
Servo and Gecko are both blocked.
I would love it if the FTC, etc. made them open up with, say, the ability to set the security requirements they use and accept anything from companies which make similar commitments.
But they also forbid execution of code that doesn't ship with the app itself. So you can't have a JIT-less browser that runs any JS at all.
But for Servo none of that would matter anyway, because it's written in Rust. And Apple's policies only allow binaries whose source code is C, C++, Objective-C or Swift, last I checked. So Servo, and any other program written in Rust, is not allowed in the app store period, no matter whether it's a web browser or not and what it does with JS.
That ban only lasted a few months, then their allowed everyone again.
edit: Android Browser uses Blink now, but I'm not sure if all 4.0 versions do. Blink could be higher than 30% depending.
Gecko (aka Netscape) was a ground-up rewrite of the engine (it had to be due to licensing issues).
It's an indirect way of getting more people to use Firefox (which promotes standards) over another option, but it's certainly better than telling iOS users "If you want synced stuff, switch to Chrome or Safari."
FF on Android is a true FF build, you can run most addons on it and it uses Gecko as their rendering engine.
The problem with iOS is that we are going back to a single eco-system when it comes to rendering engines this means that everyone needs to get inline with how Apple thinks that the web should work which we had to suffer through before when Microsoft polluted the web with their own interpretations and "proprietary" standards.
Also from a security POV this is pretty damn awful if there is a vulnerability in WebKit/iOS Webview or however Apple wants to call it, there's a good chance that every browser will be vulnerable this means that until Apple can patch it out there is no alternative non-vulnerable browser for the iOS ecosystem.
This pretty much reminds me of the late 90's early 2000's where there were a billion "alternative" browsers like NeoBrowser and the like that were nothing more than a reskin of Internet Explorer, the fact that you can't push out your own low-level components to one of the most popular mobile platforms in the western world is pretty god damn sad.
I for one would have actually loved it if Mozilla and Google would've make a stand against Apple and say if you don't allow us to build our browsers like we want too we're not going to be on your system. But sadly because Apple users are the more "important" (as they have more money to spend) than alternative platforms it doesn't seem likely to happen.
Continuing to take that stand won't suddenly make change happen. It hasn't worked and it won't work.
Mozilla still agrees that it's BS that we can't have Gecko on iOS. But we have to do something different.
This movement towards WebExtensions will take some time and new APIs are being developed as they figure out the needs of the developers. WebExtensions are easier to write and make them cross-platform (Firefox OS, Firefox for Android, Chrome...). It might not be ready now but its a good thing to check out.
I normally run BetterPrivacy too (for long-term storage/flash cookies) but it doesn't seemt o have been updated for the lastest Firefox mobile yet.
This can be seen on the following shot: http://i.imgur.com/faxbdBK.png from the iOS Review Guidelines located at: https://developer.apple.com/app-store/review/guidelines/
This is Apple with its silly policies preventing competition again. I have no idea how a lawsuit against these practices has not happened. In the meanwhile you can vote with your wallet and use some other operating system and/or donate to efforts that fight against such practices such as EFF, Mozilla and others.
We can have a better mobile internet than what Apple offers...
Apple has a policy that prevents things 'becoming' malware later in life.
There is a fairly rigorous review board (at least for initial application submissions) which check the quality of code but also it's intent. It would undermine that whole process if Apple just allowed you to alter the function of an application after it had been installed by the end user.
Personally, I have used iOS and Android, and I find the play store to be riddled with the CNET/Softpedia style applications that look dubious even if they're not. And as much as I hate online ads I'm definitely not willing to allow laxer rules on my phone than it currently has.
I'm not saying that android can't be secure, I'm just pointing out that because "Android does it" in regards to security, is not a valid reason to go ahead.
My phone runs my life, I don't care if it's a walled garden, just that it's a secure walled garden.
also, a general purpose computer is exceedingly different from a cell phone and they have notoriously bad security models.
Like I said, my phone runs my life, I don't have a reasonable means to keep it secure (not even on android), a PC, I can attach debuggers to processes and I can lock down my firewall, or I can sniff my network. - I can do none of this on a phone platform reasonably well (AF+ firewall on android requires jailbreak and breaks applications). and I shouldn't have to..
to put it bluntly; I can be responsible for my laptop, I can't be responsible for my phone.
2) Apple sees laptops and iOS devices as serving different purposes. It's no secret that there are things you can't do on iOS. While Apple is trying to make iOS more capable in some ways, in other cases, their view is "go buy a laptop or desktop if you can't do what you need on iOS". It's not a crazy view. I'm giving the new restrictions in Mac OS X a serious side-eye--to the extent that I'm halfway considering going back to Linux on the desktop, even though I dislike Linux desktops. However, I find the restrictions on my iPhone painless. I'll just never even consider making an iPad my primary machine.
/usr is write-protected, /usr/local isn't. But if /usr/local doesn't exist you can't create it. This only affects upgrades to 10.11 where /usr/local didn't exist, if it's a clean install Apple creates the directory.
What I worry about is my ability to keep up with the details of what I can do when and whether this is a trend that will get worse.
You should buy a Mac if you need what a Mac gives you (or if you just want a better keyboard...). You should buy an iPad if you don't. That's Apple's story. The line of who buys what is a little fuzzy sometimes, but it's a pretty simple story.
Hell, Apple offered an update to the Mac Pro recently, and we know that doesn't sell as many units as the iPad.
While I do understand your point about rigorous review for a mobile app, I think that browsers should get special treatment in this regard and allow extensions.
I think I agree that Mozilla Firefox using its own engine and extensions would be a valuable app. I'm not convinced I would want to let anybody else in.
Apple doesn't blindly extend trust to app vendors - neither do I, particularly. Apple doesn't trust most folks to decide whether to trust an app vendor - neither do I, particularly.
Don't like it? Buy elsewhere and help other vendors.
I do not care for those that give the money to Apple and then complain.
This isn't what monopoly means in normal legal usage.
edit: typo
(Yes, as a developer, you can just add extensions, or as company, you can add your own certificate.
Firefox stable will not install add-ons from outside the Mozilla add-ons site by default
The review board process there is not to the satisfaction of some people. For example, if you create an application and another people want your application but the review board for any reason (real or not) doesn't like it, then you can't distribute it. For example, for some time Apple disallowed applications that duplicated functionality from core apps. So you could not ship a new mail client or a new music player. Yes, those restrictions are gone but for a while they were real. For some months they also restricted the app store for applications developed with their own SDK, if the app was not Obj-C/Cocoa then it could not be accepted. This is also gone but for at least three or four months lots of developers were stranded.
Why am I telling you that? Because this is just to prove that sometimes Apple makes mistakes. Sometimes, their rules are not in the interest of the user. Sometimes, they backpedal and make it right, sometimes they don't. Since you don't have a way to distribute content outside their walled store, you're left without any recourse. The phone is not yours, its theirs.
Now, back to the topic. Browser add-ons also pass through a rigorous review process. Currently, Firefox extensions need to be reviewed and signed before they can be installed on Firefox Stable.
Apple could allow new rendering engines and new javascript engines. Microsoft was sued for similar reasons. Some people are so displeased with Apple WebKit that they are claiming it to be the new IE as can be seen in http://arstechnica.com/information-technology/2015/06/op-ed-...
Having more rendering engines and JS engines would not make iOS less secure. Having add-ons in Browsers would not make iOS less secure since all iOS apps run sandboxed anyway. Also both Chrome and Mozilla have add-on review processess. At Mozilla any open web app or add-on that touches sensitive APIs is reviewed very rigorously. This would not lead to a less secure system but it would probably lead towards more usage of mobile web instead of apps and this goes against Apple strategy and shareholder interest.
The fact they do not allow competition is not good. You should be able to choose what you want to install and from whom.
The JS issue is more complicated than "just let $browser engine in". One complicating factor is JIT Javascript compilation. My understanding is that Apple applies DEP to unblessed applications on iOS, which precludes apps not so blessed from employing JIT compilation/optimization. And, predictably, only Apple apps are blessed.
So, yes, sometimes things Apple does, it does to suppress competition. Some things it does, it does for security. (There are many other reasons for what it does.)
I know this isn't going to change any minds. But claiming Apple is pulling a Microsoft with Safari for competitive reasons, I believe, is rather missing the point. I mean, I suppose you could say Apple wanted a reason to keep other engines off iOS and so came up with DEP as an excuse, but imputing motives that way isn't a terribly great way to go through life.
And… if you don't like the walled garden, just jailbreak your phone. It isn't that hard. Of course, then you're on your own, but that's what you say to want.
(Note: That screenshot on the homepage isn’t really what it looks like on newer versions of iOS. It’s still under very active development; see here². …He should really update the screenshot on the main page though).
――――――
EDIT: Oh, wait, found it:
http://mjtsai.com/blog/2014/06/12/pythonista-in-app-store-pe...
“So what was the problem Apple had with the previous version? Turns out, they didn’t like the Open in… menu integration I had added in 1.4 because that would allow you to import executable code from external sources. My theory is that this policy is in place to prevent apps that circumvent the App Store, e.g. by offering downloadable games that don’t go through Apple’s review (and revenue chain via in-app purchases).
[…]
I’m sad to see this feature go. It wasn’t just a convenient way to import scripts, it also enabled some pretty interesting automation workflows that could process the contents of pretty much any kind of file you could access on your iOS device.”
Doesn't seem like they are super-consistent. We're talking mobile web browsers here. Doesn't javascript fit this description?
“According to Apple, formulas in Numbers and functions in PCalc are OK. So is JavaScript, as many apps embed a Web view or communicate with a server component via JSON. But reading XML files and executing Python code are not OK. Landon Fuller points out the absurdity and wonders about executing Python via JavaScriptCore.”
But after reading chkuendig’s comment (which makes sense), I’m wondering if the above interpretation is completely accurate.
――――――
¹ — http://mjtsai.com/blog/2014/06/12/pythonista-in-app-store-pe...
That said, it can be really fuzzy where the line is between code and data (e.g. spreadsheet formulas).
As far as mobile web browsers go, they're required to use WebKit, so they'd get a pass. (E.g., Chrome uses UIWebKit, but has its own network layer, which made it immune to a bug in iOS's networking layer that cached POST requests.)
Loved the old sync personally. New one's okay
So at some point, I stopped relying on that and just installed Pushbullet to bounce stuff around from my desktop to my phone or to my tablet. That has worked flawlessly.
Syncing logins has never really been something I've bothered with. I'm afraid of someone grabbing my tablet and then having access to all of my emails, message boards, payment stores, etc. All of my devices have LastPass installed, which is how I manage that.
So yeah, this would be a bigger deal for me I suppose if I hadn't already found other solutions for Firefox Mobile's old shortcomings.
A handful of large players, each with less than 50% market share, can also distort the market and engage in anti-competitive tactics.
It would require a new set of laws to have anti-trust apply to ecosystems rather than only industrial/sector/field monopolies. At the moment Apple is free to do as they please.
There is competition in software, btw. You can buy an Android or Windows phone and get a completely different web browser in them.
Apple also doesn't like unsigned code, and JIT (or self modifying code, or whatever falls into that category) is inherently unsigned code.
I think that effect could be fairly large if Apple would allow applications to contain their own web engine, not because it would mean a second engine, but because it easily could mean a third, fourth, etc. engine, given that not all applications get updates at the same time. Imagine app #1 shipping with Firefox's webview version X, app #2 Firefox version X with bug fix Y, app #3 with Firefox version Y, etc.
The restriction is plainly a business decision, not a technical one.
Using something else if is a viable option for most people that currently use Apple products, where it wasn't for many in the case of Windows back then.
Until then, Apple is free to control 100% what comes into their platform.
The same way any other vendor is free to do (e.g. games consoles), when not covered by monopoly laws.
When they reach a size that falls into what the law considers a monopoly, then the game changes, as they have increased responsibilities towards the market.
> Apps that browse the web must use the iOS WebKit framework and WebKit Javascript
Additionally only Apple's JavaScript engine is allowed to use a JIT compiler.
The only benefit is whatever extra features they might offer, like bookmark synchronization.
it’s been challenging to re-use critical Chromium infrastructure components. That said, there is a lot of code we do leverage, such as the network layer, the sync and bookmarks infrastructure, omnibox, metrics and crash reporting, and a growing portion of content.
[1] https://groups.google.com/a/chromium.org/forum/?fromgroups#!...
Can you elaborate? I was under the impression that as of iOS 8, if a developer implements WKWebView in place of UIWebView they would have access to Nitro.
I'm not intimately familiar with the iOS API, but I believe that this is no longer the case, courtesy of WKWebView[0], which was released in iOS 8.
0: https://developer.apple.com/library/ios/documentation/WebKit...
This is quite shocking. I wonder how a platform with such policies could be universally accepted and praised by the tech community. Microsoft didn't achieve this level of closedness but become universally hated.
What I think is happening is that the hipster generation that grew with Mac OS X and helped save Apple is just discovering the Apple of yore.
The old Apple was quite proprietary, but they needed to sell an history to save the company.
So with NextSTEP adoption and increase of UNIX culture at Apple, they tried to cater a picture of standards adoption and welcome feeling to UNIX devs.
I value more cool tech than openess, but to each its own.
Seriously? we hear from the non-iOS tech crowd all the time about how locked down iOS is.
Apple's reputation in the tech community is very far from being universally accepted and praised.
However, if you've not seen any criticism of Apple in the tech community, then Google for it, it won't take long to find critical voices about Apple (and I'm not referring to trolling, well thought out criticism is easy to find too).
Apple is certainly more closed than Microsoft ever was. The difference in perception is likely because Apple has never had a monopoly. There are more Android phones than iOS.
[1] http://www.imore.com/debug [2] http://donmelton.com/about/
There might be extremely elaborate workarounds possible to get it working anyway: https://bugzilla.mozilla.org/show_bug.cgi?id=1200791
Edit: AFAIK, the Ericsson bowser no longer works / isn't supported anymore.
https://github.com/mozilla/firefox-ios/search?utf8=%E2%9C%93...
func createWebview() {
if webView == nil {
assert(configuration != nil, "Create webview can only be called once")
configuration!.userContentController = WKUserContentController()
configuration!.preferences = WKPreferences()
configuration!.preferences.javaScriptCanOpenWindowsAutomatically = false
let webView = WKWebView(frame: CGRectZero, configuration: configuration!)
...This might seem silly, but it has a big impact on the community, by making it clear what the goals of the project are, and hopefully eliminating all the bikeshedding on what is and isn't Firefox.
EDIT: I guess I never answered your question: open Web standards are still a priority for Mozilla, it's just that we've decided the little benefit for the user we can create by writing Firefox for iOS is also a priority.
In its current state, at least, I wouldn’t call it a ‘clear’ win for users:
https://news.ycombinator.com/item?id=9893561
https://blog.mozilla.org/blog/2010/07/15/get-firefox-home-on...
https://blog.mozilla.org/services/2012/08/31/retiring-firefo...
Firefox for iOS is not just an experimental project. It's part of our core products now.
Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) FxiOS/1.1 Mobile/13B143 Safari/601.1.46
Default search is Yahoo
It's the same reason all browser UAs start with "Mozilla" even though only one is actually made by Mozilla.
What Mozilla will call "Firefox": a wrapper around WkWebView that uses WebKit.
(I work on Firefox for Android and iOS, and even _I_ don't really care which rendering engine it uses. I care that I can trust it, that the UX is excellent, and that I have my data.)
Some would say they're part and parcel, but it's clear now that Mozilla doesn't agree.
You can compile Firefox source code of which 100% of it came from released Firefox versions in Mozilla's HG tree and they won't let you call that "Firefox". Part of why IceWeasel exists is Debian wanted to backport security patches from Firefox releases into an older version (eg. apply security patches from Firefox 4 to Firefox 3.5) for Debian-stable and Mozilla wouldn't let them use the name Firefox if they did that.
Therefore your claim that
> Firefox is the UI chrome and corresponding stack
doesn't match the reality of what Mozilla has done. It seems now Firefox is anything that Mozilla calls Firefox.
"Firefox", "Mozilla Firefox", "Firefox for ios", and finally it came up 2nd for "Firefox web browser"
Also, Safari doesn't [lack search text function](http://cdn.osxdaily.com/wp-content/uploads/2013/10/find-text...).
We're working on an alternative here https://bugzilla.mozilla.org/show_bug.cgi?id=1164067
- private browsing - tabs management - search suggestions
Apparently all what this version can offers is already available in Safari.
I wish they could sell me Firefox better
After 2+ years, I'm still using Atomic Browser on iPhone + iPad, even though it hasn't been updated in years and now triggers some websites' warning, "You appear to be using an old unsupported version of Firefox".
iCab has been around for a really long time on desktops. Seriously, it existed before even Mac OS X², so it’s no surprise that the dev would carry all that experience over to the iOS version.
――――――
If you don't use Firefox on your desktop, it's just a new skin for Safari.
Where can I select the desired folder or create one ? If I import the Chrome exported bookmarks, all 900 of them are in one list.
(Source: I'm one of the engineers.)
No, I've never met an iOS user that knew that Chrome isn't "Chrome".
The difference between these browsers is not the renderer (which should, ideally, be rendering the same content the same way anyways), but the features on top of the webview. The UI, Password, bookmarks, autofill, and history sync.
So, when are we going to see some progress on web features on iOS then? WebRTC- oh, not allowed. WebP? Nope, not allowed...
I try to use my phone as little as possible because I can't block distractor sites. Currently I default to Safari off using parental restrictions, then I turn it on when I need to search for something, and then turn it off.
But those restrictions won't work for firefox, so it would be in full distraction mode, unless I'm missing a workaround.
(This isn't as restrictive as it sounds. It just makes the web use more conscious and intended)
This interested me so I checked the Firefox support site and supposedly it's an option under "settings->display" but I still don't see it. (https://support.mozilla.org/si/kb/scan-qr-codes-firefox-andr...)
Checked the Firefox support site and apparently you need to install a separate app to enable this (https://support.mozilla.org/en-US/kb/scan-qr-codes-firefox-a...)
After installing the app (https://play.google.com/store/apps/details?id=com.google.zxi...) I do indeed have the option and the box.
Apps start getting annoying to download+install at about the 50MB mark… and are people really going to want ~200MB of their device taken up by something as elementary as a web browser? Don’t forget that a large majority of iOS devices in use today are 16GB models.
s/elementary/fundamental/?
A browser isn't like most other apps -- it's a window into all the things. And don't the stats say that people spend tons of time in their mobile browsers?
Anyway normally this is the kind of trade-off that people get to weigh for themselves. There's nothing wrong with your deciding that it's not worth the 200mb or whatever, but surely you (and Apple) can't speak for everyone who owns an iOS device.
The on-disk size of version 46.0.2490.76 on my marshmallow device is 66.55MB + 11.44MB of app data.
[1] http://www.apkmirror.com/apk/google-inc/chrome/chrome-45-0-2...
Now half of 185MB is still a lot, of course.
https://github.com/mozilla/firefox-ios/search?utf8=&q=WKWebV...
Interesting to note. I downloaded it and checked it for SRI, sub-resource integrity, and it isn't supported. I used my tester https://ejj.io/sri .
It's interesting because no mobile browsers support it yet.. Mobile browsers drag far behind their desktop friends when it comes to security features.
Firefox on iOS can't due to Apple limitations.
Your browser SUPPORTS Sub-Resource Integrity
I can't recommend using a Firefox account to store any private information, to include passwords and browsing history.
What this has got to do with iOS? I guess people will want to use this to cloud sync their desktop Firefox?
So in that case, how would you securely sync your data using Firefox?
One can't, any longer. The old Sync system was quite secure, but Mozilla have disabled it.
JavaScript or not, you either trust the browser vendor, or you do not. If you do not then you shouldn't be using them regardless of the technologic stack.
I think the reason OP points this out is because the old Sync system that Firefox had was much more secure (but unusable by the general public). We know this because we could see how it worked!
If you're using the automatic updating functionality (which the majority of people are) then it absolutely applies. Firefox's source code is available, but if you aren't verifying the source upon each update then that fact is largely irrelevant.
The whole point of OSS is to allow YOU to verify the software, and only then to build it when you're comfortable. If you are skipping the verify step and definitely if you're skipping the build step then the fact that it is OSS adds little to nothing security wise (since the vendor can splice in anything they want).
So even with OSS you often either trust the vendor or you do not.
> I think the reason OP points this out is because the old Sync system that Firefox had was much more secure (but unusable by the general public). We know this because we could see how it worked!
I suspect we're having this discussion simply because people don't equate the automatic updater with JavaScript in their own mind. The reality is that if you trust Mozilla to provide software updates then you can trust them to provide Javascript, after all the software brought down by the updater has far greater system access and can do far greater damage than JS.
Which is why I don't get my updates via an automatic Mozilla updater, but rather via my distribution.
> The reality is that if you trust Mozilla to provide software updates then you can trust them to provide Javascript
As I indicate above, I don't trust them that much. You're right that the update problem and the JavaScript problem are identical.
Allowing pushed updates makes individual targeting far too easy for an adversary.
In theory we could ship a hotfix that steals those, and still could; we wouldn't need to do it via the FxA content JS, which would only get to see them during account creation.
There is no such thing as perfect security.
But to be fair:
> This reasoning just doesn't apply at all to open source software like Firefox.
This is not true. You can't tell what is actually running on the server side, so the protocol must be able to handle the encryption on the client side and server never able to read the plaintext in the first place, and this is actually problematic for many products out there claiming "oh our code is open source so you can trust us."
That's not really true: I can verify that a piece of software works and does not expose my information, and I can rely on it forever. Someone else can verify it, and if I trust him once (to verify), then I can rely on the software, forever. I can't do that with Mozilla's JavaScript, because they can change it — or be forced to change it — at any time, for one individual or for everyone.
It's a fundamentally different problem.
Trust of Mozilla has got nothing to do with it. It shouldn't even be a requirement.
Mozilla's browser is shipped out to everyone; their JavaScript is served to me every time I use it. A compromised browser could be caught; compromised JavaScript sent one time only to a targeted user is highly unlikely to ever be noticed.
I get my browser via a distribution; it's far less likely than Mozilla and Debian would collaborate to expose all of Debian's users' passwords than that Mozilla would target — or be compelled by law, blackmail or violence to target — a single user or handful of users.
"Of note, your Dropbox, Google, Microsoft, Yahoo accounts are not secure, because JavaScript"