
Safari isn’t the problem, but the lack of browser choice in iOS is - auchenberg
https://kenneth.io/blog/2015/07/03/safari-isnt-the-problem-but-the-lack-of-browser-choice-in-ios-is/
======
brudgers
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.

~~~
mythz
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.

~~~
addicted
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.

~~~
karlshea
I don't think this is true. I doubt they would have a problem with someone
implementing their own DOM rendering engine within their own app.

The real restriction is on executing JavaScript, scripting language execution
isn't allowed except around some exceptions for Lua in game engines.

------
mythz
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.

~~~
esolyt
> 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.

~~~
evilduck
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.

~~~
esolyt
> 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.

------
zorked
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.

~~~
gnufied
Depending on which market share data you are reading - Chrome isn't clear cut
market leader ([http://venturebeat.com/2015/05/01/chrome-passes-25-market-
sh...](http://venturebeat.com/2015/05/01/chrome-passes-25-market-share-ie-and-
firefox-slip/)).

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.

~~~
kuschku
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.

~~~
jfoster
I find the exceptions for Google sites particularly offensive. I wonder if it
might bite them in the ass (as anti-competitive behaviour) one day.

Example for anyone unsure what we are referring to:
[https://code.google.com/p/chromium/issues/detail?id=178297#c...](https://code.google.com/p/chromium/issues/detail?id=178297#c59)

------
toyg
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.

~~~
kethinov
The fact that there's no legal remedy only highlights the inadequacy of the
laws on the books.

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.

~~~
AlphaSite
Even Apple is allowing side loading from iOS9 iirc.

~~~
kethinov
Via Xcode and only if you have the source code. Doesn't quite work for people
trying to distribute apps that aren't allowed in the app store.

~~~
AlphaSite
I dont imagine it will take someone long to work around that, they already
gave you the tools in the form of bitcode.

~~~
kethinov
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.

------
matznerd
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!

~~~
matthewmacleod
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.

~~~
matznerd
That is good to know. Is there a way to check whether an app is utilizing it
or not?

~~~
LeoNatan25
No major browser uses `WKWebView` because it has very large gaping design
holes, making it a bad choice for a browser.

~~~
rockdoe
Firefox for iOS is. But yes, the gaping holes make making something
competitive problematic.

~~~
LeoNatan25
Hm, I wasn't actually familiar with the Firefox for iOS project as a real
project, just plan. Thanks

~~~
rockdoe
[https://github.com/mozilla/firefox-ios](https://github.com/mozilla/firefox-
ios)

Pretty active development. No releases on the app store, though.

~~~
st3fan
No promises, but we are in the end game for v1.0. Stay tuned.

~~~
LeoNatan25
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.

------
LoSboccacc
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.

------
iMark
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.

~~~
iMark
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.

~~~
mcintyre1994
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.

------
paulstringer
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.

~~~
jaffathecake
I think you've misunderstood the post.

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.

~~~
TazeTSchnitzel
> 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.

~~~
TorKlingberg
Microsoft didn't care for years, but as more users switched they eventually
started caring.

------
joeblau
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?

~~~
TheCoreh
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.

~~~
joeblau
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.

------
fenesiistvan
One relevant example is WebRTC. WebRTC can be used on all platforms now
(Linux, Windows, MAC, Android) except iOS because of it's Safari limitation.

~~~
shellac
There are a few WebRTC tools on iOS, including a browser:
[https://itunes.apple.com/app/bowser/id560478358?mt=8](https://itunes.apple.com/app/bowser/id560478358?mt=8).

WebRTC remains a W3C draft, of course, and had been dragging on horribly.

~~~
jessaustin
"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.]

~~~
shellac
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 :-)

------
kenrick95
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.

~~~
smrtinsert
False, Google Chrome has thrived on Windows.

~~~
kenrick95
What I meant is those Windows where only Windows Store apps are allowed (i.e.
Windows RT & Windows Phone).

------
PhilipA
I have always been very surprised on how MS could get sued on bundling IE with
Windows, without the same happening to Apple on IOS.

~~~
benzoate
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.

~~~
venomsnake
Iphone is separate market due to lack of interoperability.

~~~
7Z7
[Windows] is a separate market share due to lack of interoperability.

------
realusername
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.

~~~
babuskov
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.

~~~
Fr0styMatt8
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.

------
ebbv
I couldn't disagree more.

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.

------
legulere
Allowing alternative browsers goes against iOS' security model. They want to
keep JIT capabilities exclusive to Webkit's javascript engine.

~~~
wstrange
Competing browsers have a security record which is at least as good as Safari
(perhaps better).

That seems like a weak excuse on Apple's part

------
pfooti
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).

------
pistoriusp
I recently switched from Chrome to Safari. It's a better experience for me.

~~~
wodenokoto
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

~~~
exodust
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?

~~~
natch
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.

~~~
panic
Indeed, Apple briefly added a sort of full-screen mode to iOS Safari (Google
"minimal-ui" viewport for more info) but removed it due to abuse.

~~~
exodust
What abuse?

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.

~~~
natch
>What abuse?

phishing attacks.

[https://en.wikipedia.org/wiki/Phishing](https://en.wikipedia.org/wiki/Phishing)

[http://feross.org/html5-fullscreen-api-
attack/](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.

------
abhv
All we need is Taylor to sign-off/tweet on this. She already has the
appropriate last-name for iOS-dev related credibility.

------
damoncali
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.

------
tosseraccount
Apple is the new Microsoft.

------
fomb
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.

~~~
wutbrodo
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"

------
rgawdzik
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?

------
birdsbolt
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.

------
t0mas88
Petition created: [https://www.change.org/p/apple-allow-true-other-browsers-
on-...](https://www.change.org/p/apple-allow-true-other-browsers-on-ios)

------
georgeek
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.

~~~
skc
You don't _have_ to use iOS. So such petitions are pretty pointless.

~~~
skc
I think it's being downvoted because a lot of geeks hate that they love Apple
products.

It's a bizarre situation that results in some odd things, such as Macs and
iPads being prevalent at OSS user group meetings.

------
doorty
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.

~~~
matthewmacleod
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.

~~~
AshleysBrain
Is that really the limiting policy? Shouldn't that rule out any app using a
web view (including Chrome on iOS) since they download and run Javascript?

I thought the policy was literally "no other browser engines are allowed".

~~~
matthewmacleod
Oh, you're right, it's even simpler:

 _Apps that browse the web must use the iOS WebKit framework and WebKit
Javascript_

------
lowmagnet
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.

------
rmc
aka "Freedom Zero"

------
natch
Kenneth, what is the radar ID of the enhancement request you have filed on
this issue, so I can dupe it?

------
skrowl
Come over to Android. We have lots and lots of browser choice here!

~~~
tdkl
.. and prepare to make time for new full time hobby, like analyzing battery
usage and discovering memory leaks.

------
ommunist
take Panic's Prompt, and use Lynx from your favourite vps. Although that may
look a little hacky.

------
tosseraccount
If android can support multiple browsers, why can't Apple?

~~~
Mikeb85
Because they don't want to.

------
vfclists
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.

