DEV Community

Cover image for Safari is the New Internet Explorer
Meghan (she/her)
Meghan (she/her)

Posted on

Safari is the New Internet Explorer

Image credit: blog.html5test.com

A little while ago, someone at The Verge posted an article titled "Chrome is turning into the new Internet Explorer 6". And today I would like to strongly refute this. The reason I dislike this article so much is because it not only brings up valid points but in the process of doing so, proves its title wrong and completely subverts the problem that it is trying to bring light to.

The issue that Chrome is starting to suffer from is that it is becoming too good. Google just has so many people invested in the entire process of web development stack (standards spec writing, browser engineering, site development, etc) that the other browsers are having a hard time catching up when it comes to releasing new features.

However, this was not the issue that Internet Explorer faced. From the article,

Ignoring web standards meant that developers started to code their sites around Internet Explorer specifically, and would recommend that their customers only accessed their site through Internet Explorer.

Internet Explorer (and ergo Microsoft circa 2006-ish) did not only not participate in standards development, but went off standard, thus forcing web developers to do the same in order to cater to the browser that had a +90% market share.

We went from seeing charts like this:
ie

To charts like this:
chrome

Chrome has spoiled us and if you are lucky enough to have played with the shiny new APIs recently, I hope you have Chrome because ES6 Modules are still not implemented in Firefox, And both Firefox and Edge do not support Custom Elements (Firefox just enabled it in Nightly for FF 59)

But Safari. Safari has both**.

Oh. You might've noticed that the "both" had a big asterisk next to it. Yes, because as I said in my title Safari is the new Internet Explorer. Safari supports many, many APIs but with just enough differences that you have to be aware of them.

  • With ES6 Modules: Safari requires that you include the .js extension in include statements, and (in my experience) will sometimes only see a function inside a module (from within a module) if you export it.
  • And with Custom Elements: Safari does not support the :host CSS selector so much of the embedded CSS that you might try to add probably won't work.

And just today, I was working on making a compass PWA, and I found a discrepancy in the deviceorientation Event on iOS where the alpha value of the Event will reset to the initial value of the gyroscope on every page load. So, instead of taking advantage of the absolute property from the spec, they added their own webkitCompassHeading property for the compass value.

Oh Apple..

😩

Latest comments (37)

Collapse
 
nicols_trillo profile image
Nicolás Trillo

Chrome is a terrible browser, I don't give a sh*t about the features, if a browser consumes more ram than a video game, and gets new features constantly, maybe the company making it should consider something known as Quality > Quantity.
Also, if you think safari is even close to being like IE, you haven't developed for IE at all.

Collapse
 
jonathanalumbaugh profile image
Jonathan Alumbaugh

Currently working on a website where the video controls won't show up in Safari because of some :host styling garbage... ugh.

PS we went to the same school! Awesome!

Collapse
 
skyjur profile image
Ski • Edited

Browsers should had stopped any new ES support since ES3. Supporting new ES language features such as ES modules in browsers is just wrong direction. Transpilers allow to develop language separately from browser and developers can build for web in other languages than ES altogether like Scala, Elm, dart and typescript could get whole lot better if it stopped having to support ES. Adding new ES support in browser not only adds more complexity in browser engine it self but also further increase complexity of transpilers because now transpilers will need to support new targets to transpile to thus just wasting efforts of many people involved. JS that runs in browser should now be treated as standard assembly language of web and only get functional upgrades like new APIs to support new functionality instead of syntactical sugars that adds complexity without adding functionality. Transpilers handle the rest. Meanwhile webasm needs to be pushed forwards as eventual replacement for rotten use of javascript as assembly language.

Collapse
 
krmax44 profile image
Max

Apple makes a lot of money with their App Store. Of course they don't want to risk that market by giving PWA's a future.

Collapse
 
rgeraldporter profile image
Rob Porter

The recent spate of of "is the new IE" articles recently is weird. Were any of the authors of these articles actually around and coding in the IE6 era? Or is it just "things aren't ideal so let's call some of the browsers names until it's better"?

In the IE6 era, web standards implementation pretty much grinded to a halt, taking years for basic new features to roll out. I recall MS putting the idea out there that they wouldn't need any more versions as the browser was "done". There were no regular updates. You'd practically have to make separate sites for Firefox.

This era in web development has no equivalent at all to IE6. Things will never be ideal. There are many features Chrome has no one else has (yet). Same with Firefox. Same with Safari. The diversity is good, and lets them play off one another.

Until one of the browser vendors claims they're feature-complete, closes their source, and has complete market dominance, none of them are the new Internet Explorer.

Collapse
 
nektro profile image
Meghan (she/her)

From everything I've read, I consider myself very lucky that I did not have to code through the hell that was pre-2010 web development. No browser is going to be as bad as Internet Explorer since Internet Explorer exists. And at that, IE 11 is relatively quite good actually. The purpose of the article was to take a situation that I thought people would find relatable and bounce off the other article in an attempt to add my drop of water to the ocean of discourse.

Collapse
 
danki profile image
deko

Word!

Collapse
 
sstadt profile image
Scott Stadt

In most of the web you still have to compile, minify, and transpile everything anyway since IE11 has a choke hold on that last 10%.

It would be lovely if all the browsers could match standards but some things are just too young. As they get tested and hardened the market will come together on standards for all the hot newness.

I’d rather wait and get it right than get into the backwards compatibility mess that php did. mysql_really_real_for_sure_this_time_escape_string()

Collapse
 
bradledford profile image
Brad Ledford

In all of these comments the thing I’m having the most trouble with is the phrase “hot newness”. I am sure “new hotness” has greater than 70% market share but now I have FOMO.

Collapse
 
spock123 profile image
Lars Rye Jeppesen

Well Safari doesn't even support PWAs... so...

Safari is an abomination and only exists because it's the only allowed browser engine (Webkit) on iOS.

I'm surprised they never got sued because they block 3rd party browsers on the platform.. go figure.

Collapse
 
nektro profile image
Meghan (she/her) • Edited

I think this is an unpopular opinion but, I actually like that Safari is the only browser on the platform. Especially on mobile I think it's very beneficial to only have one browser for the upcoming PWA world we're trying to make. However. I only think it's a good idea, provided they (the platform devs [not just Apple]) make the browser good and up to date with current technologies. IMO there are too many edge cases in behavior with "downloading" web apps and deciding under the hood how they should be run, or even worse having behavior that causes a very annoying UX.

Collapse
 
spock123 profile image
Lars Rye Jeppesen

You think it's great there is no competition? Wow ok.

So you would love there to be only Explorer on Windows?
Only Samsung Browser on my Galaxy ?

I can't wrap my head around what you're saying other than it's insane.

Thread Thread
 
nektro profile image
Meghan (she/her) • Edited

On Windows, no. On your Galaxy, perhaps.

To clarify, I was more talking about WebKit than particularly Safari. To go on a bit of a tangent and take the current goal of PWAs and The Extensible Web to one natural conclusion is to almost completely get rid of the need of "native" applications. In this world, when a company, say Apple, wants to introduce a new platform on top of the ecosystem they've already created with iOS and macOS, such as tvOS, the idea is that they (Apple) would make the TV, put WebKit on it, and then all their users would have access to all the great web apps we know and love. At the same time I only agree with this idea in a world where (whatever company) makes the browser good (supports Web App Manifest, Service Worker, HTML5+, etc) and that a lack in engineering to bring these features to said engine would cause users to be able to switch.

Hardware is already approaching a point where it's easily faster than we are, and you almost have to try and make something non-performant. So my idea with that sentiment is that eventually all you would be buying is presentation in which case (my big jump) don't like the browser, buy something else.

Hope this helped clarify a bit :)

Collapse
 
bgadrian profile image
Adrian B.G.

Another "good thing", the same as IE was, Safari works only on 1 platform, which is expensive and many developers don't have access to it.

Collapse
 
pavonz profile image
Andrea Pavoni

It works on Windows too. On linux there arr other webkit based browsers, even if they’re not the same as Safari

Collapse
 
bgadrian profile image
Adrian B.G.

Safari is only supported on Apple platforms, and is not about webkit, you have to test your web apps in the actual browser, because a lot of things can happen beside 2px CSS layout break.

Thread Thread
 
pavonz profile image
Andrea Pavoni

Ouch! thank you for correcting me. I didn't know it was abandoned.

Collapse
 
fuzzy76 profile image
Håvard Pedersen

Safari for Windows was discontinued 5 years ago (version 5.1). I really hope nobody still test with it, thinking it renders the page as the real thing (version 11).

Collapse
 
hjfitz profile image
Harry

iOS is built on apps, but the entire Google ecosystem is built on the web.

I think that Apple is scared that PWAs might subvert their entire app ecosystem.

Collapse
 
tiffengineer profile image
tiff
Collapse
 
nektro profile image
Meghan (she/her)

Oh, definitely. That's why even Web App Manifest only just went into development for WebKit within the past few days. Soon gone will be the days of apple-mobile-web-app-capable and apple-touch-icon.