Safari isn’t the problem, but the lack of browser choice in iOS is
kenneth.io
kenneth.io
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.
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.
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.
I think not suffering from websites saying "sorry, iOS is not supported" qualifies as a superior browsing experience.
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.
[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.
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.
Only 5.9% of Android users are on obsolete 2.x. 5.1% are on 4.0.x, for which Chrome was just EOL'ed at version 42 (http://blog.chromium.org/2015/03/freezing-chrome-for-ice-cre...), which compares very favorably to the current and previous versions of Safari (http://caniuse.com/#compare=chrome+42,safari+7,safari+7.1,sa...).
Now replace "Apple" with "Microsoft" in that sentence.
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.
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.
You can read all about it here (search for Netscape): http://www.justice.gov/atr/cases/f3800/msjudgex.htm
Even when the EU looked into IE specifically, they weren't directly concerned with web standards: http://europa.eu/rapid/press-release_MEMO-09-15_en.htm?local...
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.
Well, Chrome is doing exactly that today. Extending HTML with proprietary features, leading to situatons where websites work "best in Chrome", even today.
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.
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.
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.
The real restriction is on executing JavaScript, scripting language execution isn't allowed except around some exceptions for Lua in game engines.
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.
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.
1. That Apple isn't a nice person or a mean person because Apple is an "it" not a "they."
2. That the only important thing is running a sound business and that decisions are ruthlessly grounded in economics.
3. That none of it is personal.
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.
(More seriously, people really want to target "the web" as a platform without having to handle the various mobile devices seperately)
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.
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.
http://www.quirksmode.org/blog/archives/2015/02/chrome_conti...
and here:
http://www.quirksmode.org/blog/archives/2015/02/counting_chr...
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.
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.
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.
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.
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.
It seems that the post is just a fest of FUD
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.
Example for anyone unsure what we are referring to: https://code.google.com/p/chromium/issues/detail?id=178297#c...
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.
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.
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."
Also, Linux works fine for plenty of people, sure miniscule in proportion, but it hasn't failed.
When you have 90% market share, you have a monopoly. It hinders innovation.
https://html5test.com/results/desktop.html
https://html5test.com/results/mobile.html
Sure, Apple has made Microsoft a little better but the monopoly that Microsoft has really means that they don't need to compete.
http://appleinsider.com/articles/15/07/02/apples-iphone-gain...
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.
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.
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.
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.
And the reason they are is because they put user experience before developers or dogma.
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 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.
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.
Here's a couple references:
Apple does use private APIs: http://www.wired.com/2008/02/firefox_developer_uncovers_appl...
Apple rejected firefox from the app store at some point for using private apis:
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.
The publishers wanted bigger profits and Apple wanted a larger market share of eBooks. If anything they were attempting to break a monopoly.
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!
Apple doubled down because Apple was never going to concede to ANY party that might take their control away ever again.
Apple is never going to concede on this either because eventually people would then use the browser to escape the App Store.
You can scream until you are blue in the face and Apple will ignore you because unfettered Javascript is an existential threat to their walled garden.
Simple solution: require all OS vendors to permit opt-in, off-by-default sideloading.
Curate your app store all you want, but don't prevent your users from running whatever software they want on their own computers.
That would solve this.
Jailbreaking it and installing it via Cydia would be easier.
Such a policy hasn't destroyed Mac OS X's security model and it wouldn't destroy iOS'.
Pretty active development. No releases on the app store, though.
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.
(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.
IE6 remained a thorn in the side of the web development community long after viable alternatives appeared.
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.
That presupposes that Apple cares if a small number of users switch to Firefox or Chrome.
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.
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?
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.
Edit 2: Chrome intent to support PE https://groups.google.com/a/chromium.org/forum/#!topic/blink...
Nice.
I am guessing stuff like service workers, push notifications ect.
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.
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.
WebRTC remains a W3C draft, of course, and had been dragging on horribly.
Windows 10 "Mobile" will probably suffer from the same lack of browser choice (on purpose, obviously).
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.
Youtube, Gmail, Office 365, Google Maps, nothing works well with Firefox for Android nowadays.
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.
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.
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.
That seems like a weak excuse on Apple's part
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).
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
I personally prefer the cleanliness of the interface and the smooth scroll speed of Safari over Chrome and Firefox.
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.
phishing attacks.
https://en.wikipedia.org/wiki/Phishing
http://feross.org/html5-fullscreen-api-attack/
>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.
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.
So yeah, the problem is Safari. Thinking it will go away because of choice is naive. It's the default, and defaults stick around.
[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"
Neither which seem to be the case, maybe in a couple of years?
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.
It's a bizarre situation that results in some odd things, such as Macs and iPads being prevalent at OSS user group meetings.
Did they remove some low level API's in 8 that were available in prior versions?
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.
I thought the policy was literally "no other browser engines are allowed".
Apps that browse the web must use the iOS WebKit framework and WebKit Javascript
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.