17 ms·
Its a shame Apple gets away with stifling browser competition and forcing everyone to use Webkit. Of course it's a brilliant move: by controlling the stagnatio
by evv 10y ago
Its a shame Apple gets away with stifling browser competition and forcing everyone to use Webkit.
Of course it's a brilliant move: by controlling the stagnation of web browser tech, they can force developers to implement apps with their high-lock-in native app frameworks.
Google does the same thing with Android, but it is not nearly as blatant as Apple's flat-out blocking competitive browser implementations.
- deleted 10y ago[deleted]
- cptskippy 10y ago> Google does the same thing with Android How so? They have no restrictions on web browser development. Firefox has been there and I use it as my daily driver. Since KitKat, Android System WebView has been an app on in the Play Store based on Chrome that gets updated regularly.
- problems 10y agoNot to mention that Android also lacks a lot of restrictions that iOS has, JIT code = no problem, mono for android has many more features than the iOS one for that reason. You also don't have to use Google Cloud Messaging, you can do your own push notifications via IMAP, XMPP, etc. (Assuming you and your users are okay with pushing an 'okay I'm willing to sacrifice some battery life for this' button). Mapping components that use OSM are freely available, etc. Heck, you don't even have to use their phone app, you can install a SIP client. It's perfectly possible to use Android as it exists in AOSP without Google stuff at all. Some 3rd party apps may want to use things like Google Maps embedded, but there are projects that replace those and an Xposed module to fake the signatures to match. The Google-less Android system is really a decent experience if you're willing to put the work in to it.
- kuschku 10y ago> (Assuming you and your users are okay with pushing an 'okay I'm willing to sacrifice some battery life for this' button) That doesn’t work in Marshmallow, due to a bug, even if the user opts out, it will still disable the app during Doze. The bug has been fixed in later versions, but you as a dev obviously can’t just leave a huge share of your users without working push notifications.
- problems 10y agoI'm running marshmallow and I use SIP constantly - is this fixed in CM? Because as far as I know I haven't had any issue here, could just be that my phone doesn't Doze for another reason though.
- kuschku 10y agoSIP works, but excepting a native app from Doze doesn’t. For example, if an app has its own push notification system, even if it is whitelisted, it will be terminated during doze.
- problems 10y agoI'm unable to find any reference to this issue on Google. Is it device or ROM specific perhaps? Surely another constant connection like SIP would also be terminated, no? I don't see how that would differ from another push notification system. edit: to be clear I'm using a 3rd party SIP client (Bria), which I have indeed excepted via this method.
- kuschku 10y agoNo, but this is a bug, confirmed by Dianne Hackborn on G+
- problems 10y agoAre you referring to https://code.google.com/p/android/issues/detail?id=193802 https://code.google.com/p/android/issues/detail?id=193802 perhaps? This was fixed at https://android-review.googlesource.com/#/c/221708/ https://android-review.googlesource.com/#/c/221708/ and probably merged into many custom roms generated since. It also only occurred under fairly specific circumstances. EDIT: Yup, https://romhut.com/versions/cm-13-0-20160508-v8-0 https://romhut.com/versions/cm-13-0-20160508-v8-0 indicates it's been in CM for a while, which is probably why I haven't experienced it. Dianne Hackborn fixed this as far back as November 2015, it might have made it into 6.0.1 on some devices too, though I could be misreading.
- madeofpalk 10y ago> Assuming you and your users are okay with pushing an 'okay I'm willing to sacrifice some battery life for this' button This is the fundamental difference in philosophies behind Android and iOS. Apple likes to build their software (most of the time) like Python - its an opinionated platform that strives to make that best decisions for users. They've determined there's very little user benefit from having multiple push notification services, and they don't want to give users a way to shoot themselves in the foot by enabling such a setting that would impact battery life like that. Many of Apple's decisions can be viewed through that lense.
- problems 10y ago> They've determined there's very little user benefit from having multiple push notification services, and they don't want to give users a way to shoot themselves in the foot by enabling such a setting that would impact battery life like that. Well, I'm the user and I've determined that I'd rather not send private data through their servers, that I'd rather be able to do things like run a proper IMAP, XMPP, SSH or SIP client on my device without disconnections, etc. Those seem like pretty major use cases to me, ones which Apple shouldn't be making decisions for the user about. If I ran an Apple device I couldn't use SIP and I'd be required to pay 4x as much for a phone plan rather than using a cheap data-only tablet plan for example. That seems prohibitive to say the least...
- madeofpalk 10y agoYup. That's fine. Apple's made an opinionated decision (which IMHO probably suits the masses). If you want to make a different decision and don't want Apple to handle your notifications you can disable push notifications system wide, or switch to another platform. This is of course ignoring that the user doesn't get much of a say in what push notification delivery mechanism is used - that's up to the developer. But, to be honest, if you don't trust Apple to handle your push notifications then I doubt you would trust them to do much else, and you should choose another platform.
- problems 10y ago
- lucb1e 10y ago> You also don't have to use Google Cloud Messaging Unless you want Signal, which everyone (rightly) recommends. Finally off of almost every Google service, wanna install the latest and greatest encrypted chat app... too bad. But I recently heard Signal is finally working on it (after they closed my Github Issue as wontfix/by-design a year or two ago).
- evv 10y agoAlmost none of the following APIs are available to web applications on Android: https://developer.android.com/about/versions/marshmallow/android-6.0.html https://developer.android.com/about/versions/marshmallow/and... Edit: I'm getting down-voted, presumably because people think web apps should have different capabilities than native apps. To those responding this way: why? I can't imagine why you'd prefer the locked-down app distribution channel of the Play Store, in comparison to the open web..
- cptskippy 10y agoI think there's a distinction between an HTML App like those made with PhoneGap/Cordova and a Web Application like Gmail.com. And I personally don't think that's a bad thing to restrict most of those APIs from Web Applications. Do I want or need a webpage to be able to turn my Camera Flash on and off? Nope Nope Nope. I think a lot of the newer APIs being exposed to the Web via the Browser are not very well thought out and will eventually be removed because of the risks they present.
- CaptSpify 10y agoPersonally, I think if Android had a better permissions setup then I'd be happier with being able to control those options, but I agree.
- deleted 10y ago[deleted]
- threatofrain 10y agoAsking ignorantly here -- are you saying that those API's are accessible to Google Chrome and not to other browsers? That Google is playing in an unfair playing field?
- gcp 10y agoare you saying that those API's are accessible to Google Chrome and not to other browsers Those APIs are available to all Android apps, including other browsers. The only complaints I've heard are about Push-style APIs and power saving essentially forcing you to use Google Services.
- pjmlp 10y agoThey forked Java by cherry picking features and APIs, and are making it increasingly difficult to write portable code across standard Java and Android Java. Any Java library that depends on Java 7 or 8 standard libraries not available on Android, newly introduced JVM bytecodes, some of the Java 8 language features, annotation processors, ... isn't usable on Android. Good luck getting Java 9 modules, or eventually Java 10 value types and updated generics when they become available.
- stephengillie 10y agoDidn't Microsoft lose a lawsuit for something similar?
- taf2 10y agoYes but they controlled a majority of the market so it was a monopoly- unfortunately in this case apple does not have control
- bad_user 10y agoThis argument is often repeated, but I think it's a matter of perspective. Were all servers, mainframes and dumb terminals counted too? Back in the nineties I'm sure those counted for something compared with PCs. Apple has a complete monopoly on the iPhone / iPad market and that market is bigger than Microsoft's market in the 90s. You cannot change the OS without changing the hardware. You cannot change the browser without changing the OS. PCs and Windows never had such restrictions. So what's the difference? If you answer that the PC was an open standard whereas the iPhone is Apple's own toy, I personally don't think that's fair, given that Microsoft too has built the PC market ;-)
- GuiA 10y ago> Apple has a complete monopoly on the iPhone / iPad market ?!? Of course they do, just like Nintendo has a monopoly on the 3DS market, and Porsche has a monopoly on the 911 market, but that's just tautological. If you meant "Apple has a complete monopoly on the smartphone/tablet market" then a 3 second Google search will show you that this is completely false.
- deleted 10y ago[deleted]
- threeseed 10y agoYour argument is illogical when you think about it. Microsoft dominated the Personal Computing market. Apple is dominating the iOS market which is a subset of the Mobile Device market. I can buy a mobile device and experience the social and personal benefits from dozens of players. And bringing it back to the point at hand. The reason Microsoft got in trouble is not because they had a monopoly. But because they used that monopoly to unfairly attempt to create another monopoly when a new competitor came into the market. Safari always shipped with iOS. There was never any competition to begin with.
- DougN7 10y agoIt's almost like they're trying the same plan IE used for many years.
- millstone 10y agoGoogle does this worse with ChromeOS.
- digi_owl 10y agoDon't have a device to test, but i suspect you could always use Firefox for Android on ChromeOS going forward.
- modeless 10y agoYou can install other browsers on Chromebooks through the Play store, through Crouton, or by replacing Chrome OS with any OS you like. People generally don't because if they wanted to run other browsers they probably would have bought a non-Chromebook. But unlike Apple, Google gives you plenty of options.
- st3fan 10y ago> Its a shame Apple gets away with stifling browser competition and forcing everyone to use Webkit. It is. There are also some simpler steps to start with though: Apple could allow people to change the default browser on iOS. There are plenty alternatives to Safari. Let the people choose. Apple could expose more WKWebView APIs so that browsers can actually do more interesting things and compete at a feature level. WKWebView is so extremely limited by Apple that the current iOS browser landscape is very boring.
- MBCook 10y agoYou're right there a ton of things Safari does that others can't. So as you mentioned Apple would have to add all sorts of hooks to the OS and enhancements to the web view to allow people to use alternate brothers as the default even if they were still rendering with Safari internally, let alone some other engine. Now would most users rather have the time spent on that, or improving Siri to give it more domains like the ones they added last year for third-party apps? If the choice was between an improved Siri and the existing Chrome app as the default… Would that really be a smart trade off for their time? ( obviously Apple has the money to hire a lot more people, but let's face it that's not going to happen for this kind of thing)
- brilliantcode 10y agoI feel like this is a serious error in Apple's strategy. By enforcing stagnation you risk platform flight, namely Progressive Web AMPs (PWA + AMP) that load instantly (AMP - Accelerated Mobile Pages) and run and behave exactly like a native app (PWA - Progressive Web Apps) that removes all friction and user drop off associated with normal native apps. I said it before but the #1 threat to all native app vendor is Google Chrome. As it's capabilities break through the native app turf, so will the smartphone user's demand for the most powerful and flexible browser on the market (Google Chrome) and the hardware associated with it (user perception is superficial influenced by marketing). but yeah as long as celebrities go around with an iPhone, they are going to have that luxury brand tied with it.
- rimantas 10y agoHave you seen native apps? Claim that Web apps load faster or behave "exactly like a native app" is hilarious.
- brilliantcode 10y agoHave you seen PWA in production? It is indistinguishable from the native app version. And it's only getting started since being announced last summer. Yes and PWA was indistinguishable for most run of the mill "me-too" native apps that comprises 99% of poorly installed apps on the market. It won't replace popular and dedicated native applications like FB messenger but for the vast majority of people still churning out native apps they are going to face further commoditization which will create a bizarre situation where native apps will result in drive past zero and towards the negative. There's a reason vast majority of smartphone users install less than one or two apps throughout the year, web apps loading faster (sub second AMP pages) and native app experience (PWA offering add to home screen icons, offline mode, caching) will continue put pressure on the already falling and commoditized native app market.
- detaro 10y ago> It won't replace popular and dedicated native applications like FB messenger Aren't there people using the web version of that because the app is so bloated?
- rimantas 10y agoThings are very simple: browser tech, Apple's or anyones else is light years behind the native frameworks and cannot even dream of catching up. Those who think otherwise most likely are not familiar with native SDKs. BTW, there is competition for Webkit? BTW, if not for Mobile Safari on the first iPhone we would probably weren't even talking about web apps as an alternative to native. Canvas, CSS transforms/animation and load of other stuff was first implemented by Apple on Mobile Safari.
- cletus 10y ago> ... by controlling the stagnation of web browser tech, they can force developers to implement apps with their high-lock-in native app frameworks. This is really nonsense. Native apps in general are testament to the UX failure that is Web standards and browsers. Think about the issues with CSS layout (e.g. Vertically centering) and (still) the relative poor performance of one page Web apps. I heard someone else call native apps the new bookmarks. I think they're right. Think about the UX of a general purpose browser. You have to launch it then go to a site. That site's page is limited by the lowest common denominator of what a browser can do. It's also (at least) a two step process. Native apps are generally task specific (e.g. Taking photos) or at least site specific (e.g. Facebook, instagram). This is much easier to use and understand. That aside, Safari isn't what I'd call browser stagnation, certainly not to the degree Internet Explorer was back in the IE6 days. What's more, Apple does a pretty good job of keeping users on the latest versions of iOS (compared to the likes of Samsung). The browser stagnation from OS version stagnation is far more damaging imho.
- solidr53 10y agooh you mean justify-content: center; please... SPAs are pretty darn fast and they can be placed on your homescreen to open via single tap, at least in Android. Check out https://events.google.com/io2016/ https://events.google.com/io2016/
- deleted 10y ago[deleted]
- kalleboo 10y agoJust the animation of a spinning circle on that overview page uses half a CPU core on it's own.
- Proven 10y ago1) Apple doesn't get away with anything, they've lost market share. 2) Nobody is forced to buy an iPhone Stop whining.
- abalone 10y agoIt'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.
- azinman2 10y agoSo you CAN build your own browser without WebKit, you just won't get any JIT-based Javascript running. There might be a way to directly call JavaScriptCore and bridge it with your web rendering code to use Apple's JIT.
- johncolanduoni 10y agoThis is not true. From the App Store guidelines: > 2.5.6 Apps that browse the web must use the appropriate WebKit framework and WebKit Javascript. and also > 2.5.2 Apps should be self-contained in their bundles, and may not read or write data outside the designated container area, nor may they download, install, or execute code, including other iOS, watchOS, macOS, or tvOS apps. So you can't download and execute your own JavaScript, much less anything your user points your browser towards.
- thought_alarm 10y ago> by controlling the stagnation of web browser tech, they can force > developers to implement apps with their high-lock-in native app > frameworks Ah, web-developer logic. Always good for a laugh. Yes, if Google were allowed to distribute their fork of the WebKit engine on iOS then everyone would stop writing iOS apps. Just like no one writes Android apps.
- evv 10y agoMost apps are not complicated enough to warrant their own native code. Like your Android example, there used to be a time when almost everything was written with Windows APIs. Of course, some apps will always demand native tech, but most of our desktop apps are now delivered with open and standard technologies, and they work on every device or OS with a browser. I think the mobile world will follow soon. When it does, control of the industry will be released from the two major players, and consumers will benefit from increased competition, just like it has for desktop software. So yeah, web-developer logic can put a smile on everybody's face. :-)
- coldtea 10y ago>Of course it's a brilliant move: by controlling the stagnation of web browser tech, they can force developers to implement apps with their high-lock-in native app frameworks. What "stagnation"? Semi-informed complaints aside whenever someone finds that their favorite desktop JS feature doesnt work on mobile, Webkit has been in the forefront of mobile web capabilities for ages. Still better than Chrome on Android on several fronts. If it was just Chrome, we'd just have different unimplemented APIs and lower power efficiency. And there's a much more obvious reason you don't want a competitor to have their own app platform on your platform. After some point they can be too powerful for your good -- the same way that continued support for Microsoft's Office or Adobe Photoshop was crucial for Mac OS/OS X success in the late nineties / early 00s. Oh, and as somebody mentions elsewhere in this thread, how would an alternative browser implement GPU access (for WebGL APIs), or their JIT? They'd need to be given all kinds of first class access to the device which can be compromised or exploited.