We all know the discussions about Apple’s Safari browser. And while the one party is saying “it’s the new Internet Explorer”, others counter state “it’s the user centric web”. I don’t fully agree with both parties.
It’s the new IE
Well, I can’t say that sentence is entirely wrong. With Apple’s engineers hiding all their development from the public and several occurrences where Apple invents their own “webstandard” (it isn’t – it’s just a proprietary, hurting the web invention) it is undeniable that Safari has the wrong process. They lack important features like WebRTC/ORTC, Service Worker, <picture>
and have a comparably slow release-cycle. That way they are staying behind all the other browsers out there today and users will get a worse web experience than if they’d used Firefox or Chrome. That is based on the fact that progressive enhancement is not broadly used, and not all features can be enhanced progressively (like video chat).
It’s the user centric web
Other people say, Safari concentrates rather on the user than on the developer. And while I agree in some parts, I have to deny this, too. Fact is, the Apple engineers come up with cool things like the reader mode, the twitter update bar, shared links, AirPlay, Picture in Picture. That is cool but often relies on proprietary hard- and software (AirPlay). The engineers don’t take the recommended approach of finding a universal and standardized syntax to achieve such technologies but implement some custom code that sometimes even breaks other browsers. This comes at a cost: The open web suffers from such solutions and users cannot freely choose their browser when they want to have these features.
Safari curates their featureset better
I have to agree that Chrome is an example of implement most suggestions fast and easy. I don’t particularly like this approach because later on, a performance lack might be discovered leading to the removal of an already existing and used feature. That is really hurting the web and its technologies.
Safari does it differently by not adopting new stuff so fast. But they also don’t adapt long finished web standards which is also kind of wrong because they leave their users behind. And it’s not user-centric at all if the user can’t see some content in a nice way or can’t initialize/join a video call.
There is no public discussion
The probably biggest issue with Safari right now is that the Apple team is not having an open discussion. And because of that, they build proprietary, website breaking stuff and more important, they neglect their developers and users. A developer who does not communicate with the product’s users does not know what they want to have. Be it developers asking for ES6 support or be it a user who wants the web application he’s visiting offline (Service Worker) or less transferred bytes (<picture>
) or a video call with another person only having a webbrowser available (WebRTC). That way it’s easy to say they are user-centric but it’s a denial of the users in reality.
What to do?
In fact there’s not much to do for us as developers. We can of course go the same way we went with Internet Explorer 6 when this one became too old but still wide-spread: Publicly shaming the browser. But if you remember, it took Microsoft quite a couple of years to take action and focus on the IE product again. I don’t think it’s a feasible way to do the same with Apple’s Safari.
I’d rather address issues with Safari, embrace use cases for the most wanted features and share them to the appropriate mailing lists (Apple engineers do indeed read WHATWG lists), in blog posts or ping WebKit/Safari engineers or DevRels on twitter. Apple needs a more direct contact to web developers and we should start this dialog.