13 ms·
It's tempting to be cynical but there are good reasons for this. The main good reason is power efficiency. As the seller of the device Apple is the chief party
by abalone 10y ago
It's tempting to be cynical but there are good reasons for this. The main good reason is power efficiency. As the seller of the device Apple is the chief party held accountable for poor battery life. You or I or other technical folk might point the finger at particular apps but the typical consumer will just bemoan the "poor battery life on my phone". Apple takes ownership of that outcome and if that means forcing it to be a priority for all browsers, so be it. It's what lets them advertise the battery life for web browsing that they do.
Additionally, I would like to challenge the unsupported notion that WebKit is "stagnation of web browser tech". While there may be issues here and there, my impression is that Apple is overall committed to pushing the envelope[1] and adding compelling features.[2]
[1] https://webkit.org/blog/7122/introducing-riptide-webkits-retreating-wavefront-concurrent-garbage-collector/ https://webkit.org/blog/7122/introducing-riptide-webkits-ret...
[2] https://developer.apple.com/library/prerelease/content/releasenotes/General/WhatsNewInSafari/Articles/Safari_10_1.html https://developer.apple.com/library/prerelease/content/relea...
- irrational 10y agoUm, no. Just look at sites like caniuse.com and see how much farther ahead Chrome and Firefox are than Safari iOS. Safari iOS has become this generations IE 6. It is seriously holding back the web. And worst of all it really only gets one update a year!
- Analemma_ 10y agoIt is possible for one's utility function on web browsers to weight speed and power consumption more than standards compliance.
- trome 10y agoWebRTC and many other major features are still missing from Webkit on iOS, whereas in Chrome & Firefox I can have a full WebRTC client on mobile.
- abalone 10y agoThat's consistent with the parent comment. They're working on WebRTC.[1] Possibly they're making it power efficient first and then shipping, as opposed to shipping and then making it efficient. [1] https://webkit.org/status/#specification-webrtc https://webkit.org/status/#specification-webrtc
- abalone 10y agoAnd Chrome is reportedly more of a battery hog on macOS[1][2] and Windows[3]. So there you go: different priorities. [1] http://www.techrepublic.com/article/browser-wars-is-chrome-or-safari-better-for-your-mac/ http://www.techrepublic.com/article/browser-wars-is-chrome-o... [2] http://www.theverge.com/2015/4/10/8381447/chrome-macbook-battery-life http://www.theverge.com/2015/4/10/8381447/chrome-macbook-bat... [3] https://www.extremetech.com/computing/230583-microsoft-claims-edge-delivers-70-more-battery-life-than-chrome https://www.extremetech.com/computing/230583-microsoft-claim...
- solidr53 10y ago[1] is not good article, no test, no numbers. [2] neither is this. no info about the test other than the results. just knowing that chrome rendered flash by default at the time of this article, i know its irrelevant. [3] claims 70%...
- abalone 10y agoFalse. From [2]: "The native Safari made the new Retina machine look good: 13 hours and 18 minutes. Google’s Chrome, on the other hand, forced the laptop to tap out at 9 hours and 45 minutes."
- jacobolus 10y agoAnecdotally, Chrome uses dramatically more memory and CPU than Safari for me (note: I typically have 100+ tabs open at once), and gives me somewhere between half and two thirds the battery life, for the same type of use. I have flash turned off for both and most ads blocked via /etc/hosts, so there shouldn’t be anything especially unfair in the results. Google web apps (gmail, google maps, etc.) seem to be a particular offender.
- jalfresi 10y agoIt's not holding back the web, settle down! It can still render websites perfectly fine and will continue to do so. Seriously, what horse are you backing where iOS Safari is compared to IE6?!? What oh-so important feature you simply must-have, that would even begin to signify that iOS Safari is "holding back the web"? The web dev world is absolutely mental at the moment...
- manigandham 10y agoThere are a lot of quirks with Safari that are similar to the way IE6 eventually stopped following standards. That fact that localstorage doesnt work in private mode is 1 example.
- kevinchen 10y agoWhere is the W3C standard for private browsing mode?
- enragedcacti 10y agoThere isn't one, that's why it should behave like a normal browser (from the web dev perspective) even while in private mode.
- abalone 10y agoThat doesn't follow. If it literally behaved like a normal browser that would break the privacy guarantee of private mode. In fact you could argue that browsers that implement localStorage in private mode are the ones who are not standards compliant. From the Web Storage spec: "[localStorage] is designed for storage that spans multiple windows, and lasts beyond the current session."[1] Thus if a browser is discarding localStorage prior to the end of the current session, it's explicitly against the spec. This is more than academic. If apps aren't written to explicitly use ephemeral storage then they may not function as expected in private mode, like, say, unexpectedly causing data loss. [1] https://www.w3.org/TR/webstorage/ https://www.w3.org/TR/webstorage/
- Gelob 10y agoSafari has so much better HLS video streaming support on iOS then chrome. Chrome has caught up a little bit but the documentation still sucks.
- irrational 10y agoUh, duh? That's because HLS is not a web standard and never will be so nobody else is going to bother building it into their browsers. The standard (ISO/IEC 23009-1:2012) way to do adaptive bitrate streaming is MPEG-DASH.
- realityking 10y agoMicrosoft Edge and Chrome on Android both support HTTP Live Streaming.
- IMcD23 10y agoNot sure if you're serious about 1 update per year...iOS has ~4 major releases per year. (9.0, 9.1, 9.2, 9.3). Safari receives updates in each one. iOS 10.3, which is in beta, comes with tons of Safari changes.
- coldtea 10y ago>Safari iOS has become this generations IE 6 Yeah, the kind of "IE6" that beat Chrome and Firefox last year to be the first to fully support ES6 for example. https://twitter.com/webkit/status/728643624464883712 https://twitter.com/webkit/status/728643624464883712 Check http://caniuse.com/#compare=chrome+59,safari+TP http://caniuse.com/#compare=chrome+59,safari+TP yourself, and you see the differences in scores is mostly because they give 1 point to every API, however non-important it is. Meanwhile, Chrome supports some good ones (File Storage, WebRTC, Pointer Events etc), but Safari supports some good ones that Chrome doesn't too: MathML, HTTP Live Streaming, Video and Audio Tracks, SVG fonts. But Chrome also tries to push various proposals of (mainly) theirs, down everyone's throats.
- irrational 10y agoMathML has been dead for years. HTTP Live Streaming (HLS) is not part of the spec and never will be. What is part of the spec is MPEG-DASH. But, File Storage, WebRTC, and Pointer Events? Those are actually useful for modern web development.
- hutzlibu 10y ago"But Chrome also tries to push various proposals of (mainly) theirs, down everyone's throats." Never experienced that with chrome, but I developed a kind of hate towards mozilla, for forcing IndexedDB and IndexedDB ONLY and refusing for anything else and therefore killing FileAPI and WebSQL
- hrodriguez 10y ago> You or I or other technical folk might point the finger at particular apps but the typical consumer will just bemoan the "poor battery life on my phone". You don't give people a lot of credit for even minimal logic with that statement. I've dealt with a large number of low-tech users and every. single. one. of them has understood the relationship between battery life and the applications they run. They also understand what having GPS, active WiFi and watching a couple of hours of video will do to their batteries. The only ones that have a problem with this are the ones that pay $800 for a device that struggles with normal 2-day usage because thin trumps mAh.
- markcerqueira 10y ago> My impression is that Apple is overall committed to pushing the envelope and adding compelling features. Have you used WebKit? I'm running into issues with bugs that were reported 2+ years ago.
- st3fan 10y agoAll browsers have these sort of bugs. This is not unique to WebKit. All browsers have "quirks". All browsers have parts of standard APIs that they implement incompletely or slightly different. None of this is unique to WebKit.
- mikeash 10y agoNon-browser apps can kill your battery just as much. Why would it make sense only to restrict browsers in this way?
- bennyg 10y agoIt doesn't restrict just browsers, but every app that uses a WebView. This also isn't the only thing they're doing on that front.
- mikeash 10y agoIt seems unlikely that a non-browser app would embed some other engine. I don't think I've ever seen that done on the Mac, for example.
- mwcampbell 10y agoWhat about every Electron app?
- mikeash 10y agoDoes it count if it's not being used to actually browse the web? I believe Apple would allow that even on iOS.
- citrusui 10y agoIn the case of Electron, the application is the webpage. Apple allows web apps built with Cordova on iOS, but warns that they may be rejected in the approval process if they run too slow.
- MBCook 10y agoI kind of doubt it. My understanding of the rule is Apple will not allow any alternate web renderer on their platform. You might be able to get away with the old opera mobile thing of having another server render the image and just serve the image on the phone, but no one wants to actually do that.
- richdougherty 10y ago> The main good reason is power efficiency. It would be great if there was competition so that other browser developers could try to improve power efficiency even more.
- MBCook 10y agoWhen Chrome stops trying to melt peoples computers, I'll give them more of a chance. It's been well known for years the chrome is very hard on battery life compared to Safari, and while they seem to be working on it they're still WAY behind. It doesn't seem to be a high priority for them (relative to new features), so I don't see why they even try.
- richdougherty 10y agoIt doesn't have to be Chrome. It could be Edge, Opera, Firefox or some other browser that's yet to be invented. Currently none of these will ever exist on iOS.
- aboodman 10y agoThis makes zero sense. You can install 3rd party apps that can do whatever they want (within the limitations of the platform) power-wise. But for some reason Apple needs to limit the special case of apps that are browsers? I think the most charitable explanation possible is that Apple doesn't want any kind of "open with..." choice ala Android Intents because they aren't very usable. For the same reason they don't allow you to set the maps application or the phone application. As a person who has done a lot of platform design, I can definitely relate to that desire. OTOH, as a user who prefers Chrome and Google Maps, it drives me crazy that the default is always to open Safari and Apple Maps.
- abalone 10y ago> You can install 3rd party apps that can do whatever they want (within the limitations of the platform) power-wise. The key phrase being "within the limitation of the platform." Apple's been pretty consistent in designing (and limiting) key developer APIs to be power efficient. And they're willing to ship later to achieve it. I mentioned WebKit. A more obvious example of this is their approach to multitasking. Android let apps do more or less whatever they wanted and they supported multitasking first. Apple waited until iOS 4, but the more structured and regulated set of APIs they came out with was much more battery friendly. > I think the most charitable explanation possible is that Apple doesn't want any kind of "open with..." choice Yet iOS 8 added a bunch of extension APIs.[1] You can literally open content in other apps via the system share dialog, including third party mapping and voip apps. The stated reasons for waiting until iOS 8 were that they needed to do a bunch of architectural work first.[2] [1] https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/ https://developer.apple.com/library/content/documentation/Ge... [2] http://www.imore.com/our-full-transcript-talk-show-wwdc-2016-phil-schiller-and-craig-federighi http://www.imore.com/our-full-transcript-talk-show-wwdc-2016...
- autoconfig 10y agoYour argument is still not making much sense. I don't see how the power efficiency of the APIs is relevant. The point is that they currently allow tons of applications (E.g. Candy Crush) that drains the battery. What's the reason for making the browser a special case? It's just rendering to the screen like any other application. One argument I could see being made is that the browser is used more than others and thus warrants tighter control. But even that is weak. People are draining their batteries all day long playing games as it is.
- Yetanfou 10y agoSometimes it is wise to be cynical, especially when dealing with companies which pride themselves on their profit margins while keeping their users at a tight leash. Doing anything else is not only bad for your budget but also rather illogical, knowing that those profit margins depend on keeping users' noses pointing in the 'right' direction. So, yes, there are good reasons for Apple being very determined over what you can, and more importantly can not do with Webview and Safari on iOS: they do not want iOS to become too good a host for web-based apps for fear that they might out-compete appstore-bought apps as Apple does not make a cent off the former. This is also why Apple does not allow other 'real' browsers on iOS as those could be used to circumvent these restrictions. That thing about power consumption goes just as much for other apps as it does for web browsers so it is rather easy to defeat that argument.
- amelius 10y ago> but the typical consumer will just bemoan the "poor battery life on my phone" There's a quote: "Make a system that even a fool can use, and only fools will use it." Except it isn't true in this case. Which is unfortunate because developers should know better: supporting only a single brand is bad for competition, and will turn computing into a monoculture.
- yeukhon 10y agoI think it is really simple. I don't think it has anything to do with power efficiency. If anything resemble notable cause, then Apple simply wanted to be the sole API provider. Apple doesn't want Mozilla / Microsoft / Google / Opera etc implement their own browser engine and demand or even dictate Apple's iOS implementation roadmap. It's better off the have the full control of what developers can do on iOS.
- larsgk 10y ago"stagnation of web browser tech": why do you think Blink became a thing in the first place? Also: Progressive Web Apps and Web Components are not fully there yet on Safari (WebUSB, WebMIDI, etc...Look it up). It is not in their interest to move App developers to the web and AFAIK, they didn't start moving again until too many made fun of them, calling Safari the new IE6.
- om2 10y agoSafari has one of the best Web Components implementations, with excellent Shadow DOM and Custom Elements compliant to the latest spec in the Safari 10.1 beta. These are the two most essential Web Components specs. By comparison, Edge doesn't have either, and Firefox has no Shadow DOM and old out-of-spec Custom Elements. How is it that Safari is holding the web back in this area? (WebUSB and WebMIDI have nothing to do with Web Components, they are hardware-specific device APIs.)
- debt 10y agoForcing Webkit on errybody might be mainly a security thing. Also, depending on what counts as security, maybe Apple doesn't want analytics on everyone's web browsing experience sent to Google.