Live data from Hacker News

For developers, Safari is crap and outdated

blog.perrysun.com

431–440 of 623 posts

Re: For developers, Safari is crap and outdated

#431

Hm, just a few notes: Progressive Web Apps are a Chrome-only thing by now, since Firefox has practically stripped support. (This was a somewhat experimental thing, anyways, and there are strong arguments, why users should be able to discern installed programs from external websites. You may argue that this makes much sense for Google, but isn't that desirable from an OS point of view.) WebRTC: While it's true that Sa…

P.S., my own critique on Safari: the tight tie-in into the OS. Nowadays, as computers are often longer in use as they are in the support/update cycle, it would be really nice to be able to update Safari beyond the OS level. I get it that Safari is basically running the OS web-view framework and that there are serious issues with this (edit: meaning, updating a single framework out of sync with the rest of the OS), bu…

They seem to be working on that. We got Safari 14 some time before the Big Sur release, and I think Safari 13 was faster than the accompanying OS update too ?

Re: For developers, Safari is crap and outdated

#433
post #352

Earlier quoted context omitted.

I was writing, copy&pasting, linking, etc. but in the end I gave up. There's simply too much that is wrong and it would take a long list to refute every single thing and I just does not have the time or energy to waste (Safari have taken enough already, as IE used to). In short, it isn't about "IE vs Safari". Both have multiple versions. What was awful was that IE was behind the times. Everything else was basically f…

> Safari is way more work today than IE was back in the day There's a bunch of good and bad arguments in sibling comments: some of them may be subjective. But this quote really caught me out. Wow. Wow. Presuming that you've been developing website for more than 10 years, and that your knowledge of IE6 is based on hard experience and not just reading... what on earth are you doing that is so difficult in Safari?

I’d say trying to make a PWA with Push Notifications on iOS.

Re: For developers, Safari is crap and outdated

#434
What bothers me is the only way I can support Safari is by buying a recent Mac. I have users who complain about Safari issues. But my 2012 Mac will only run Safari 12. It's unreasonable to expect me to pay $700 just so I can debug a crappy browser for a side project. So I tell Safari users sorry, please use a different browser. At least Microsoft offered VM based solutions to debugging IE.

Re: For developers, Safari is crap and outdated

#435
post #425

Hm, just a few notes: Progressive Web Apps are a Chrome-only thing by now, since Firefox has practically stripped support. (This was a somewhat experimental thing, anyways, and there are strong arguments, why users should be able to discern installed programs from external websites. You may argue that this makes much sense for Google, but isn't that desirable from an OS point of view.) WebRTC: While it's true that Sa…

Safari regularly breaks features that were stable for years: localstorage and indexedDB the most recent ones. So I am not sure how you can talk about "compatibility".

Hm, Safari has done it its own way right from the beginning. (Meaning, Chrome and Safari had never the same implementation.)

Edit: As I recall it, Safari was an early adapter of the standard (even before its release), which comes with its own caveats. And it's actually because of not breaking things that there are these Safari idiosyncrasies. (The alternative would have been some kind of rolling prerelease standard, as it had been with Web Sockets. Which means, the API remains somewhat obscure and fragile, even, when it is eventually frozen, and developers have become accustomed to using some wrapper, anyways.)

And it isn't so that Chrome wouldn't do it, as well. E.g., a few years ago, Chrome had a major rewrite of the Web Audio framework. With this, any newly created source node would point to a null buffer and any calls to the `play()` method were triggered immediately, referring to this null buffer (instead of automatically pointing to the processed buffer source, as soon as this becomes available, and postponing the call in the meantime). This meant in effect that you could practically play a sound from its decoding callback only (which is somewhat optional and only seldom used). At this point, the Web Audio API had been around for several years and this was breaking about every use of the Web Audio API, there was (including Chrome's previous implementation). Turned out, the standard wasn't exact on this – and it took Chrome several revisions to fix this issue (in the meantime, you could work around this issue by user-agent sniffing only). The standard was eventually updated to define the specific behavior.

(This is probably also why most developers ignore the Web Audio API for the most and use some wrapper instead. Which is much like using jquery to work around IE idiosyncrasies.)

Also, what would it have cost Chrome to implement KeyboardEvent.keyIdentifier to provide a somewhat compatible API?

Re: For developers, Safari is crap and outdated

#436

Earlier quoted context omitted.

But that isn't the case. At all. IE wasn't difficult because it was behind the times; it was difficult because it was deliberately different. The 2nd pillar of Microsoft's infamous Embrace, Extend, Extinguish strategy ensured incompatibility, which doubled developer efforts. The idea of IE being purely an "outdated" browser seems to be one perpetuated by young devs reading & misunderstanding old blogposts. The narrat…

At the time of their release IE4-IE6 have been the most standard-compliant browser. IE was also the fastest at the time. Netscape was in a technological dead-end, and it took considerable time until its complete rewrite (Netscape 6/Mozilla/Firefox) stabilized and caught up. The biggest problem was MS simply dropping its development (IMHO their biggest strategic blunder of 2000s). Back then all browsers had unstandard…

> At the time of their release IE4-IE6 have been the most standard-compliant browser

At the time of their release, Opera was the most standards-compliant browser. Beyond Opera, I'm not sure where Firebird, KHTML, etc. stood relative to IE4 specifically, but IE5.5/6.0 were well behind most contemporary browsers (lets exclude Netscape shall we; it was in crisis at the time and promptly discontinued). Opera, KHTML, Firefox and Webkit all passed Acid2 long before IE (IE8 was the first version).

It's worth remembering that Acid1 was released in 1998; IE6 was released in 2001. So this wasn't a time before web standards and cross-browser compat: they were very much a part of the discourse at the time. A discourse MS largely refused to participate in.

> Back then all browsers had unstandardized behavior, there was plenty of Netscape specific and IE specific hacks. Some of them were intended as EEE, some of them were result of weak standardization or mere technical limitations of their respective architectures.

That is true, but it was largely due to bugs other browser makers were working on fixing. The EEE had a heavy influence on MS' motivations to get fixes out (whereas with Safari there isn't really any evidence of any EEE being present).

A good counter-point is XMLHttpRequest. It was non-standard mainly because "AJAX" was a new-ish idea and standards didn't exist. There's good arguments that Microsoft's engagement with standardisation efforts of AJAX APIs was non-existent/actively-hostile, but at the end of the day the various APIs they implemented were pretty easy to detect (even the ActiveX variants), and generally could be targeted in a very cross-browser-compatible way.

That was very much the exception to the rule though: the majority of pains were layout related, and involved not extra nor missing features, but rather features that were in common with other browsers that were deliberately implemented in a different way.

Re: For developers, Safari is crap and outdated

#437

Earlier quoted context omitted.

Safari is not holding back, Safari is just not implementing Google’s PWA (because it doesn’t really make sense on Apple devices where it would be far inferior to native). You can make a beautiful site in Safari and it will work everywhere (I do professionally). Chrome is the new IE (2001 era, when it was cutting edge and pushing proprietary technology) except ActiveX is PWA.

Safari can't even implement a key value store (indexedDB) correctly... We had whole versions where it was basically stuffed, and even in the recent versions, I'm getting random errors where it just refuses to write to disk. If they don't want to implement PWA, fine, their walled garden and wall that, claim it's for privacy etc etc. just don't half ass all the APIs around it then! Leave them out!

> We had whole versions where it was basically stuffed

A co-worker asked me "uh, why does the app use 120GB for indexeddb?"

Wildest bug I've ever had to deal with. Unfortunately it wasn't even just a safari issue.

Re: For developers, Safari is crap and outdated

#438

Earlier quoted context omitted.

I don't want to normalise endless notification spam, which is what having this feature in Google's advertiser-friendly conception of it available ultimately does. I'm already considered a bit strange my by friends for muting all group chats and disallowing notifications for things, we don't need to entrench this appalling social norm any further. I find the idea that everyone should be instantly available at the clic…

Isn't that what Apple's iOS notifications already do? What's the justification for allowing it for a certain class of apps, but disallowing it for another class of apps, where the difference between the 2 categories of apps are just the technical infrastructure on which they are based?

It's a difference in philosophy for the most part. Google are an advertising company first and foremost, they'll do whatever is best for the advertising industry and to Google allowing every Tom, Dick, and Harry on the web to shove notifications in people's faces is great. Apple take a more paternalistic view, they see that push notifications in the browser as a feature that's often abused and so remove it entirely as to protect their user experience from annoying behaviour that's outside of Apple's direct control. Notifications originating from apps in the App Store in theory can be vetted much more closely and removed if they're deemed to be spammy.

Neither is intrinsically right and I think it's good that there's choice, what's winding me up is this idea that everyone should adopt the Google model unquestioningly as though Google are a standard unto themselves. I'm very much in the Apple camp, but it's not out of any love for Apple and more that I don't like the advertising industry and want to keep it as far away from my life as I realistically can. To me push notifications are like popups in the '00s, yes there's legitimate uses in limited cases but abuse is so widespread I'm going to treat every one as guilty until proven innocent.

Re: For developers, Safari is crap and outdated

#439

Earlier quoted context omitted.

But that isn't the case. At all. IE wasn't difficult because it was behind the times; it was difficult because it was deliberately different. The 2nd pillar of Microsoft's infamous Embrace, Extend, Extinguish strategy ensured incompatibility, which doubled developer efforts. The idea of IE being purely an "outdated" browser seems to be one perpetuated by young devs reading & misunderstanding old blogposts. The narrat…

Safari is compliant. It's behind but compliant. Well, kind of. There are all sorts of minor glitches that only happen on Apple devices. A common complaint is iOS Safari's interpretation of vh units. It might be technically correct (because the spec is sufficiently ambiguous to argue that Apple's choice meets it) but it's still obviously broken for common practical applications that work everywhere else such as attach…

> There are all sorts of minor glitches

This is true but it's true of all software. And they tend to get fixed in patch releases (rather than waiting for a new major version). Even for bugs the Webkit team leave open for years, I think there's a big different between maintaining major incompatibilities in central features for years, and being slow fixing some edge-case glitches.

Re: For developers, Safari is crap and outdated

#440

Earlier quoted context omitted.

I guess there’s a benefit of not having to take out your phone to check notifications but in the end they do compete for your attention and microdisrupt you anyway. And how many notifications on average are you willing to take in? I personally want as little as possible, the most important contacts and critical alerts are enough for me, the rest can wait till I check for them myself.

Yep and this is where it gets wierd. Maybe I should be allowed to assign priorities to different notifications and then have my phone automatically proritize what makes a "ding" based on the time of day or my geographic location. Maybe notifications should be throttled in some way so that every 30 minutes I receive a digest of notifications if there are any. Maybe they should be aggrigated till I have 5 accoumulated.…

> “Maybe I should be allowed to assign priorities to different notifications and then have my phone automatically proritize what makes a "ding" based on the time of day or my geographic location. Maybe notifications should be throttled in some way so that every 30 minutes I receive a digest of notifications if there are any. Maybe they should be aggrigated till I have 5 accoumulated. Or maybe these are all terrible ideas because they require configuration and users aren't going to spend the time configuring their notifications.”

If you haven’t tried it already, you may be interested in iOS 15’s new “Focus” feature set. Even tackles that last point on set up.

Post reply on HN