Why can't someone take Apple to court and argue that developers should be able to build native web browser apps without relying on the Web View component? We have st3fan saying "Firefox Focus" is not ideal because he's had to use the older and slower WKWebView to implement it.
Isn't this similar to Microsoft when they were forced to allow a choice of browser, or do Apple get away with it because they allow alternative web browsers provided they use the iOS rendering system to actually display pages?
Apple gets away with it because they don't have a monopoly. There's a large variety of non-Apple smartphones and tablets you can buy.
Microsoft's behavior was restricted because they were a monopoly. There were alternatives to Windows, but the court decided that they were sufficiently insignificant that Windows was effectively a monopoly. That changes the rules.
Windows market share at the time was about 95%, Apple's smartphone market share is in the neighborhood of 15-20%.
Mike and others, do you realize how different the web on Android has become from the web on iOS? The gap between the web's abilities on the two operating systems is growing quickly. Grab an iPhone and an Android phone, and visit http://pwa.rocks
You'll see very different behavior in Chrome for Android and Chrome for iOS because the latter is required to use WebKit. There are some really big problems with the present situation. The web's fundamental promise of a cross-platform consistent runtime is basically broken, and consumers, developers, and businesses all suffer significant but mostly invisible harm.
That's a separate question from whether they're doing something illegal. Illegality depends on abuse of monopoly power, not on the technical problems it causes for the industry.
I'm not sure how that's relevant. Note that I'm not defending Apple, merely explaining why they can legally get away with behavior so similar to what got Microsoft in trouble in the 90s.
Hmm, correct me if I'm wrong, but isn't monopoly law (at least in EU) dependant on the companies market power (e.g. the ability to sway market / damage consumer rights), not market share?
Monopolies are interesting because they limit choice. Increased profit may be a side effect, but that's it. It's accidental, not essential, to the definition.
Voting with your wallet is easier and often more effective. Apple had to be stubborn here because a full Chrome and Firefox (with extensions and apps) could potential hurt their app store revenue.
Users of iOS don't have any input over Apple policies governing whom may publish what so how are they relevant?
But if you replace "users" with "Apple executives" and the end result is Firefox, Chrome, Edge, Opera, and anyone who cares to may create an unimpeded browser... then absolutely that voice should carry more weight than "Apple executives" on this occasion.
As I understand antitrust law, it is legal for a monopoly in one market to expand into an adjacent market. However, if that monopoly stifles competition in the adjacent market in a way that harms consumers, that monopolist’s acts are illegal.
By virtue of Apple integrating the operating system with hardware, iOS has a defacto 100% monopoly on devices compatible with Apple's Ax series chips (e.g. A9 in iPhone 6s). There's nothing illegal about that.
The market for Ax series devices is now larger than the Intel-compatible PC market was at under consideration during the Microsoft antitrust case.
The question then is whether Apple's policies stifle innovation and harm consumers. I think the answer is "yes".
I don't think the law defines monopolies so narrowly that it's useful or interesting to narrow it down to "devices compatible with Apple's Ax series chips."
Back in the MS monopoly days, there were a ton of things people wanted to do where they had no choice but to buy Windows if they wanted to do them. Today, there is very little that people do which requires an iOS device. Apple has many closed features (the App Store, iMessage, iCloud) but open equivalents are available. Almost nobody is buying an iPhone because they need an iPhone in particular to do something. They're buying iPhones because they need a smartphone, and they prefer an iPhone.
I am very much not a fan of Apple's approach here, I just don't see anything illegal about it.
> iOS has a defacto 100% monopoly on devices compatible with Apple's Ax series chips
Sure, and equivalently Apple has a 100% monopoly on Apple devices. How does that make sense? One problem with anti-trust laws is that the market is not well-defined. Is the relevant market Apple phones? Smartphones above some price point? Smartphones at a price point? All smartphones? We can always pick and choose to make it seem like a company has a monopoly.
I think markets can be defined in a bunch of ways. I think the litmus test is whether a market is large - and whether people are adversely affected. Hopefully more to come here https://medium.com/@ryanpollock/
For the record, I am more than happy to use Apple's web components. WebKit is great. They just need to open the APIs more. Like WebKit on macOS. Then we can actually build competing browsers and do more innovative things.
The WebKit team is great. Look at all the web standards being worked on. Look at the ES6 progress. They are pushing the state of the web forward on iOS.
Now put some of that same energy in WKWebView. Open it up. We need more than just loadURL()
But why should third party developers forced to use the engine Apple provides, instead of trying to innovate?
The whole point of having different browsers is to have competition (which means better performance/new features), but currently in the iOS world there is Safari and multiple reskinned Safaris.
Stop talking about 'reskinned safari' please. This is not how it works. It is not what those alternative browsers currently are. You make it sound like we just change the color of the bezel. There are huge amounts of code around the WKWebView, which is the only thing common between browsers.
Servo for example cannot come to iOS because of Apple's restrictions. It doesn't matter that YOU are fine with WebKit, some of us want to see dfferent rendering engines seeing how they're kind of core to the whole browser. WebKit is slowly but surely becoming another IE, something I think we can all agree would be a bad thing.
Edit: The following comment is incorrect. I checked the guidelines and they've actually revised it to explicitly say you have to use WebKit for apps that browse the web.
> Apps that browse the web must use the appropriate WebKit framework and WebKit Javascript
Original comment:
AIUI the only real restriction here is against executing downloaded code, but you should be able to still write your own competing engine as long as you use JavaScriptCore to execute JS. That said, you can't do out-of-process execution or JIT compilation, so your engine won't be as fast as WKWebView, which means it won't be competitive and so there's not much reason to go through all the effort of making a new iOS browsing engine if users aren't going to want to use it.
My counterpoint is that with better, more open, APIs in WKWebview we would be able extend the current engine with new, unique, functionality. I would be happy with that as a start.
> Because of security, browsers are a huge vector of attack.
That's not a valid reason. With per-app sandboxing. At worst a non-Apple native browser that escape the confines of the web page and be subject to app security.
That amounts to using "security" as an argument for not being allowed to do something with the reason as, "Because we're smart and you're not".
There is a sandbox, but to be a competitive third-party browser you also need something else:
Safari has a special permission (entitlement) that allows it to compile JavaScript to native code. This is what their JIT does.
This is something that no third-party app has ever gotten. No JIT means slow JavaScript. No ASM.js, no WebAssembly.
I have mixed feelings about giving third-party applications (browsers) this permission. Bugs can lead to remote code execution, can lead to sandbox escapes, can lead to compromised devices.
This is a really tough one. Specially for apps that load random content from the web.
Then I guess we need to get rid of all the alternate browsers on Android, Windows, Linux, etc because they are all just ticking time bombs waiting to destroy your device.
I don't think you can argue that Apple has a monopoly on smart-phone OSes, so it's not really an anti-trust issue like it was with MSFT. If you don't like it, get a different phone.
That was also only one part of the anti-trust case against Microsoft. They, at the time, had a very aggressive policy towards competitors and potential competitors. Going so far as, among other things, threatening to charge OEM PC manufacturers (IIRC, HP in particular) more for their Windows licenses (versus the discounted rate they got, eating into their margins or pushing their prices up) if they sold PCs with non-Windows OSes (such as BeOS, in particular).
They bought out competitors, shutdown development on products afterwards, things of that nature.
Apple's lock on their iDevices is certainly an issue, but they haven't hit half the checkboxes MS pulled off at the time of the anti-trust case.
Not to mention that that was MS imposing restrictions on devices sold by other manufacturers. This is them imposing restrictions on their own devices running their own software. I imagine there's a much higher bar for shenanigans before anything they do in that regard could get them in trouble.
Start from the other end – on what basis do you think that someone would be able to take Apple to court? Why do you think that they should be stopped from deciding what the platform they develop will and will not support?
just like there is freedom of speech, there should be freedom of browser choice. either device is browserless, or, it should allow for more than one browser. I'd add this to modern commandments, somewhere between net neutrality, independent DNS and guaranteed free internet access for everyone.
Please go read what freedom of speech means, you definitely seem to have a wrong understanding of it.
You absolutely have no rights to talk here, HN can ban you for no reason and it is not a violation of your freedom of speech in US. Just as HN has the right to ban your ability to use a specific browser to access the site.
Just as Microsoft has the right to limit Xbox games only on their Xbox platform, news network to block you from accessing their sites if they detected ad-blockers and so many valid situations.
You have absolutely no right to anything on any private properties either. Apple owns the platforms that these apps run on, they have all of the rights, not the app developers nor you. You and the app developers agree to Apple's terms when you decide to use their software (EULA and developer program's terms).
By the way, you have no rights to walk in any stores and tell them you want to use a different cart in their store because you think their carts suck.
People seem stuck on reacting to the "freedom of speech" here. However, nowhere did I state that there is a legal obligation for apple or government to provide browser choice. Still, I think that it would be in a public interest, and I hope it becomes a law someday, to protect not only freedom of expression and net neutrality, but also free access to internet, and to require any corporation that sells device connecting to the internet (in browser mode) - to let people choose to use free and open sourse browser to read internet.
It might be because when you say "just like there is freedom of speech" you are making a reference to a legal term of art which isn't "just like" what you compared it to.
The latter part of your response (after "Still") is a sensible statement, and in the future I'd suggest stating that directly, rather than tying it to misapplied legal terminology.
Apple's devices are hugely popular among higher-income individuals, especially in the United States. Benedict Evans has written that there are 650 million iOS devices in active use globally. According to App Annie, roughly 2/3 of mobile application revenues are through the App Store. The other 1/3 is Google Play.
Considering how much consumers have invested in the Apple ecosystem across multiple devices, it's not reasonable to expect that consumers will switch to Android. Apple's customers are locked in.
The question is whether it's OK for Apple to prevent competition within iOS.
I'm really curious what French law could actually be the basis for a lawsuit like this. Apple has a platform with users. Companies want to use the platform. But companies don't have an intrinsic right to do whatever they want on the platform, and the platform does not have a monopoly. So why would the law say that someone can sue them over HTML5 support?
A much more productive question would be: Why don't they allow it?
They cite performance and security control, and really, can you blame them?
The web is quite the wild west nowadays, and the WebViews they provide, while not ideal, cover most of the cases while offering a decent level of protection.
And I think that somewhere down the road Apple will open up, when the system is ready.
If I understand correctly any WebView's contents is completely readable by the app it's embedded in. Which means you should arguably never trust any app that opens it's own WebView for view links. For example if you use the QR-Code Reader App it opens QR codes that leads to websites into it's own WebView rather than just forwarding the link to Safari. So, if the QR code is for anything that asks you to login the QR-Code Reader App could be reading your password.
In other words, WebViews are not adding security they're removing it
Otherwise, Apple can claim perf and security but that's arguably false. Chrome on desktop is faster and more secure than Safari by nearly every measure. There's no reason to believe the same wouldn't be true of a real Chrome (not embedded WebView) on iOS
I disagree. That is only one potential issue (grabbing passwords and info from the web view) and the threat is coming from the app it self, not the content loaded.
A big issue comes from potential 3rd party browsers not being hardened to browser exploits which could circumvent device security. It may not be able to break out of the browser's security sandbox but if the browser has access to your camera, photos, contacts, etc...
The older, slower, more API-rich component FF Focus uses is UIWebView. And it's not at all similar to Microsoft because they were never 'forced to allow a choice of browser'. Apple also doesn't have a market share as dominant as Microsoft did and does not attract the same level of regulatory scrutiny.
Code at https://github.com/mozilla-mobile/focus - feel free to file issues/bugs/questions on Github. We primarily use Bugzilla for this project, but happy to move bugs around.
It is complicated. Here is the story of two WebView implementations in iOS:
Firefox is based on the WKWebView. Modern and Fast, but has a very poor (thin) API. It has zero options for interacting with the network stack, which is a requirement for content blocking. Bugs have been open since iOS 8, Apple does not seem to be interested or does not have the resources to surface more API. All the APIs are in WKWebView, just private.
Focus uses the older UIWebView. Slow, but better ability to interact with the network layer. Not ideal, but at least it is possible.
So to answer your question: We would have to replace WKWebView in Firefox for UIWebView. We've been very close to doing this in some form. But it is is big compromise in terms of functionality and stability. So I am not sure when and in what form that will happen.
There is a way to interact with the network latyer even when using WKWebView. Since iOS9 there are the Network Extension APIs which allow you to access (and modify/filter) raw packet data.
Yeah we know these things exist. I just don't think using a VPN or a global Network Extension or a global HTTP interception is a good solution. It would be a workaround.
We need a real solution. We need better WKWebView APIs. The requests are known. The bugs have been open since iOS 8. Two years.
That's pretty ridiculous for Apple, I understand they make it for safety purposes but they can't deny it also gives them an unfair software advantage. Kind of like old Microsoft and it's private undocumented APIs.
WKWebView executes out-of-process just like Safari and so it performs just as well. In fact, that's the whole reason that WKWebView exists (instead of just using UIWebView).
Due to time constraints we could not go beyond the defaults that we currently have. We have a bug open to allow people to select an alternative search engine: https://bugzilla.mozilla.org/show_bug.cgi?id=1318359
I only see it supporting yahoo. I didn't try very hard but in the settings there is no way to change it from yahoo, which is really frustrating. Did I overlook something?
Works really well! First I joked about how it's the perfect browser for watching adult content on the go (which it is :P) but it's rather impressive. The execution is really smooth, there's just enough options and it's really fast; there's even an option for blocking web fonts.
I came expecting to be disappointed in the feature set or performance (hello, Brave I'm talking to you), and instead it's got everything I can think of and it all seems to work perfectly.
Well, I mean... it doesn't integrate with my password manager... yet. (=
Doesn't seem to be possible to turn it off (the instructions at https://support.mozilla.org/en-US/kb/send-anonymous-usage-da...: do not work, there is no such settings menu for "Klar by Firefox"?). Perhaps I'm getting an old version from my local App Store though.
"screwed up privacy once again by sending data to some company" makes it sound like they're accidentally transmitting browsing history or something. It's stats on how often the app is opened and how may times three main UI elements are tapped.
> For a new install, the application sends an anonymous "attribution" request to the adjust servers. This request describes how the application was downloaded, for example, whether it was downloaded directly via the App Store or through a marketing campaign link. The data includes an advertising ID, IP address, timestamp, country, language/locale, operating system and app version.
> Firefox for iOS, Firefox Focus, Firefox Klar and Android will also occasionally send anonymous summaries about how often the application has been used. These summaries only include information regarding whether the app has been in active use recently and when.
> Additionally, Firefox Focus and Firefox Klar will also report what features of the application are being used. It will send an anonymous report containing the specific filters being selected and count how many times the search, browse and erase button is pressed.
Per the instructions at the bottom: "If you are in the browser you may have to hit the Erase button first" - did you do this when looking for the settings?
If you use Klar then you have not yet received the 2.0 update. We hope to send it out pretty soon. Sorry the German market is unfortunately a little different in this case. Same product but with a different name. Silly reasons.
Would you please elaborate how this is different from using Safari in Private Browsing mode? If I am not mistaken Firefox Focus on iOS would still use WebKit under the hood.
Private Browsing (regardless of browser) does not prevent online tracking. By removing trackers and ads, web pages may require less data and load faster.
"Firefox Focus continues to operate as a Safari content blocker on iOS, and users will be able to take advantage of Tracking Protection on both Safari and Firefox Focus."
I have not used these APIs but I wonder whether it is faster to use Safari in private mode with Focus as a blocker, or using focus directly. Afaik Safari compiles the blocker rules into some binary representation and is thus able to apply them really fast. Do Webkit applications have access to similar functionality?
Safari will be faster. Focus uses UIWebView, which is markedly slower than WKWebView (UIWebView executes in-process and cannot JIT, WKWebView executes out-of-process and can JIT and is as fast as Safari).
Speaking of Brave, how does it perform in terms of web standards compliance, amount of trackers and ads blocked, and RAM and CPU usage compared to Firefox + uBlock Origin and/or uMatrix?
---
Edit: I decided to do a quick test using panopticlick. Here are the results.
- Firefox with uBlock Origin and uMatrix: fingerprint appears to be unique. fingerprint conveys at least 17.47 bits of identifying information.
- Brave: fingerprint appears to be unique. fingerprint conveys at least 17.47 bits of identifying information.
- Chromium (plain): fingerprint appears to be unique. fingerprint conveys at least 17.47 bits of identifying information.
- Tor Browser Bundle: one in 77.02 browsers have the same fingerprint. fingerprint conveys 6.27 bits of identifying information.
Yes this is unfortunate. I will check if we can somehow release the app for all devices. But I am afraid that will result in a difficult to message situation.
Sorry to burst your bubble, but this is Apple's ecosystem. 2 years is the very real artificial lifespan of "current" whether we like it or not.
Fun fact: I still have an iPad Mini 1 running some very ancient version of iOS that I use once in a while for single-page browsing. It gets the job done for very short sessions. I'm amazed the battery is still good.
Test driving it now with this comment. This is perfect for my "search and browse" needs where I need to use Google (because neither Startpage nor DuckDuckGo are adequate for that query).
I can also use this without worrying about mix ups that I sometimes end up with in other browsers where I use both private and non-private tabs.
Edit: Seems a bit slow. Need to use it more to get better measurements.
Good to see Mozilla making so much progress lately. Earlier I gave up on Firefox as the Chrome was faster and better, but now its shiny and solid again! Kudos to the team!
Having tested Firefox Focus for a week already, I'm more aware of little browsing I do that actually requires a "logged in" browser. Having easy, ephemeral browsing sessions by default is pretty nice. I hope we can get similar functionality on Firefox desktop using tab containers.
It's called "Klar by Firefox" in Germany due to the naming conflict with Focus, the magazine. I haven't seen the update in the app store yet, though. Probably still rolling out.
Update: I can see the Update to "Focus by Firefox" in the App Store (the logo changed), but due to the rebranding in Germany I can no longer access the details page of that in the App Store. The German version, "Klar by Firefox", hasn't updated yet. Likely someone needs to build the rebranded version explicitly and just hasn't done so yet.
It kinda makes sense in German, probably meant to refer to something like "klarer Blick auf die Dinge". But yeah, it's still slightly odd. Then again, naming things is really hard :)
It is interesting that they're making it seem like a new app, when they're actually augmenting an existing (and seemingly forgotten) app. I was a little confused about the app/update at first, given that I'd had Mozilla Focus installed already. It was an adblocker/privacy plugin for Safari only, though.
It appears they just took the Private Browsing component of Firefox for iOS and integrated it into the old privacy plugin Focus app, and renamed it Firefox Focus.
In any case, it has the same features it did before, so I'm okay with it. It does duplicates my Firefox app's functionality some, but oh well.
Did this replace another browser they had? I woke up this morning and it was already installed on my iPhone, so I must have had something else already installed if this was just launched today.
It says we look forward to your feedback - anyone know where I should send feedback?
They the button in the bottom right opens the current URL immediately in Firefox (separate app) without a prompt or warning seems against the private browsing expectation I have.
Edit: also it appears swiping doesn't go "back" :/
Looks awesome, can't wait to play around with this. On a separate note, I'm a sucker for great UI. I love the waveform on the landing page. Browsing through the repo, I had no clue this was available in the form of a pod. Needed something like this for a current project.
Ran an identical search in the "new" Focus and in Safari with 1Blocker and set to use DuckDuckGo. Focus with Yahoo search page leads off with 2 sponsored search results, aka ads, which take up most of the screen on my 5s. Safari with DDG has none.
That was my first thought (and what I think the path would be for getting this browser experience on Android). It's basically Firefox for Android, private browsing mode with tracking protection enabled, but it doesn't seem to be possible to set private browsing as the default. Thus any link from other applications will automatically open in a tracking friendly context first.
I was looking for the wrong about:config value. While you can't have private browsing mode be the default, it is in fact possible to enable tracking protection outside private browsing mode, so you can get these same benefits (privacy.trackingprotection.enabled in about:config).
I'm not an iPhone user, so I can't give this a hands-on test, but it looks rather nice.
One omission that jumps out though is that this doesn't look like it has TOR integration/support, unless it comes with it's own onion routing and I'm missing it.
I'm not advocating for TOR by the way, it just strikes me that the instances where you would want a private browser are very likely the same instances where you don't want network intermediaries viewing your communications, no?
It does use an extensive HSTS preload list. So if you go to for example http://Bugzilla.mozilla.org it will actually never hit http and go straight to https.
Same list as in Firefox and Chrome. (iOS feature, all apps get this for free)
Is there a whitelist? For some reason they're blocking API access to reddit entirely which is annoying as I want to browse certain sites that rely on this API. Why would the reddit API be on these lists?
This appears to be an update to a content blocker that has existed for quite some time. I've had this app installed for a long time, but the integrated browser is new.
Yeah; it's frustrating. Perviously, I only opened the app to turn it off if a website was broken. Now I have to tap another button before I can toggle the settings.
Some Google AMP sites don't load with all the privacy toggles on.
This is a huge step forward as I assume those trackers they're talking about include all ads by definition (anyone know of any ads that don't track?). If that is indeed the case, this seems to be the first browser from a major vendor to include ad blocking by default (AFAIK). That is huge news. We are looking at the future of browsers here with regards to such protection and likely a changing of the guard as Chrome falls out of favor due to Google's pro-ad (and therefore pro-malware/anti-privacy) stance ... albeit I'm sure someone will fork Chromium and add such features in at some point. This seems to be a good first step for Mozilla / Firefox in this direction and I truly hope that they continue this trend for all their other products. I'm pretty sure there is no need to explain why having this as the default (as opposed to plugins that have been available for well over a decade) is a huge deal.
This is good news. I always wanted something like this in browsers on desktop. I know this one is for iOS, but at least I can use it on my mobile.
Anyone know why this isn't available on Android or desktop (Linux)? Technical reasons or is it due to not enough developer bandwidth to implement it (which is reasonable too)
The opposite of privacy: every address you type in Firefox Focus gets sent, live, to Yahoo/Verizon, complete with a User-Agent identifying the request as coming from Focus, indicating an unusual desire for privacy.
Thanks for that. Not sure why my original reply was killed.
Further info:
1) Appears the Brave browser uses the same hardcoded suggestions list. Why have such a list?!
2) If you are really concerned about privacy this is still a bad option because accidental hit of Go/Search/Enter sends an incomplete address to Verizon/Yahoo -- with no choices to disable this or chose another destination.
Actually, it is a UIWebView wrapper. Safari is a complete application that does a ton of stuff not appropriate for Firefoc Focus. UIWebView is just a UIKit component to render web pages in a rectangular area on screen.
I'm not complaining, I like the Focus app and will probably frequently use the browser mode. It is interesting to me that Apple with their, sometimes too, tight control over apps in the app store would be okay with an app changing its purpose like this.
How abut fixing the numerous FF issues for the MacOSX? But I guess that doesn't attract eyeballs nor does it bring in new google money. I've spent more time swearing at my screen in desperation during the last 6 months-1 year than I used to do back when IE6 was ruling the web, all of this "thanks" to FF and Chrome. How can such nice products (they were nice in the not so distant past) could turn into such memory-hoggers in such a short amount of time?
I'm aware of that, but I also know that management can re-allocate resources according to the company's needs. I'm just frustrated that said "company needs" seem to never fall in line with what most of the existing FF users want.
I'm making that assumption based on me reading on other forums about users complaining about said FF memory issues. And, then again, trying to make a better product (one which uses less memory, for example) should also be on a software-maker's list of things to always have under consideration (it's like a restaurant always having to make sure that their toilets are clean).
But I agree that it's difficult to ask for even fundamental things like "give your users less memory-hungry programs" in times like these, when a chat client like Slack does almost nothing when other users complain about it using 1GB memory almost for nothing. We live in sadder times than I imagined 10 years ago, programming-wise.
Isn't this similar to Microsoft when they were forced to allow a choice of browser, or do Apple get away with it because they allow alternative web browsers provided they use the iOS rendering system to actually display pages?