Nolan, I'm not familiar with what you do or have done, but have you ever tried to make a website back in the day? Ever tried to support IE6? 7? 8? IE literally broke the web. CSS rules which worked in every browser ever wouldn't work in IE. Entire webpages weren't formatting correctly, having to spend hours, days, on workarounds. Comparing Safari to IE is just wrong. Safari doesn't break the web, it 'just' lacks support for some new javascript functions, not break standards/rules that had been there for tens of years.<p>But I'm sure this title gets you more clicks.
Disagree with this assessment. IE was so bad because Microsoft tried to go off and create its own standards that were incompatible with Mozilla / Firefox / etc. (I'm thinking of IE6 specifically). And this was big, core functionality like page layout and CSS; not some data structures that can be implemented in other ways (albeit with a performance hit). This was doubly bad because "enterprise" companies (SAP, SAS, Oracle, etc) built their original web interfaces against IE6; and those systems are so costly to upgrade that many companies <i>still</i> run IE6-compatible browsers. Chrome even has an option that can be pushed out via GPO to render certain pages using an IE6-compatible renderer. Safari is nowhere near that bad; I have yet to run across a page that works in Chrome that doesn't work in Safari.<p>Safari, by comparison, is just behind the curve on some developer-centric features. But Safari also has some things going in its favor: in my experience, it's the fastest browser on OS X by a pretty wide margin. Chrome is so bloated and full of garbage at this point that when I have it open, I usually have at least one tab sitting at 100% CPU (and this is with FlashBlock enabled). Safari also manages to feel faster while using significantly less power -- I suspect Apple has done some optimizations through Grand Central on this front.<p>Safari on mobile is a bit of a different story; yes it has problems, but I don't know that supporting a larger feature set is the answer.
As a primarily web-based advertising company, Google benefits immensely from a more feature-packed web. So does Mozilla, both because they depend on ad revenue and because they are betting very heavily on the web as a platform. Even Microsoft is heavily invested in web technologies, not only because of Bing but also because HTML5 forms the backbone of Modern (Metro) UI.<p>Apple, on the other hand, has no reason to want the web to flourish. They make money by selling hardware, and by managing a closed ecosystem of apps and services that revolve around said hardware. iAd focuses exclusively on apps, not webpages. Cross-platform web technologies that try to close the gap between web apps and native apps are a threat to Apple's bottom line. The more people abandon the web in favor of native apps, the more money Apple makes.<p>At least in the days of IE6, Microsoft didn't really care about the web. Apple nowadays, on the other hand, has every incentive to sabotage the web. I don't think it's just technological purism that makes them reluctant to allow alternate rendering engines to work on iOS. They need to ensure that apps are the only way for developers to bring advanced features to iOS users. Because they're not competing <i>on</i> the web like the others. They're competing <i>against</i> the web.
As a user, I love Safari. The hand off between my macbook and iphone is amazing, it feels smoother than other browsers.<p>As a developer, I would say they are just doing a few things differently. I think the web API and DOM/css should have a standard set that every browser has to implement in the same way. It's actually way way better than it used to be. However, I'm fine with additional api features as targeting browsers is not not difficult and may open up some cool features. Like perhaps native notifications API on IOS Safari, that would be sweet!<p>For the base Web API though, Safari has deviated on a few small things, but it's not really to the point where IE6 was.<p>Also, people will upgrade Safari. Unlike IE6, where IT shops would not upgrade because of Active X applications, Safari will at least be upgraded. So I think it's unfair to compare it to the old IE.<p>P.S., The new Windows Edge browser in Windows 10 is pretty amazing, it feels like Chrome. Very fast.
And if you are not familiar with the Mozilla Servo project, it's worth checking out. It still has a long way to go, but down the line could be very interesting.
Safari is worse than IE, however. You could install an alternative.<p>Even if they weren't, I fully agree with progressive enhancement. It is always going to provide the right incentives for everyone. Only the features most used (by end-users) will become browser vendors' utmost priority.
Okay, I'm getting on this a little late, but this is where I have to say, Hacker News, you are full of shit. Every time someone comes up with an anti-Apple title, it gets several hundred points. I'm seeing 600+ right now. And the evidence does not corroborate the claim.<p>In the beginning of the article, the author points out this set of techs as stuff that Apple does not support: {Service Worker, Web Components, Shadow DOM, Web Manifests}.<p>Well, you can go to caniuse.com, and see that for all of those (except Web Manifests, which doesn't show up), they are only well-supported by Chrome and Opera. Firefox usually has it disabled by default, and it's noticeably absent from IE.<p>I think the real issue here is something we might all find a little uncomfortable, and it's that the web isn't as important as it used to be, and Google is the only company really pushing it as a platform. Certainly, Microsoft may be repentant, but Microsoft either doesn't care to catch up, or they think it's not going to help them even the ground against Apple. And that doesn't deserve the title or the comments we're seeing here.
I generally disagree with the article, but I was also making web apps ten years ago. Trying to write them for IE, Firefox, and Safari.... It was hell. IE was the centerpiece of it because it was the dominant browser by market share.<p>Now-a-days, I think Chrome was the new IE or rather causing the same type of problems IE created.<p>Why? Developers don't test other browsers by and large. They are choosing to support Chrome, and implement non-standard APIs, because they see it is the browser they use. IE got us into trouble because of its market position, and because it fixed a lot of broken code (so when someone went to use another browser they though the other browser was broken NOT IE).<p>Developers made apps which worked only for IE and not other browsers; most of the time by accident (as their app WAS broken) but still... Now with Chrome, I see this happening again. Websites/web-apps are needlessly broken in Firefox because the devs simply didn't even try it.<p>Maybe, I'm wrong, I fucking hope I'm wrong, but it feels like the shit winds are getting ready to pick up again...
It isn't as bad as what led to IE's state that took several years of active development by Microsoft to even begin correcting. The gap between IE 6 and IE 7 was terrible, and IE 6 wasn't even that much more than IE 5, standards-wise.<p>Here's an overview of what's new in Safari (WebKit) as it ships with OS X El Capitan: <a href="https://developer.apple.com/library/prerelease/mac/releasenotes/MacOSX/WhatsNewInOSX/Articles/MacOSX10_11.html#//apple_ref/doc/uid/TP40016227-DontLinkElementID_58" rel="nofollow">https://developer.apple.com/library/prerelease/mac/releaseno...</a>
Safari isn't "lagging behind other browsers", it's just implementing different things. In fact, Safari is still the best browser when it comes to everything UI-related (animations, visual effects, …). You might disagree with Apple's priorities, but it doesn't mean other browsers are "better" per se, they're just different.<p>Safari's release cycle, however, is stupid per se.
Absolutely agree with this article. Safari is fast becoming the bane of my existence, to the point where we're considering migrating our entire app to Electron just to lock down compatibility issues. Something the article doesn't touch on is that the maximum version of Safari is locked to the OS version, and on desktop, many A/V professionals have serious PTSD when it comes to upgrading OS X. We have many customers using our app who won't upgrade from Mountain Lion, so supporting Safari cripples what we can do - even flexbox isn't an option.
"There was one company not in attendance, though, and they served as the proverbial elephant in the room that no one wanted to discuss. I heard them referred to cagily as “a company in California” or “a certain fruit company.” Their glowing logo illuminated nearly every laptop in the room, and yet it seemed like nobody dared speak their name. "<p>Why wouldn't people just say "Apple?" Is this hyperbole or is there some reason why people are afraid to directly criticize apple at a conference that apple isn't even at?
Here is an unpopular opinion: Maybe we should chill down on the constant innovation of "the web". I think we are at the point that we need some stablity, such that technologies (and companies!) build on top of it get some time to focus on maintainability, safety and usability instead of having to constantly spend time playing catch up.
The difference between IE and (iOS) Safari is that Microsoft got fined for bundling IE ( <a href="http://cs.stanford.edu/people/eroberts/cs181/projects/microsoft-vs-doj/ie/DOJSuesMS.html" rel="nofollow">http://cs.stanford.edu/people/eroberts/cs181/projects/micros...</a> ) while Apple get away with not only bundling a browser but banning competing implementations on their platform.
> Now, after one year, Apple has fixed a whopping two bugs in IndexedDB (out of several), and they’ve publicly stated that they don’t find much value in working on it, because they don’t see “a huge use.” Well duh, nobody’s going to use IndexedDB if the browser support is completely broken. (Microsoft, I’m looking at you too.)<p>Well, the reason for this is clear: offline web apps are supported in iOS but without a reliable way to store larger amounts of data, web apps get pretty much useless and so people have to go through the Crapp Store.<p>But, I have to defend Apple, IndexedDB is a ridiculous steaming pile of junk when compared to WebSQL. Writing a single-line SQL statement with multiple WHERE clauses and a couple ORDER BY, takes metric tons of boilerplate crap in addition to callback hell because the IndexedDB crap is async.
Agreed. However, it still has the best perceived performance. Just open a page with a heavy layout and scroll up and down, or type an address or search term in the location bar and "feel" how fast it loads. Apple really put some effort in making it "feel" extremely fast.
The definition of a web browser is enormous now. Even though Apple has massive resources, is it really fair to rant against them for not implementing every possible specification, five years old or not?<p>If web assembly is supposedly as fast as C, why can't we have web browsers with a smaller built-in feature set and implement new specifications as libraries?
This article leaves out the rather obvious Option #4: ignore Safari and develop to modern standards. Put up warnings about how Safari is broken like we all did when we decided enough was enough with IE, and that - if a user wants one's sites to not be broken - one should use something that isn't Safari (and, in the case of iOS, something that isn't iOS).<p>The more developers who get on board with the "fuck you, Apple; if you want our sites to work for our users, then you need to fix your shit", the more pressure there will be from users for Apple to either fix Safari themselves or allow the installation of <i>real</i> alternative browsers on iOS, and thus the sooner either of those things will happen (or Apple slips closer to its pre-iPod days of borderline-obscurity).
Hey Nolan, It was good to "meet" you at edgeconf (really we were just throwing the mic back and forth, and I couldnt make it to the afterparty). I really enjoyed your panel intro and insight.<p>I agree with your assessment that IndexedDB is laughably bad in Safari, but maybe they haven't bothered because its really not such a great solution in general? I'm going to reassert that I think we could do much better - since IndexedDB is too low-level for what it is, but too specific for alternate solutions. I've been kicking around a blog post that I haven't got out yet - but we really need something more stream like and generic than a NoSQL index in the browser - especially something fundamental to address the future influx of WebAssembly apps. Cheers!
Except Safari's market share is not anywhere near IE's. How many times have you seen a website that works only in Safari? I never did. However I've seen "only works in Chrome" many times. So if anything, Google Chrome is the new IE.
perfect example of why safari is the new IE ... they BREAK core Javascript functionality and then let those breakages linger for months and months.<p>example - <a href="https://github.com/angular/angular.js/issues/9128#issuecomment-108210732" rel="nofollow">https://github.com/angular/angular.js/issues/9128#issuecomme...</a>
Well.. that's certainly one way to make sure developers own an Apple computer and an iOS device.<p>As long as one browser sticks out like a sore thumb you have to make a conscious decision to either pay attention to it and its ecosystem or ignore it.
Incredibly hyperbolic, considering the not-uncommon x2.5 cost for developing for both IE and Netscape, pre-IE7 or so.<p>Not even in the same ballpark.<p>But I get it, Safari is lagging on a lot of things, and it's frustrating.
>I heard them referred to cagily as “a company in California” or “a certain fruit company.”<p>Oh, come on. Nobody does this. Why would anybody do this?<p>Hyperbole for effect is all well and good -- and the clickbait title makes it <i>quite</i> clear that that's what we're wading into here -- but this borders on self-parody, like saying MICRO$OFT or chanting "don't be evil!" or "WWSJD" it makes you look like a partisan rather than someone with a valid point to make.<p>Safari does lack IndexedDB, and their 'powersaver plugin' thing has caused me headaches. Firefox is the most likely to go unresponsive under CPU load, IME, and a nasty growing habit of pushing new monetization strategies into their toolbar. Chrome has poor performance, broken video event handling, and is the one that seems most likely to break my app every time they push an update. IE8-11 have various issues with animation and SVG, and most irritatingly there are four versions of it still in active use, each with their own quirks. Edge is, I'll guiltily admit, not really on my radar yet, but I'm sure it'll have its advantages and disadvantages as well.<p>None of them are the new IE. Even IE isn't the new IE. There's never going to be another IE6 for the web -- we've all, developers and customers alike, learned the lesson about proprietary extensions and platform lock-in.
It would be easy to interpret Apple's behavior as a declaration of war on the browser. They want to force everyone into their brave new native app ecosystem where it costs you three tithes (30%) of your revenue. They certainly don't want to give you any encouragement to circumvent that via browser.<p>And web apps become ever more attractive in the appleverse: You stay in control, not Apple, and you get the revenue, not Apple. It's quite clear why Apple doesn't want that.
I would have hoped that as web devs we would have learned our lessons from the IE6 fiasco. The only browser web devs should be supporting and evangelizing is Firefox. Admittedly Firefox isn't always the best browser, but it has always been good enough, and if the people spending time, money and effort improving WebKit or Blink spent that effort on Gecko and Firefox instead, it would be a better than it is now.<p>Personally, Firefox has become my only browser on every platform but iOS and it isn't even for ideological reasons but simply when combined with extensions it is the best browser around. Once it (finally!) incorporates isolated processes for tabs, it's gonna be head and shoulders above its competition IMO.
I have to agree with the author based on the experience of developing an extension for it. Safari is sadly way behind Firefox and Chrome in supporting latest features. This has not changed since Safari 5/6 in Lion.<p>I think the author is saying Safari is new IE in terms that you need to start adding features to your sites (and extensions) that Safari won't support and blame Apple for not catching up, like Microsoft did at the time with IE.<p>Even Microsoft is planning to duplicate Chrome's extension APIs for Edge.
Why support it then? As long as people polyfill for safari or hack something to work, you just prolong its life and give Apple the motivation to continue the neglect. The same happened with IE6 - people complained and bitched but supported it, so the users had no reason to change. Until at some point it became more expensive to support IE than it was to lose the users (which of course, then upgraded).
What is happening with safari swipe to go back functionality, every time I swipe back it shows me a cached version of a page and then reloads it making it unusable and irrational, what is the point of showing a cached version for split of a second if you are going to reload it again ( happens on both iOS and OS X , Adblock is not installed)
From the article:
"Although performance has been improving significantly with JSCore and the new WKWebView..."<p>Hypothesis: new features tend to be a distraction from optimization work. If Safari is focused on optimization work, maybe the team is making the conscious decision to get what's implemented right before expanding the scope.
Today news: browsers sucks.<p>The real thing I'm worried about is that no one is working on an open app ecosystem. The only thing we have are browsers - which are horribly inefficient and have huge discrepancies with one another.
We're so terribly behind.<p>Really, Safari's problems are just a symptom. The real problem is browser existence.
I recently ditched Chrome as my default desktop browser in favour of Safari because of its lower power consumption. Apple may well have made a conscious choice to eschew staying up to date with cutting-edge web technologies in favour of a better overall user experience for the majority of users.<p>If so, it was a wise choice.
If Firefox and Chrome would render websites as nicely as Safari and integrate with the keychain I would switch (on Mac). As it stands though, neither of the alternatives are as pleasant and as well integrated with the rest of the operating system. Unlike with IE, they could be.
that reminds me of this CSS file I once saw on microsoft.com: <a href="http://farm1.staticflickr.com/49/119928279_59247e2095.jpg" rel="nofollow">http://farm1.staticflickr.com/49/119928279_59247e2095.jpg</a>
I use safari as my main browser, but yesterday I had to add<p><pre><code> -webkit-transform: translate3d(0,0,0);
</code></pre>
So that a relative positioned element would have a higher z-index than a fixed position one. Jesus.
As IE11 is going to be the last version prior to Edge with backwards-compatibility with IE-only features, IE11 is going to be the new IE well into the 2020s, even if Safari never receives another update.
Is he talking about the iOS version? Because I don't think the desktop version's market share is big enough for developers to really care about it (unlike IE).
I think the title is right, but mainly because of the multitude of Safari bugs and its incredibly slow performance. This is for Safari of OS X: assuming it doesn't crash on startup (so for me, about two out of three computers these days, up from one out of three), Safari is a piss poor browser even when it manages to run. I have a lot of code that runs incredibly slow on Safari yet has no problems in other browsers. Sometimes it drops connections randomly. Sometimes pages just crash. Sometimes it just won't render anything. The exact same code works fine in Chrome, FF, etc. and is pretty typical angular code. In other words, it's cross-browser code. Luckily, I don't think we have many Safari customers and at this point, if things don't work in Safari, the bugs I find are filed with the lowest precedence (ie: they will never get fixed) and that only because we have a person on our team who insists on using this broken browser. The lack of support for the APIs mentioned in the article only serves to drive the point home for me. The developer tools are also substandard compared to either Chrome or FF.<p>IE at least had market share. There is <i></i>nothing<i></i> that makes developing for Safari (OS X) worth the time spent.
<i>> As recently as 2010, back when Steve Jobs famously skewered Flash while declaring that HTML5 is the future, Apple was a fierce web partisan.</i><p>Web partisan or just trying to eliminate the biggest cross platform competition to native applications at that time? (flash)
You forgot the "6" in IE6.<p>Beside that IE11 is the new IE6 - it's there to stay for a long time, Windows 10 Pro/Enterprise will come with IE11 and Edge!
This is why I want the following html to work in every browser:<p><meta name="render-engine" content="chrome/webkit" />
Uh...<p>Comparing a webkit-based browser of any kind to the agony of supporting something like IE6 back in the day is like comparing a paper cut to a stab wound.<p>Nice clickbait title, though, got you to #1, aren't you proud. :P
The article misses the point. The browser is a document viewer, not an application delivery platform. Back in 2005 we all thought that web-based applications were going to take the world by storm, but now that we have slick application stores on all major platforms, this isn’t the case.<p>If you need functionality like you describe, ship a native application via an app store. It’s a much better experience than web development.