CSS bugs are dirt common. It's a miracle that there are as few CSS bugs as there are. However, I remember IE6. IE6 was a total fucking mess. Everything was broken on IE6. It wasn't just a bug, it was a complete support nightmare.
I routinely encounter problems with CSS that reveal maddening differences between Chrome, Firefox, and Safari. That's just for desktop. But it's still way better than dealing with IE6.
> However, I remember IE6. IE6 was a total fucking mess. Everything was broken on IE6. It wasn't just a bug, it was a complete support nightmare.
Indeed. While Safari does have its problems, it is a long, long way from being as bad as IE used to be. I recall one project where making it work on IE required that about 30% of the code be rewritten.
Safari regresses more commonly, and those regressions are often more fundamental vs edge cases, and then they take ages to fix. Sometimes they don't even bother until the next major release which is maddening... Anyone remember how they completely broke iframe sizing on iOS some version or other back and then just left it there?
We were pretty much stuffed due to depending on iframes. Some users are stuck on that version of iOS because their device is "too old" for Apple's liking and we have to tell those users we can't support it, which is horrible because we are effectively being used by Apple to coerce those users to throw their devices away...
> Oh dear God.. Clearing history on Safari iOS closes all currently-opened tabs?! Why is there nothing that warns you of that?! Why does clearing history on mobile work differently from the way it does on mac? I had 60+ important tabs open and now they're gone!!
> I had so many notes, bookmarks, and links I needed to use in my course + so many pages unrelated to work, all open for later reference. And no I don't have a backup to restore from. What the heck, Apple?!
Tried that. Cannot reproduce (iOS 15.1; iPhone and iPad).
I have seen iOS on iPad suddenly start with a set of tabs from some time ago, though, and that can look identical to “losing all tabs”. Can’t repro that either, but it seems to happen after one runs multiple Safari’s side by side and then went back to full-screen (if you do that, multiple Safari’s show up in the Task Switcher)
It boggles my mind that people use tabs like bookmarks. Not only does this usually destroy your available RAM, but its just not the right tool for the job. You are using a hammer like a screwdriver.
To each their own, I guess. Just don't get mad when your browser crashes from overloading with tabs, or when you clear your history and it triggers the expected behavior of closing them. It would be a huge privacy concern if your open tabs didn't close when you clear the browser history.
Part of the problem is the very slow release cadence of Safari. Features are tied to annual OS releases, bug fixes seem to often not meet the bar for incremental updates, which have no discernable schedule.
This here is for me one of the biggest problems with Apple. I imagine this sort of eye of Sauron inside the company, whatever the eye rests on gets attention, anything else takes a back seat. They don’t seem to be able to multitask.
There are severe bugs in iOS Mail app for instance that have been there for years, through major iOS versions. How difficult would it be to have a team dedicated to fixing bugs outside the release cycle? It would provide a great environment for up and coming developers. And I can’t help thinking that fixing these paper cut issues would gain Apple respect, maybe not from the average user, but certainly from the sort of user that notices those details.
I think Safari is now the only big non-evergreen browser remaining out there, and I think it's really holding it back. On both security fixes and features.
I hope some point in the future Apple untie Safari from macOS and iOS so they can be updated independently without having to wait months to operating system updates to come out..
It's really not just "trendy". Safari is the bane of my existence. On Big Sur, our WebGL app was occassionally sporadically rendering floating objects and black primitives into infinity on our CEOs laptop.
On the plus side, our competitor's product didn't work at all. So I guess it's not all bad.
In this case, Catalina had worked fine, and upgrading to Monterey fixed the issue. So props to Apple for fixing the problem. However, at the same time, our app worked flawlessly in both Firefox and Chrome running on the same hardware. Granted, it's not as simple as pointing the finger at Safari. The issue was a combination of Safari's behaviour paired with less than perfect graphics drivers.
Although, this is just one example. Mobile Safari not supporting full screen APIs on iPhone, but supporting them on iPad is just, well, weird. Is that a conscious effort to cripple the web on iPhone, or could they just not figure out the UX?
There's nothing wrong with the browser being the next generation cross-platform execution environment. All the older options for this (Java, Flash etc.) sucked...
I would like to see a strong competitor to Chrome someday though...
- Firefox still has weird issues occasionally (most recently scroll position randomly jumping sometimes). I still keep it around though because its sane when it comes to standards and will remain sane even if things like HW acceleration are not available.
- Safari is out of the question as it is not even cross-platform (might as well be IE6)
- Chromium and derivatives aren't distinct enough from Chrome and a lot of the new ones have weird cryptocurrency integrations that just don't feel right.
- Is Opera still alive?
Chrome fucked up one of my days, because it suddenly changed the way updating a video element's source worked. On Android 11, and not even all platforms, by the looks of the log files. So, you hack around it, deploy, shrug, and add a notch to your eternally flaming hatred for everything the internet has become.
Yikes, that's an awful bug. I make heavy use of pointer-events none. And I've _already_ had to have a special case for Safari, because it didn't seem to support setting `pointer-events: all` on SVG tspan elements. Now I have to double check to see if/what is broken in Safari 15 :(
A recommendation predicated with "Get a Mac first for development work"?
Last I checked Safari unlike Firefox and Chrome is not cross platform.
Small aside:
Webkit browsers used to have problems with CSS (especially things involving 3d) when hardware acceleration is unavailable. Spent so many hours back in the day debugging why certain CSS effects did not work. Switched to Firefox and worked like a charm... Only really understood the problem when I eventually switched to a system with HW acceleration support.
As other have said, the problem is that Safari is only available on Mac OS.
Say what you will about IE, at least Microsoft make an attempt to make it available to everyone (via free Windows VM preloaded with specific IE version).
A more reasonable approach is to code to standards then do these things:
1. Tell customers it will cost x more money to fix bugs on Safari (likely zero will pay this premium)
2. Put a notice or banner for Safari users that they are using a non standards compliant browser and they may see minor or major issues and maybe should use Firefox or Chrome.
3. Educate customers on standards and show them alternatives so they can do the same for their customers.
4. Record actual brower useage data and demonstrate the low count of actual Safari visitors and star back at #1 above with this newly applied info.
safari and browsers aside, there is something bigger going on. there is a massive disconnect between applications users and makers nowadays. i have started to think that they a) don't care b) have misaligned priorities c) have weird notions of "acceptable" errors.
i have a long list of applications that break every time there is an update. even UX updates introduce bugs nowadays. i have started to dread updates and upgrades.
Why should any developer care about supporting Safari? Chrome and Firefox support most (all?) of the current web standards. Every site I use works on both. I don't hear any concerns about Brave, Edge or Opera either. How is it that Safari is the only broken browser these days?
As for 'acceptable' errors, I find software to be pretty reliable these days. I remember way more things being messed up back in the day...
In my brief experience in front-end, I've encountered weird Safari bugs on every single project.
In one case the code failed because the form object there doesn't implement the method to validate and submit. In another, it wasn't sending a form field if it was styled with "display: none;" (had to change to "left: -9999px;"). In another, playing a non-muted video would error out some of the time, if clicking an element wasn't recognized as a user event. In yet another, the mobile version refused to center text inside <button> no matter what. And so on.
> CSS includes a handy pointer-events attribute that makes buttons and links flip to non-interactive
Except that it doesn't, you can still focus those with keyboard and click them. You should always disable buttons with `disabled` property instead of that hack.
In this case, the rule is for all interactive elements. It's not just buttons, but anchor tags as well (or any other element a user decides to put a `phx-click` and friends on. Phoenix LiveView internally already noops if it's not connected, but we used the css rule so the cursor pointer would not reflect an interactive element while in a loading state.
It's quite interesting to read the history of how Blink came to be[0]. Seems like it started on what amounts to a misunderstanding. And now, because of it, Safari's fallen hopelessly behind in web standards support, security, and even resource use (see RAM use in Safari vs Chrome with many tabs open, Safari uses 1.5x-2x more RAM). Apple's big weakness is that it has laser focus on a few cash cows, and lets everything else linger; the quality of Chrome developer relations, carefulness to not break things in updates (see Safari & IndexDB), huge resources invested in Chrome security, and focus on features and power users (tab list in the menu bar! tab search that doesn't take seconds to load on x86! better UI! tabs on top! multiple profile support! ability to open local HTML files without going into the Develop menu!). Why can't Apple just care to make a good browser?
Does anyone have any insights into how the Safari team functions at Apple, and why they're not catching up?
This is interesting to me as Safari is _correct_ in their implementation (that the underscore character isn't valid in domains), but again an instance of FF+Chrome working where Safari doesn't.
> This is interesting to me as Safari is _correct_ in their implementation (that the underscore character isn't valid in domains), but again an instance of FF+Chrome working where Safari doesn't
It's IE/Netscape all over again; a big driver of bugs back in the day was the one of them (usually but not always IE) was overly tolerant of some sort of bad behaviour).
When you're doing cross-platform development like this for the web, you're going to have a "least common denominator" that you have to design for. Safari is that least common denominator right now only because Microsoft switched to using Chromium.
But if Apple switched Safari to use Chromium, then Firefox would be the least common denominator and supporting Firefox would suddenly seem like a burden.
It's fine to criticize Safari and encourage Apple to do better in the space, since Apple isn't super incentivized to improve Safari. But this narrative that always targets the browser with the smallest feature-set at any given time will only stop when all browsers are Chromium based. (At which point they'll start complaining about other browsers using a Chromium version that's slightly behind Chrome.)
Firefox releases every 4 weeks. Safari releases twice a year. That's a significant difference. We should all expect more from a $2.5T company (whose browser engine is the only allowed browser engine on iOS).
To clarify: it's not an attack on developers of Safari. The point is that Apple is severely underinvesting while at the same time blocking competition.
I’m not at my desk to try it right now, but I wonder if this can be worked around by forcing a repaint. Animating a custom property, for instance, can fix “stuck” styles for eg scroll shadows (see https://www.bram.us/2019/10/24/pure-css-scroll-shadows-verti...).
Here’s my latest browser issue that drove me crazy: In Safari the TextMetrics.actualBoundingBoxRight returned from CanvasRenderingContext2D.measureText() includes dangling spaces, and Chrome does not. So you’ll get different text measurements if the text has a space on the end, which broke my app’s logic of rendering multiline rich text in Chrome. Ugh.
I'm trying to figure out which browser is the biggest cancer for the WWW.
On the one hand, you have Safari whom has a parent company that isn't interested in making it have useful feature parity with the others because it'll then allow escape from their gravy train app store (fully working PWA's, non-compete with rendering engines in iOS). Their lack of keeping up is starting to look a bit like IE6 days.
And on the other, you have Chrome whom has a parent company that claims it wants to improve privacy (FLoC), but to me it is more of a "pulling the ladder up on everyone else" because they have so many other methods to track you (DNS, GA, Android, etc.) that limiting everyone would be disingenuous. Pushing AMP is another example of bullying behavior.
> This is a post about a bug in Safari, but if you just want to ship a Phoenix app, the easiest way to learn more is to try it out; you can be up and running in just a couple minutes
I'm sort of sick of this phenomena/trend of marketing/promotional material being masked as technically helpful content.
This is exactly like the appalling methods of native advertising (aka sponsored content), but now used for self-promotion.
However, in this case it was technically helpful content and sharing a frustrating story. It was one paragraph that was easy to ignore. There was no popup or call to action past that simple paragraph. As far as native advertising, this is as benign as it gets.
klodolph|4 years ago
There is a CSS bug.
CSS bugs are dirt common. It's a miracle that there are as few CSS bugs as there are. However, I remember IE6. IE6 was a total fucking mess. Everything was broken on IE6. It wasn't just a bug, it was a complete support nightmare.
I routinely encounter problems with CSS that reveal maddening differences between Chrome, Firefox, and Safari. That's just for desktop. But it's still way better than dealing with IE6.
Turing_Machine|4 years ago
Indeed. While Safari does have its problems, it is a long, long way from being as bad as IE used to be. I recall one project where making it work on IE required that about 30% of the code be rewritten.
chrismorgan|4 years ago
frou_dh|4 years ago
tomxor|4 years ago
We were pretty much stuffed due to depending on iframes. Some users are stuck on that version of iOS because their device is "too old" for Apple's liking and we have to tell those users we can't support it, which is horrible because we are effectively being used by Apple to coerce those users to throw their devices away...
Vinnl|4 years ago
> Oh dear God.. Clearing history on Safari iOS closes all currently-opened tabs?! Why is there nothing that warns you of that?! Why does clearing history on mobile work differently from the way it does on mac? I had 60+ important tabs open and now they're gone!!
> I had so many notes, bookmarks, and links I needed to use in my course + so many pages unrelated to work, all open for later reference. And no I don't have a backup to restore from. What the heck, Apple?!
m_st|4 years ago
Luckily it was really just work "in progress", but never the less I've lost information. Which shouldn't happen in 2021.
Someone|4 years ago
I have seen iOS on iPad suddenly start with a set of tabs from some time ago, though, and that can look identical to “losing all tabs”. Can’t repro that either, but it seems to happen after one runs multiple Safari’s side by side and then went back to full-screen (if you do that, multiple Safari’s show up in the Task Switcher)
Either way I think this is a bug, not by design.
chrisseaton|4 years ago
This just doesn't seem a reasonable expectation that these are preserved - they would also be lost if the computer crashed wouldn't they?
If it's important then save it.
tediousdemise|4 years ago
To each their own, I guess. Just don't get mad when your browser crashes from overloading with tabs, or when you clear your history and it triggers the expected behavior of closing them. It would be a huge privacy concern if your open tabs didn't close when you clear the browser history.
wffurr|4 years ago
roydivision|4 years ago
There are severe bugs in iOS Mail app for instance that have been there for years, through major iOS versions. How difficult would it be to have a team dedicated to fixing bugs outside the release cycle? It would provide a great environment for up and coming developers. And I can’t help thinking that fixing these paper cut issues would gain Apple respect, maybe not from the average user, but certainly from the sort of user that notices those details.
And perhaps also an easier way of raising bugs…
philo23|4 years ago
I hope some point in the future Apple untie Safari from macOS and iOS so they can be updated independently without having to wait months to operating system updates to come out..
whywhywhywhy|4 years ago
syspec|4 years ago
Google wants everything to be done in the browser, their browser, so they can track everything without cookies to sell ads
Benjamin_Dobell|4 years ago
On the plus side, our competitor's product didn't work at all. So I guess it's not all bad.
In this case, Catalina had worked fine, and upgrading to Monterey fixed the issue. So props to Apple for fixing the problem. However, at the same time, our app worked flawlessly in both Firefox and Chrome running on the same hardware. Granted, it's not as simple as pointing the finger at Safari. The issue was a combination of Safari's behaviour paired with less than perfect graphics drivers.
Although, this is just one example. Mobile Safari not supporting full screen APIs on iPhone, but supporting them on iPad is just, well, weird. Is that a conscious effort to cripple the web on iPhone, or could they just not figure out the UX?
jabbany|4 years ago
I would like to see a strong competitor to Chrome someday though... - Firefox still has weird issues occasionally (most recently scroll position randomly jumping sometimes). I still keep it around though because its sane when it comes to standards and will remain sane even if things like HW acceleration are not available. - Safari is out of the question as it is not even cross-platform (might as well be IE6) - Chromium and derivatives aren't distinct enough from Chrome and a lot of the new ones have weird cryptocurrency integrations that just don't feel right. - Is Opera still alive?
userbinator|4 years ago
djbusby|4 years ago
And FF isn't keeping up :( WebUSB for example.
mdoms|4 years ago
Honestly I don't know the reality some HN commenters live in.
tgv|4 years ago
cdrini|4 years ago
fouc|4 years ago
If any weirdness shows up in Chrome, you'll just end up comparing it to IE6.
jabbany|4 years ago
Last I checked Safari unlike Firefox and Chrome is not cross platform.
Small aside: Webkit browsers used to have problems with CSS (especially things involving 3d) when hardware acceleration is unavailable. Spent so many hours back in the day debugging why certain CSS effects did not work. Switched to Firefox and worked like a charm... Only really understood the problem when I eventually switched to a system with HW acceleration support.
wnevets|4 years ago
How do you that if you don't own a mac?
innocenat|4 years ago
Say what you will about IE, at least Microsoft make an attempt to make it available to everyone (via free Windows VM preloaded with specific IE version).
RobertRoberts|4 years ago
1. Tell customers it will cost x more money to fix bugs on Safari (likely zero will pay this premium)
2. Put a notice or banner for Safari users that they are using a non standards compliant browser and they may see minor or major issues and maybe should use Firefox or Chrome.
3. Educate customers on standards and show them alternatives so they can do the same for their customers.
4. Record actual brower useage data and demonstrate the low count of actual Safari visitors and star back at #1 above with this newly applied info.
blondin|4 years ago
safari and browsers aside, there is something bigger going on. there is a massive disconnect between applications users and makers nowadays. i have started to think that they a) don't care b) have misaligned priorities c) have weird notions of "acceptable" errors.
i have a long list of applications that break every time there is an update. even UX updates introduce bugs nowadays. i have started to dread updates and upgrades.
we have lost all notion of stability.
FpUser|4 years ago
Updates to Wordpress / WooCommerce and accompanying plugins can make one go suicidal.
Mikeb85|4 years ago
As for 'acceptable' errors, I find software to be pretty reliable these days. I remember way more things being messed up back in the day...
ncake|4 years ago
In one case the code failed because the form object there doesn't implement the method to validate and submit. In another, it wasn't sending a form field if it was styled with "display: none;" (had to change to "left: -9999px;"). In another, playing a non-muted video would error out some of the time, if clicking an element wasn't recognized as a user event. In yet another, the mobile version refused to center text inside <button> no matter what. And so on.
Ciantic|4 years ago
Except that it doesn't, you can still focus those with keyboard and click them. You should always disable buttons with `disabled` property instead of that hack.
chrismccord|4 years ago
concinds|4 years ago
Does anyone have any insights into how the Safari team functions at Apple, and why they're not catching up?
[0]: https://news.ycombinator.com/item?id=5489641
michaelbuckbee|4 years ago
After a bunch of investigation and rabbit holes it turned out that it was an app issue where the "_" character wasn't being filtered from sub-domains.
https://my_name.domain.com -> works in Chrome, not in Safari
This is interesting to me as Safari is _correct_ in their implementation (that the underscore character isn't valid in domains), but again an instance of FF+Chrome working where Safari doesn't.
rsynnott|4 years ago
It's IE/Netscape all over again; a big driver of bugs back in the day was the one of them (usually but not always IE) was overly tolerant of some sort of bad behaviour).
MisterSandman|4 years ago
Matthias1|4 years ago
It's fine to criticize Safari and encourage Apple to do better in the space, since Apple isn't super incentivized to improve Safari. But this narrative that always targets the browser with the smallest feature-set at any given time will only stop when all browsers are Chromium based. (At which point they'll start complaining about other browsers using a Chromium version that's slightly behind Chrome.)
jakub_g|4 years ago
To clarify: it's not an attack on developers of Safari. The point is that Apple is severely underinvesting while at the same time blocking competition.
baggy_trough|4 years ago
merrywhether|4 years ago
I’m curious if more explicit selectors would’ve fixed this, since the * exposes you to anything weird about your layout.
unknown|4 years ago
[deleted]
eyelidlessness|4 years ago
tofukid|4 years ago
slivanes|4 years ago
On the one hand, you have Safari whom has a parent company that isn't interested in making it have useful feature parity with the others because it'll then allow escape from their gravy train app store (fully working PWA's, non-compete with rendering engines in iOS). Their lack of keeping up is starting to look a bit like IE6 days.
And on the other, you have Chrome whom has a parent company that claims it wants to improve privacy (FLoC), but to me it is more of a "pulling the ladder up on everyone else" because they have so many other methods to track you (DNS, GA, Android, etc.) that limiting everyone would be disingenuous. Pushing AMP is another example of bullying behavior.
reaperducer|4 years ago
Tell your manager that you want the web site to support Firefox or Brave or something else, and they'll tell you it's a waste of time.
Tell them that the web site won't work on their MacBook, and it's a four-alarm fire.
In a lot of ways, I wish Safari would deviate even more from Google's "standards" just so that maybe it would pull Big G back to the center some how.
unknown|4 years ago
[deleted]
unknown|4 years ago
[deleted]
throwawayswede|4 years ago
I'm sort of sick of this phenomena/trend of marketing/promotional material being masked as technically helpful content.
This is exactly like the appalling methods of native advertising (aka sponsored content), but now used for self-promotion.
ebiester|4 years ago