No, the way to get Apple's attention over Safari is to pull a page out of Apple's own playbook and that page should be "iOS Strategy for Flash." These days Apple doesn't negotiate with developers. When they have to negotiate it's hardball time. Given that Apple mostly ignores requests from the community of iOS developers, the odds Apple will mea culpa to people even less relevant to its strategy than "the help" are probably zero.
A concerted campaign of browser sniffing and delivering a "We don't serve your kind here" to Mobile Safari users is going to stand a much better chance of Apple's attention than a petition. There's nothing wrong with treating the current situation as just business, but if it really needs to change then that change has to be driven by market changes. A Hallmark Card to Tim Cooke ain't gonna do it.
Apple serves its Users not Developers, most of whom appreciate there's only 1 icon they need to click on to access the Internet. Only developers think that having multiple browsers to choose from is a value-add - for most users it just adds unnecessary confusion and complexity.
Killing Flash wasn't a FU for Flash Developers. The only reason why Flash was banned was because it provided a poor experience on a touchscreen device, performed horribly and was a battery drain.
The way to get Apple's attention is for Google or Firefox to develop a superior browser and browsing experience on Android, that users take notice is missing from iOS and is regarded as a USP for Android.
> Apple serves its Users not Developers, most of whom appreciate there's only 1 icon they need to click on to access the Internet. Only developers think that having multiple browsers to choose from is a value-add - for most users it just adds unnecessary confusion and complexity.
And Apple's restriction has nothing to do with "only 1 icon"; you can ship competing browsers, and in fact Google ships a "Chrome" on iOS.
The restriction is on the rendering engine.
And note that this restriction does not "serve the users". Users who want a faster, or safer, or more compatible browser with some favorite site of theirs that is pushing the envelope on mobile apps via the web are not able to use a better browsers with a better rendering engine.
Look at how many people run Chrome and Firefox on Windows and OS X, when there is an existing browser available. They are not all "developers"; they are users looking for faster rendering, more compatibility with services that are pushing the envelope of web apps, a safer experience, and the like.
Sadly the Google Chrome on iOS is just a UI over the safari engine. Apple won't let Google port their web engine over to iOS like Google did for OSX. This means that Google Chrome on iOS is stuck with however Apple decides to render the web.
> Apple serves its Users not Developers, most of whom appreciate there's only 1 icon they need to click on to access the Internet. Only developers think that having multiple browsers to choose from is a value-add - for most users it just adds unnecessary confusion and complexity.
Now replace "Apple" with "Microsoft" in that sentence.
First, I think EU was wrong on Microsoft's case with IE integration. At the end of the day, a superior Chrome decimated IE's dominance, not EU's fine or mandatory browser chooser.
Second, at the time IE was stale beyond belief and quite obviously inventing compatibility issues just to further its own dominance. Safari team have done none such thing, they just move at their own pace, doing the usual Apple thing, you can complain about their obliviousness but still attribute malice? That's rich. Webkit is opensource FFS.
Firefox peaked at like 40% market share back in 2007 / 2008, before Chrome was even a thing.
The case against IE was not that Microsoft bundled it with the OS. Its completely different from what Safari on iOS is. The problem with IE back in 2000 was that Microsoft was:
1. Bundling their browser with their OS.
2. Had 90% of the browser market share as a result of (1).
3. Using that market share to break web standards and implement proprietary IE only features that broke html for everyone else and made it impossible to compete, because if you made a standards compliant web browser in 2002 it would not render pages properly that were designed for IE.
I don't exactly know what made the US fed care so much about preserving web standards over a lot of other violated standards by monopolistic entrenched interests, but their suit was entirely about Microsoft using its position as an overwhelming market dominator of web browsers to usurp web standards.
Apple really can't do that. Safari's market share, even as the only iOS browser engine, is peanuts. All they are doing is making their own platform irrelevant, and since they are not doing the whole "proprietary web that cannot render right in Chrome" thing, they aren't an antitrust case for being incompetent.
> Using that market share to break web standards and implement proprietary IE only features that broke html for everyone else and made it impossible to compete, because if you made a standards compliant web browser in 2002 it would not render pages properly that were designed for IE.
Well, Chrome is doing exactly that today. Extending HTML with proprietary features, leading to situatons where websites work "best in Chrome", even today.
The real difference is utterly unrelated to all that.
The reason Microsoft was on the hook was because it was a software vender forcing its choice. Apple is a hardware+software vendor, and when you own both the software and the hardware, you can make more restrictive choices and are not open to the same class of laws.
it's dumb, but that's the main legal difference here as to why the microsoft case doesn't apply to apple.
Preventing other rendering engines is Apple trying to leverage the strength of its iOS platform to help control the future of the internet. Nothing more, nothing less.
I can understand their wanting to have some say on what may be the sole future platform, but lets not pretend it's for some altruistic reason.
"Apple in 2015 is exactly the same company as Microsoft in 1998." OK, gotcha. Substantiation would be nice to see, but I'm not going to hold my breath.
The issue is not "one button," the issue is power management. Even in OS X, there is a noticeable difference in the energy efficiency of Safari vs. Chrome or Firefox. That matters way more on a mobile phone.
If users installed Chrome, and their battery died an hour earlier or more, would they blame Chrome? Most would not. Most people have no idea that different versions of the application (a browser) can have that large of a difference in power drain.
>most of whom appreciate there's only 1 icon they need to click on to access the Internet.
That's clearly bs though. Most of those could continue to have one icon they can click. Nobody is forcing two more icons on them. A page from Windows history - for a long time even though alternative browsers were always available people continued to click on the one blue e icon until IE languished more each passing day and alternatives got better and better. Apple could keep safari top notch and most will not realize that alternatives exist. But if they don't (as current status quo implies they're slower to catch up with standards and fix bugs) people switch and progress continues.
> The way to get Apple's attention is for Google or Firefox
> to develop a superior browser and browsing experience on
> Android, that users take notice is missing from iOS and is
> regarded as a USP for Android.
I think not suffering from websites saying "sorry, iOS is not supported" qualifies as a superior browsing experience.
But Safari for iOS is still pretty standards compliant, performant and modern, and far better than Android as a whole when you consider the huge chunk of Android users on an old version of Android that will never see an update (the same users who will just use the default baked in browser). Saying iOS isn't supported would generally be artificial constraints on the part of the site builder on principle, not an actual practical issue with serving them a web page.
You'd easily be shown to be the asshole when a jailbreaker or someone with a proxy spoofed their user agent and loaded your page just fine. Not supporting a browser without a valid technical reason that the layperson can ever sort of understand will totally undermine your position.
Sure if enough popular Internet properties targeting the mobile web decided to commit commercial suicide and started purposely ignoring one of its most lucrative user-bases. Should enough websites do this, I'd expect it would just increase the appeal of native Apps.
Ultimately I'd think the only noticable effect it would have is the 2s it takes users to navigate away from the site to never return again.
Reading the threads on this page has really solidified for me that this is the exact same phenomenon as the IE winter. Your comment (and a few others) are word for word the argument for why everybody had to keep supporting IE6 for all those years. You're totally right, of course; it's just a shame because we were just beginning to get excited that this problem had been solved!
This was solidified for me years ago: back when people used to get worked up about Apple vs Android[1], any talk about the negatives of restricting browser choice, keyboard choice, etc was met with "not everyone wants a platform that they can completely hack to run Gentoo lol, most people just want a phone that works". Hearing people say that on HN without even a hint of self-awareness of the actual danger of arbitrarily limiting choice on a platform was shocking, but I got over it years ago.
[1] For the life of me, I have never understood how childish one has to be to have an _emotional response_ to something like that. Whenever people would ask me my opinion and I'd state why I chose X over Y, they'd project "Wow you really hate Apple" onto me for some reason.
And one way your serve users is by enabling developers to produce compelling content for them, instead of using them as leverage to extort developers into walled gardens.
Either it pays off to take a dependency on Apple or it doesn't. The costs of the dependency are both short-term - building apps for the Apple app store and supporting Mobile Safari - and long term in the form of Apple changing it's "API" arbitrarily in ways detrimental to your business.
My point is that your business model is what you can control and change and the odds of changing Apple's business model without changing the nature of the market are zero. Changing your business model can change the market.
Finally, if your business's customers are more loyal to orthogonal aspects of Apple than to your business then it is better to think of those customers as Apple's rather than your business's. There's nothing to be gained by wishing it were otherwise.
If there's no business case, there's no business case. That's just business. Since it's just business, there's nothing to complain about because it's just business. On the other hand, signing a petition isn't business and Apple will ignore it because...well it isn't business. All of that is ok by me. I think it is unfortunate if people waste energy wishing it was otherwise rather than getting down to business.
If your business has a dependency on Apple, your options are limited. If you have a manager, your options are to do as your manager directs; or not and run the risks; or find another job.
"Business" is a big word and it means a lot. And nothing is "just business." What's the point in even saying that, except to paint with some rhetoric that assumes you are just and correct in the first place? "It's just business" is not an argument, it's a trite excuse for ceding responsibility.
Personally mandating a single WebView on iOS ends up being a good thing for iOS Users: a fast, responsive, quality rendering engine that has the same experience everywhere and gets updated with each major iOS release - dramatically reducing the permutations of rendering engine versions that needs to be tested against and supported.
One of the liberating things when first developing a Web App for iOS was only having to support a single modern browser, allowing usage of advanced features which weren't crippled by having to gracefully support old IE versions. Only having to target a single platform with limited resolutions is also one of the few benefits I see with native iOS development.
Apple have always put the end Users Experience before Developers, so it's primarily focused on maintaining a fast, fluid browsing experience on iOS which is the most used browser for tablets and smart phones and IMO still continues to provide the best browsing experience on any mobile device.
So it doesn't follow the feature-mill factory pushed by other browser vendors, I still prefer iOS's performance focus, yearly upgrade cycle which thanks to iOS's fast upgrade adoption, iOS Web Developers get to enjoy adopting new features long before Android Web Developers who have to support the old browsers shipped on JellyBean.
Actually really agree with this. As someone who develops for Android I can't tell you much potential "mental damage control" you have to be prepared for with implementing stuff. Accommodating the different support packages, APIs, device & hardware specifications - it's a headache sometimes. But I think that's part of why I love it too, the freedom and "openness" relative to iOS eco system.
That being said - Apple might be closed and all the rest, but make no mistake: they know their customer and they are willing to defend them. Even if it means pissing people off. Which is kinda nice.
Happiness in slavery? It is easier to develop for a single target, as always, but in this case the single target is starved for both features and bugfixes. I'm not sure what you developed, but in the last few months alone, we've run into bugs that have apparently existed and been known about for years. There really is no excuse.
That's an absurd statement. Maybe your argument has merit, maybe it doesn't, but let's not suggest that our smartphones browsers are anything akin to slavery.
It's an idiom from "Story of O". The comment was toward being happy under forceful limitation. But gosh, sometimes discussing things on HN feels like trying to talk about poetry with Vulcans. "ILLOGICAL, DIDN'T READ THE REST"
Speaking of talking about poetry with Vulcans, do you want to cite those bugs? I'm curious, because I've developed against Mobile Safari for years, and never actually had any particular difficulty; granted this has been mostly personal projects and little of it has entailed the use of bleeding-edge web technologies, but I'm still rather curious about this "antiquated, buggy monster" side of Safari that you seem to be seeing.
It's rather obvious (even if you're unfamiliar with the source) that he/she's not comparing browser choice to literal slavery of the user. The only absurdity here is your choice to take the most outrageous possible interpretation of his comment and then write a comment entirely focusing on this imaginary transgression.
No. It's the same hyperbolic and emotive language that is used in these discussions. It adds nothing and riles people up, which I'm going to guess is the desired result. The way it is delivered is basically pseudo-intellectual bullshit.
I suppose that's a fair point. My perspective on people getting unnecessarily riled up by the use of metaphor is usually that those people need to re-examine the level of maturity with which they're approaching the discussion. But to your point, the fact that it's someone else's "fault" doesn't change the fact that using language like that can provoke emotion that derails the conversation.
> quality rendering engine that has the same experience everywhere and gets updated with each major iOS release
That's the problem. Google can regularly update Chrome without updating the OS. Apple can't because it's a system app.
> Apple have always put the end Users Experience before Developers, so it's primarily focused on maintaining a fast, fluid browsing experience on iOS
Not really. They actually started backtracking on most of those. They even allow third party keyboards now, most of which are slower and harder to use than the stock iOS keyboard. Considering keyboard is a more integral part of the OS, it seems weird they still do not allow third party browsers.
Apple can push a iOS point release that just includes an update a single system app (they've did it before for the 5S's compass bug, so there's precedence even) and users will actually get to download it quickly and there's no specially carrier approval bullshit that forced Google to go with a downloadable browser app pushed through the Play Store. Being forced to use the Play Store for system functionalities has not only destroyed the "open source" nature Android once had, but also delivers bugs to users faster than ever, since they push Play Services updates damn near monthly and with far worse QA than system updates.
> Apple can push a iOS point release that just includes an update a single system app
Which is inefficient and inconvenient. Google updates Chrome every 6 weeks while you are sleeping, as with all other Play Store apps. With an iOS system update, you have to click 5 different dialog boxes and go through several steps such as rebooting.
> and users will actually get to download it quickly and there's no specially carrier approval bullshit
Chrome updates don't go through carrier approval. Since Google does not need to update Android to be able to update Chrome, it's hard to understand your point here.
> that forced Google to go with a downloadable browser app pushed through the Play Store.
Chrome did not replace AOSP browser. Android still has its own browser.
> Being forced to use the Play Store for system functionalities has not only destroyed the "open source" nature Android once had
Chrome is not a "system functionality". It's an optional app you can download from the store. Android still has its own open source browser.
> That's the problem. Google can regularly update Chrome without updating the OS
If you're referring to Chrome on iOS, it uses Apple's Webkit/Webview as the rendering engine. The only thing Google is updating with app updates is the logic behind interaction with that webview, not the rendering engine itself.
I think the reference was to Chrome on Android, which (like most of the core Google apps) is treated as a separate app and updated independently and rather more frequently than OS updates, and contrasting that with iOS Safari, which is updated as part of the OS.
>One of the liberating things when first developing a Web App for iOS was only having to support a single modern browser
I can imagine that it is liberating just as it would be liberating to develop exclusively for any other browser. But what is the use case for that? I wasn't even aware that "iOS Web Developers" exist.
I think the point was that iOS as a platform presents far fewer challenges to web developers than Android does because of the multitude of different browsers people use on Android. PPK has written at length about the problem with all the different versions and forks of Chrome that exist on Android here:
I get that, but if I create a web app, I have to support all kinds of different browsers anway, so how does it help to know that iOS users are only going to be using Safari? I'm not aware of any website that is exclusively used by iOS users.
Yes, excactly. Since you have to support all the browsers, you should be thankful that there aren't more of them. On iOS you only have one browser to test against and you're done. OTOH it's practically impossible to exhaustively test on Android. Being a web developer I know which of those two platforms I wish were more like the other.
Fair enough, but how are you defining that web platform? W3C seems like a reasonable bet, but many of the features developers want remain fairly far from recommendation level.
What made IE6 IE6 wasn't the technical choices it made, but the fact that whatever were its views, those were forced on the world by its market dominance.
The browser that is closer to that position now is Chrome, not Safari. The sad fact that Apple does not allow other browsers in their platform in fact may be overall a good thing if it keeps Google from owning the web alone.
Apple may need to do something or risk losing some of the appeal of iOS. But calling Safari the new IE is barking at the wrong tree.
I am far from Google fan but calling Chrome is a problem is naive. I use Firefox on my Linux desktop and I can make Firefox default browser on my Android phone too but my wife is stuck with Safari on her iPhone - no matter what she wants. I think that is bit of a problem and should be addressed.
Still, chrome forces us devs to do a lot of stuff that we don’t want to — I personally found about a dozen layout bugs in Chrome that don’t exist in either IE11, Firefox, Opera 12 or Konqueror (which uses KHTML, the predecessor of WebKit).
Chrome just disables a bunch of JavaScript APIs on mobile, unless your site is .google.com or .youtube.com, etc.
If you develop only in chrome, you never notice, but if you develop in Firefox first, and your whole site doesn’t work in Chrome... well, shit.
And, on the other hand, we now have a bunch of sites with "works best in Google® Chrome™". Welcome to the 90s, Chrome is the IE6 of today.
Apple will never let iOS become the janky malware fest that is Android. You can run FF and Chrome on iOS you just have to run executable code in Webkit.
Except Apple very overtly neglects to fix huge bugs on Mobile Safari, so developers are locked into endless hacks to have anything substantial work correctly on iOS, which is a vital market segment. It may have been incompetence rather than willful neglect on Microsoft's part, but the end result for developers is the same. This is the right tree :)
The fact that Safari would have even less market share if other browsers were allowed onto iOS is not the preservation of healthy competition, it's undoing the distortions of unfair competition that allow an inferior product to gain disproportionately high market share. Browsers should be allowed to compete on their merits alone.
What made IE6 was that it was a good browser when it first came out and the competitors were getting worse.
Some blame that on MS being anti-competitive but Netscape were busily shooting themselves in the foot, and had two distinct codebases for the browser, so having to make bug fixes, new feature implementations in two places and often screwing up.
I think that depends on whether you're talking about IE6's earlier or later years. Earlier on it was probably what you said, but eventually it was a minority browser, except a particularly difficult one to support.
The problem is all in this fragment: "as a vendor of dominant mobile operating system". We all know Apple makes more money than any other mobile manufacturer, and we all know they are culturally dominant, but in terms of actual market penetration, they own 20% of the global market. Samsung gets 27%, just to mention one competitor.
This makes it extremely hard to get any sort of antitrust leverage against Apple. We can keep screaming at them until we're blue in the face and nothing will change.
That's all well and good, but Google can't exactly ask all their users to download Xcode and deploy some workaround to get a prebuilt Chrome binary bundled with Blink on their iPhone.
Jailbreaking it and installing it via Cydia would be easier.
> We can keep screaming at them until we're blue in the face and nothing will change.
Well, unless you're Taylor Swift. Then Apple will do what you ask within 24h.
I know there's no Taylor Swift of the iOS software ecosystem, but I think that's attitude is defeatist. If more people complained about a lack of real browser choice on iOS, including developers and users, Apple would eventually have to cave.
Oh, and I don't think Apple had more than 20% of the U.S. ebook market, yet DoJ still sued them for price fixing - and Apple lost. So if we can find the will (political or otherwise), I think we can get Apple to allow other browsers.
In the U.S., where this case would be tried anyway, Apple has over 40% market share.
> If more people complained about a lack of real browser choice on iOS, including developers and users, Apple would eventually have to cave.
Nope. Don't you remember just a few years ago, when everyone was screaming at Apple for years to put Flash on its mobile devices? Apple never caved. Apple doubled down, because Apple was smart enough to figure out that Flash was a battery-sucking, security-ruining disaster.
Gee, kinda like allowing third parties to control the web browser on a mobile device would be. Fancy that!
DoJ sued Apple and a cartel of publishers which dominated the market: "The Publisher Defendants sold over 48% of all e-books in the U.S.". Big difference. Apple was central to the conspiracy to fix prices, but the main charge was really against the publishers.
This market share/mind share / profit share rhetoric changes nothing for the sizeable portion of Apple's iOS users. Last I checked there are half a billion of them - they have no choice but to use Safari.
Exactly. Occasionally I'll give Chrome, Firefox, among others a try, but I keep coming back to Safari. I hate the way the other browsers look, especially Chrome, and Safari is super quick while being easy on the battery.
Its being the only major browser that respects battery life is pretty much the only reason I use Safari. It hurts to see that "time remaining" indicator drop by 2 hours just because I have Chrome open.
I really miss Chrome's multi-profile support, but it's just so much heavier. Last time I used Firefox (admittedly ~3 years ago) it was even worse. System-wide beachballs. Much worse than having Eclipse open. That's what got me to switch to Chrome for a time, after being a FF user since the Phoenix/Firebird days.
That's because Apple actively provides Safari with advantages with regards to API access and performance. They royally screw over the other browser vendors.
Apple also owns the app store and the default configuration of the OS is moving towards only allowing app store software (has it already finished that transition)?
They can and will reject anyone who uses private apis that they themselves use.
In addition, because they own the OS they can require that a private API is only accessed by software signed by them.
It also could cause firefox to break on OS updates and would require firefox to keep abrest of those changes.
You can still install any software you want on your Mac. As that bugzilla page says, Firefox already uses plenty of private APIs, so this doesn't seem to be a big deal in practice. And Firefox was not rejected from the App Store, another XUL client was (IMVU).
> Safari is super quick while being easy on the battery.
That's not surprising, considering it's the only product not forced to use the public web view object in iOS. It's like Microsoft Office, which has always used private MS apis that other products running on Windows were not allowed/supposed to.
I guess the same can be said about all the people buying Windows devices in the 90s. Everything is absolute, 1:1 after all - you buy something and you must like everything about it 100%!
The "Apple is not dominant" retort is very correct but also very frustrating.
Apple is dominant in the sense that they command an outsize portion of developer/consumer mindshare. So issues like this just get drowned out in all the fawning.
Because if they did, "Tide users" and "Ford owners" would be their own markets too which would mean that all brands would be monopolists by default.
You don't get to throw anti-trust at Apple because you can't be bothered to switch to a different type of smartphone, just like you can't throw anti-trust at Ford because you don't want to drive a Chevy. The notion is absurd.
> Because if they did, "Tide users" and "Ford owners" would be their own markets too which would mean that all brands would be monopolists by default.
Which could (in a formal logic, not juristic logic, sense) lead to an argument why anybody should be allowed to install any software they want on their devices - a demand that I, as a hacker, fully support.
What does Ford do differently with respect to software on their, say, entertainment system or ECU computers that Apple doesn't do with their iOS devices to allow you to draw this distinction?
Meaning that you can easily replace an entire computer system with another entirely different computer system? What stops you from doing the same with your iPhone? (i.e. buying, say, an Android device)
Have you personally ever done so? I have, and it ain't so easy, especially if you are not just swapping in a piggyback system, but actually installing a whole new ECU.
Yup. I agree with you 100%. This discussion was brought up earlier this week on HN and someone mentioned how Samsung can't get in trouble for anti-trust because you can't install an alternate browser on their TVs.
I completely agree with you. But I would like to add that Apple holds most of the important users - those who are the most willing to spend time and money online.
Yeah, you could try to paint them as dominant in a specific market segment (rich people, whatever), but it would be very difficult. We're very far from the numbers Microsoft still has on the desktop, and a world apart from the 90%+ they had back in the Netscape-suit days.
9 out of 10 desktop computers still run Windows. 12% of those still run XP. There's still no 3rd option on the desktop; Linux has failed.
So, rather than fix a real problem, people start complaining about something a lot smaller: "18% of the world's phones run in a walled garden with a relatively modern browser."
98% of computer-using population will use whatever comes with the machine; Linux is viable but the hardware vendors are not pushing it, also because of Microsoft lobbying. On the other hand Android could be easily built on top of QNX and get the same market share.
It does though. If Linux & Apple didn't exist, Microsoft would have a much shitty product. Kind of like apple's browser, since it doesn't matter that they keep it up to date since they have lock in.
Sounds convincing but a lie. Unfortunately, those pesky facts just keep getting in your way. Microsoft has always been the laggard in browser standards.
Apple's mobile market share in the US: 43.5%
Samsung: 28.7%
LG: 8.2%
Motorola: 5.1%
HTC: 3.8%
It always makes me laugh when people still, in 2015, try to pretend that Apple isn't dominant and getting more dominant with time, in the mobile space.
The words "dominant" or "powerful" or even "market leading" are not even close to the same thing as a monopoly. And the difference is extremely substantive.
Without being jailbroken it is nearly impossible to properly utilize alternative browsers. I particularly enjoy being able to choose my default browser (and mapping choice) for links. If when I click a link it always opens In safari, I end up using that browser a lot more than I would given a choice. Apple also hamstrings alternative browsers by not allowing them the ability to utilize the nitro JavaScript engine. The tweak nitrous allows chrome and other apps with in-app browsers the ability to do so, but it shouldn't have to be this way!
I would point out that WKWebView in iOS 8 provides full Nitro support, so that's no longer an issue. I'm not sure if browsers are using this yet, though – there was some talk about difficulties with certain features.
I see you guys are developing some of it in Swift. Should be interesting once Xcode 7 arrives and the amount of changes it requires. I think you might have jumped the gun a little.
In my project, I implemented a small component in Swift, and was a pain to convert. The automatic source upgrade tool did a terrible job, doing more damage than good.
Safari is the problem. Even allowing choices doesn't matter
(see the whole IE issue for how competition dies in face of convenient defaults)
Its a problem because as opposed to the article view (who cares about a subset of advanced features) it also botches standard common and useful stuff, like positioning fixed element having a css transform differently to every other browser or misrepresenting the actual viewport dimension or having unreliable orientation change events.
I don't disagree with the assertion that iOS needs greater browser choice, but, even were that to happen, Safari falling behind other browsers in standards support would still be an issue.
IE6 remained a thorn in the side of the web development community long after viable alternatives appeared.
On the plus side, the rapid adoption of new versions of iOS means that should Apple improve Safari, the new version will quickly supersede the old, rather than having it linger around for years, as IE6 did.
Is this a problem with Android's Gingerbread-era browser too? There must be a long tail of users still using that and I don't remember it being particularly good.
So this guy is saying that if other vendors were able to implement their own engine on iOS, he'd no longer have to bother ensuring the work was compatible with the massively popular default browser on iOS?
The argument doesn't stand up that Safari is holding developers back because due to it's real world levels of usage by customers you'd still be unrealistic not to support it - that is unless people are planning a 90's style 'please use Google Chrome' on Safari, nice.
Basically the guy is lazy and wants to use some latest cool bleeding edge chrome feature and is annoyed he might have to do to some other work to support Safari.
I get the feeling this guy would be far more comfortable with a Google dominated Chrome monoculture of a Web.
Many developers are still suffering from how MS throttled back on browser development, but there's an end in sight. Users made that happen by voting with their feet.
On iOS, there's nowhere else to go, so no user vote.
Yes, we'll still have to support Safari, but if Apple's browser starts to lose users on their own OS, they'll have to compete on quality/features or continue to lose users. For developers and users, that's win-win.
> Yes, we'll still have to support Safari, but if Apple's browser starts to lose users on their own OS, they'll have to compete on quality/features or continue to lose users.
That presupposes that Apple cares if a small number of users switch to Firefox or Chrome.
No that's not what I'm saying in my post. A browser choice on iOS wouldn't make Safari go away, and wouldn't mean that developers shouldn't cater for mobile Safari.
But it would give us the option to deliver experiences for other browsers, that might lead to better and more innovative experiences for our end-users. We don't know, because we don't have the choice.
Based on the points made, I'm wondering what web developers are building in the UI that requires the latest and greatest web engine technology in Chrome or Opera?
The reason I'm asking is that I understand the request for more choice, but I've also seen Android developers struggle to keep up with multiple versions of just Google Chrome on different versions of Android. I've also gotten rid of Chrome on my personal Macbook Pro because of how resource abusive it is. There are also security concerns with allowing third party programs to have direct access to a device that contains a lot of users personal information. Putting aside supporting fragmented web rendering engines, battery resources, and security; I'm really wondering exactly what Safari can't do that it needs to do?
A couple examples: Playing video without opening a full screen popup window. Preserving `position: fixed` elements in the right place while you type in a form. Properly emitting scroll events. Not throttling timers. Adding webcam/microphone API support. Allowing canvas contexts to access video content. Not downsampling images. Not immediately killing a page once it exceeds the JS heap limit. Not automatically deleting local storage and application cache. Implementing pointer events API. Adding an actual file picker (not only a photos picker). Exposing an API to control the virtual keyboard. Adding the full screen API. Allowing CSS transforms and filters to be applied to playing videos. Allow users to download files to iCloud Drive.
Thanks for the feedback. A lot of those features do make sense, but I'm wondering about something like a "file picker." iOS devices have abandoned the concept of a file system from the users perspective. I don't think anyone I know (Outside of fellow iOS developers) could tell me the `pwd` path to any of the files on their phone.
It seems almost like Apple is restricting some of these features in an effort to get developers to go native, because all of the functionality you've mentioned is available via native app SDK's. The main challenge is that you lose the web openness. Thanks again for the feedback and great points.
In regards to "hacks and bugs" mentioned in the article:
pointer event madness. file selector crash. <option> crash. rem bugs. insane RAM usage. crash from RAM usage. crash from greedy CSS selectors. canplay event never fired on media.
That's just from the last few weeks. We've been making a hybrid app and it's been an absolute nightmare due to Apple bugs. Can't imagine anyone who has built a moderately sized web app would think Safari's biggest problem is just being a little slow on the uptake.
Unlike all other browsers, Safari refuse to implement Pointer Events. So you cannot use Pointer Events (easily) in your webapp; you have to polyfill for Safari. That was exactly the situation with IE in the 2000's. Edit: I mean with IE in the 2000s you always had to write exceptional code just for it, because it had this massive presence you could not ignore, and it refused to implement standards.
I didn't say, and didn't mean to imply, that all other browsers already have implemented it. They all, except Safari, have announced plans to implement it. (IE and Edge support it now; FF in two releases... Chrome has announced they will support it, but I don't see it yet on caniuse.com....) Safari, explicitly, has declared they will not.
Edit: http://caniuse.com/#feat=pointer. Only Chrome and Opera don't show it in upcoming releases. Opera presumably will support it the minute Blink does.
"Dragging" in what sense? ISTM several browsers found what they needed in the spec to implement it. [This isn't an endorsement of WebRTC, because I haven't used it.]
It's been going for four years and remains a draft, and rechartered earlier this year. As you say, there are a number of implementations (although I don't know how complete they are), so it's not clear why they aren't progressing to recommendation. Software projects :-)
Similarly, in Windows Store (of Windows 8 & 8.1 and Windows Phone 8 & 8.1), every browser is IE or IE-wrapped: so in Windows RT and Windows Phone environment (were only Windows Store apps are allowed), there is only one choice for browser, i.e. IE. Well, MS killed Windows RT and Windows Phone hasn't got that much of market share. Hopefully they will change these restrictions in Windows 10.
Microsoft was hit with an anti-trust suit in Europe at a time when they had >90% market share in desktop computing. Bundling Internet Explorer was seen as abusing their dominant market position.
In Europe, iOS has around 20% market share, whilst Android sits close to 70%. It's really hard to argue that Apple are exploiting their dominant market position. You'd have to count iPhone as its own market.
Android Browser is the new Internet Explorer along with the webkit engine (Safari included). I should make a blog post one day showing what you get with Firefox for Android and what you get with the Android browser.
Youtube, Gmail, Office 365, Google Maps, nothing works well with Firefox for Android nowadays.
I don't see this as an issue as I use native apps for YT, Gmail and Google Maps anyway.
What's interesting is that YouTube app for iOS lacks some essential features that Android app has. For example, you can't go back to video you just watched. In Android it works with Back button, but there's no Back button on iPhone. You can have to go to history which breaks the nice user flow we have on Android and Desktop YouTube.
No I don't think that's anything particular to do with the fact that one is iOS and one is Android; Google's OWN YouTube apps are inconsistent.
The Android TV YouTube app, for example, has no way to subscribe to a channel. It also has no immediate 'go back to the video I was watching' either; you have to wait some amount of time until your YouTube history gets updated. This is Google's own YouTube app on their own platform.
I agree, I refuse to turn Chrome back on but it is tempting sometimes or even necessary. Most recently FF didn't correctly handle some intent and no app was found when a link was clicked. This was necessary for authenticating something for work. Very annoying. Anyway, the amount of Cool stuff posted here that does not work in FF desktop and requires Chrome is also quite high.
The mobile user experience would not be improved by having multiple web browsers, and my life as a developer would be a lot more annoying trying to support multiple mobile web experiences that differ significantly (otherwise what would be the point of alternative browsers.)
If Apple were to disallow alternative browsers on OS X, that would be disastrous. But OS X is a general computing platform. iOS is not. It is a device first and foremost. It does not need to be an open platform where any developer can do anything.
This is especially problematic for the market I work in - small shop, vertical market. Modern, fully-supported html5 and javascript means I can build cross-platform webapps that do really interesting stuff on desktops and mobile devices. Since I'm part of a team of two developing most of the application framework, I'm really not interested in building native apps for iOS and Android to go along with the desktop app- my time would be much better spent making sure the web app works well on all mobile platforms.
I've already run into this- I have to either polyfill or avoid using modern javascript APIs (localStorage, web workers) because there's absolutely no iOS option. The nature of my vertical market is such that I could get away with asking my users to run chrome or ff if one works better than the other, but I'm basically stuck with iOS / safari as the lowest common denominator, and have no real options to improve, other than just pulling support for iOS entirely (something I'm seriously considering).
The user interface in Safari is indeed very modern and rivals most if not flat out beat them.
But this is a backend problem. Safari is literally holding the web back by not properly supporting modern web technologies. And not allowing users to switch away from safari on one of the widest used platform is a huge problem
Safari can't be switched to full screen on iOS. That's a point against the interface for me. I honestly have no idea where you're getting the idea that Safari flat out beats other browser interfaces?
Apple is generally very cautious when considering whether to add functionality that might be used to build potentially deceptive user experiences. I would think that full screen is such a functionality. They have a different metric for the concept of "beating other browser interfaces", one that puts a higher priority on protecting the privacy and other interests of the user.
Can't we enjoy a world with full screen goodness regardless of the edge-of-your-seat, pants on fire risks from such reckless behaviour?
Full screen is a familiar mode initialised by user action, for things like video on a website. You go into full screen, you come out of full screen. It's a well understood thing. The idea that a malicious website could trick you into thinking you're viewing your iPad's home screen... well that's a shaky argument, full of holes.
Every iPad user in the world knows what their home button does. Short of intoxicated illiterates swiping their iPads down scary street after visiting evil websites, there's zero issues. The only issue is Apple's unwillingness to share the "native" features with the web browser.
That tiny little 'x', you know the one, to close those pop-down messages "this site has an app". Bad UX for anyone wanting to dismiss that message. Tapping anywhere in the message except the store button should dismiss the message.
Briefly googled but only got a bland "this feature has been removed" from Apple support doc. So where did you read that they removed it due to abuse?
I think it's a similar risk to letting people walk down the footpath. Oh no,they might be killed by falling tree branch, or hit by a car, or.... but they live another day. Most people will live another day with the full screen WMD in their browser features.
>I think it's a similar risk to letting people walk down the footpath.
No, that's a really shitty analogy. It's more similar to a personal location-tracking mobile device where a lot of people store private and sensitive information, on which you can access web pages and install apps that have the ability to read that information, sometimes in ways beyond what the user expects.
...not to mention that restrictions on what you can do with the WebView also restrict what you can eventually achieve with the UX, effectively crippling Safari's competition.
As usual with UI, it is very personal. I happen to agree that Apple's Safari UI, in both iOS and OS X is preferable to other browsers, but that is very personal. Others prefer Firefox, Chrome and even IE/Edge. And that's fine.
Since 2010 or so, I've had to monkey with code to get it to run in Safari (desktop and mobile) more than I've had to mess with it to work in IE. My, how times change.
So yeah, the problem is Safari. Thinking it will go away because of choice is naive. It's the default, and defaults stick around.
Safari isn't the problem. It's not chrome either. The problem is that 99.99% of people using the web via these browsers doesn't give a shit. It's up to us developers to build for what people are using right now.
It should be self-evident how wrong this is from the fact that UIs (web and otherwise) from (e.g.) the early 90s are pretty hideous (and much harder-to-use, in many cases)[1]. One has to balance between building for the present and moving the ecosystem and its capabilities forward.
[1] Note that this is an overlapping but different discussion from "the web was created for serving static pages and it should stick to that"
I'm sure Apple will consider allowing proper web browser competition on iOS if either:
1) It's against the law not to do so.
2) Apple users flee iOS to Android for this reason.
Neither which seem to be the case, maybe in a couple of years?
Microsoft case has nothing to do with this - even the market share numbers (that are obviously way smaller in case of Apple) do not influence the absence of lawsuits.
Apple produces the hardware and the software.
Microsoft imposed software restrictions (or lets say defaults) on hardware sold by vendors which turned out undesirable for EU. If Apple offered iOS on other phones and restricted the browser application to Safari, they would obviously get sued.
Since they "own" the hardware, and bundle it with their own software - there's nothing illegal about it.
Not that I condone of that kind of behavior, just clearing up the reasoning that was not present in the article.
A good reason why such petitions are important is that the (sluggish) EU Commission competition authority needs to see such representative citizen efforts in order to look into the lack of browser choice in iOS.
Why is this being downvoted? Apple's financial success is a completely different beast from the monopoly that Microsoft enjoyed fifteen years ago.
Even today (!!) teachers and recruiters demand Microsoft Word files. My clients regularly force Skype and Google crap on me. In contrast, when has anyone ever demanded that you use an iPhone in a world where most devices run Android?
The problem is that Apple doesn't provide access to lower level APIs that would allow other browser engines to compete on performance and increased functionality. They can only compete on UI. This lack of competition is holding back the potential of the mobile web.
This isn't quite accurate – the limitation isn't on API access, which AFAIK would be sufficient to implement a browser. Rather it's an app store policy decision to reject apps that download and run executable code.
Since any web browser would have to do this in order to run Javascript, it's explicitly rejected. I'm not condoning that (or otherwise), but I don't think it's down to API limitations.
Actually, you cannot compile a modern JavaScript engine for iOS without a special entitlement, which is not normally available to developers. Modern JS engines compile JS code on the run and need to mark specific memory regions as executable. Unless your binary is signed with a specific entitlement, iOS kernel prevents you from marking memory regions as executable. Safari and WebContent are signed with a "dynamic-codesigning" entitlement, making them non-equals among binaries.
It's nothing as technical as that. They just invoke the core-functionality duplication clause -- there's a webview class, if you reimplement it you're falling foul of the clause. Of course they control what functionality is considered "core", so they can decide at any point what is acceptable and what is not, which is exactly what they want.
Chrome worked wonderfully on my iPhone 5, up until the point where I installed IOS8. It was unusable after that, so I had no choice but to switch back to safari.
Did they remove some low level API's in 8 that were available in prior versions?
This is especially a problem when a site has something broken in it (JS/large files/etc.) that causes the browser to crash. One has little recourse when this happens to every browser on the platform.
Why won't folks accept that the fact appeal wields major influence in Washington and Brussels, or the bureaucrats waiting for Apple's cashpile to get bigger so that they can stiff Apple for a bigger amount?
It makes you wonder whether these legislators are really committed to competition which I suspect they are not. Stiffing transgressors seems to matter more to them than genuine competition.
A concerted campaign of browser sniffing and delivering a "We don't serve your kind here" to Mobile Safari users is going to stand a much better chance of Apple's attention than a petition. There's nothing wrong with treating the current situation as just business, but if it really needs to change then that change has to be driven by market changes. A Hallmark Card to Tim Cooke ain't gonna do it.