Safari: Point to specific bugs and missing support that frustrate you
twitter.com
twitter.com
Dear Safari team, the first step in fixing any problem is to admit that you have one. Please internally acknowledge that Safari has _lots_ of issues like these and has a reputation problem among web developers. It's not just people hating on Safari and being ignorant, I would love to support Safari better, but it's just so frustrating in practice and when filing bugs they seem to go into a black hole. I think a big problem is that bugs seemingly get duplicated into some internal system where there might be some discussion going on, but none of that is visible to the rest of the world and it creates that black hole perception and lack of back and forth discussion with the people who are reporting these issues.
Back when I was still doing frontend work I frequently found that Safari had crippling bugs, but if you were able to work around the bugs it had good performance and a good feature set. I simply couldn't justify buying a Mac or an iPad to support a small % of the overall web audience. Bring back Windows Safari please :-(
(Apple's patent/trademark battles with Khronos have also been a problem for WebGPU, but that would be a troubled standard even without them)
Check this out. The original poster of the tweet thread being discussed here retweeted:
"The bug where background audio stops playing for PWAs seems to be fixed in iOS 15.4 Beta" https://twitter.com/wes_goulet/status/1491238784020905986
Job well done, ship it! Hang on, let's check out that bug's public tracker at https://bugs.webkit.org/show_bug.cgi?id=198277
- Reported in 2019
- In 2021 got a "Thanks for further reporting this bug... This bug is tracked internally".
- Lots of excitement when someone finds it's fixed in 15.4 (of course no feedback from Apple that a fix was made anywhere or released, bug is still in original "New" state)
- Disappointment strikes: "(on 15.4) it sometimes keeps playing, but sometimes stops when you pull down Notification Center or switch apps. Sometimes the Play button doesn’t work. It also stops when you get a push notification with a sound" :(
Now, how much do you want to bet that the "internally tracked" bug is marked fixed, the developer is not aware of these corner cases, but could probably fix them if they only knew. No worries, another developer (the original having long moved on) will probably take a crack at it again in 2024 when this information makes it back to them.
I've worked in organizations just like that, where every bug report is a game of telephone. Everything takes exponentially longer and is perpetually broken because the developer and the user having the problem can't just talk to each other. Throwing bugs (and fixes!) over a wall and hoping for the best just doesn't work.
What about the other, cross-platform WebKit browsers?
Back before Windows Safari was killed it honestly was a bad imitation of iOS Safari too - it didn't include the media codecs, etc - but it was better than nothing. Windows Safari still theoretically exists (I was told not too long ago by a little bird that iTunes uses it)
Another vote here.
- Lack of proper support for real extensions; the most recent versions have basically neutered extensions for Safari to the point of being useless - as I say: "if it doesn't run uBlock Origin, it's not a real browser"; this is mostly why I've moved to Firefox as my main browser now.
As always: what is "proper support" as there's literally no such thing as a PWA standard. There are dozens (if not more) standards that everyone picks and choses from to call their own selection "the one true PWA standard".
And the "no proper support" usually boils down to "no push notifications".
1. There are no "other popular browsers".
There's the dominant Chrome. There's Safari. There's Mozilla which is rapidly declining into obscurity. Maybe there's MS Edge?
2. What's on par? Define this "on par"
Example: Safari doesn't implement "Add to home screen". Neither does Firefox. Is this on par enough? Same for Background Sync API etc.
So. What is this "proper PWA support" you're talking about?
Okay, fine; be on par with the one browser that is an order of magnitude more popular, then.
> 2. What's on par? Define this "on par"
Would an end user trying to use a web app as if it were native be satisfied?
> Example: Safari doesn't implement "Add to home screen". Neither does Firefox.
It... Literally does? Three-dot menu > "Add to Home screen". This is on Android; if it's not present on iOS then it's almost certainly Apple's fault somehow so they can fix it.
So, once again:
- define "on par"
- explain why they need to slavishly copy that one browser without considering whether it's worth doing?
> Would an end user trying to use a web app as if it were native be satisfied?
No, because this is even more ambiguous than "on par".
Example: usb/bluetooth/etc. Native apps use them. Chrome put up some "standards" and rushed to implement them. Both Safari and Mozilla consider these harmful on many, many valid points.
Is this required for a "proper PWA support"? Do they just unquestioningly copy what Chrome does?
So, the more this conversation goes the more I'm convinced you neither know what "PWA support" actually means, nor what Safari actually supports.
> It... Literally does?
I looked it up on Can I Use. It was for desktop versions.
On iOS you can "Add to home screen", too (through the share menu which is now a kitchen sink for everything, not just share)
>> It... Literally does?
> I looked it up on Can I Use. It was for desktop versions.
I answered that after literally clicking the menu item and making sure it worked on my phone. My guess, after reading through https://caniuse.com/web-app-manifest , is that maybe there's something about service workers or background processing that they're not doing, but just sticking an icon on the homescreen, empirically, works fine.
And what exactly is that place? I've asked this three times already and you still can't answer what it is that Safari doesn't support and must implement to be "on par" with Chrome.
> and making sure it worked on my phone
You wrote this after I literally said, "I looked it up on Can I Use. It was for desktop versions."
So:
- you still haven't said what exactly you're missing from Safari to consider that it "properly supports PWAs"
- you clearly ignore what I write
At this point I'm no longer interested in this one-sided conversation
You've been repeatedly given answers, but you have decided to dismiss them because you decided they're somehow irrelevant, just like I suspect the people at Apple will dismiss any valid criticisms of Safari, and only listen to the gushing Apple fanboys that claim Safari is all rainbows and unicorns.
> - you clearly ignore what I write
"The hypocrisy is strong with this one" -Yoda
> At this point I'm no longer interested in this one-sided conversation
... aaaand that's how a fantroll ends a conversation he's losing.
Firefox/Android has had "Add to Home Screen" for a long time now?
You can add to home screen on iOS when you put
<meta name="apple-mobile-web-app-capable" content="yes">
in the <head> of your HTML. The WebView then opens from the home screen without browser UI.Apple invented "Add to home screen" (from what I recall).
Here's a list I wrote elsewhere in this thread:
* todos * reminders * calendars * chat * phone
And the list goes on.
There are many others where the app might be possible, but for many people in many cases those apps are useless without notifications. Stocks, forum apps, etc.
Do I want stock notifications? No, I don't. But if I did decide to start day trading, I couldn't use a PWA unless it could notify me. I'm a member of a dozen forums, most of which I want no notifications from. But one of them I administer, and I need notifications. Another one, I need notifications from topics I'm following.
99% of apps on my phone aren't allowed to notify me, but I wouldn't call my phone a smart phone if it couldn't notify me when I want it. The same goes for apps, whether native or PWA.
No, it doesn't.
It comes down to: different people -- and organizations! -- have different priorities and respond to different incentives. Why it is so difficult for some to see that their particular way of seeing the world is subjective, and that some people in good faith can disagree?
Oh right, the Internet is why.
Chrome might have fewer issues, but feeding the Google Ad engine is not a feature I care for much. I use it when something refuses to work in Safari, like for some reason paying my water bill online.
Except Web developers are the target audience here? As an end user, you're not supposed to be work around Apple's bugs or lack of support. Users don't care how hard it is, what gross hacks hold up the world, or that Apple has a 30% rake; they only care whether the thing works as expected.
Overall, as a user of Safari, I appreciate that it lags behind the bleeding edge. Stability, battery life, and privacy are important things to me.
It's not ideal, but it's good enough for me. YMMV
Some features could help with that like https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageEl... , if Safari is always behind 1 year or two then you always lose battery and bandwidth, so yeah Safari devs are not chasing efficiency if they would then they would have been the first not the last to implement this.
Also try to search for "broken/not working in Safari" and you will see is not all about some nightmarish privacy invading APIs.
And yet at the end of the day, it's Chrome that spins my fans up, not Safari. It's Chrome that's pushing FLOC and its replacement, not Safari.
Look at it this way, too: It's quite possible that before you get to performance savings by implementing `loading`, you may have a list of things a mile long that are higher on the priority. So, you solve those first.
> Also try to search for "broken/not working in Safari" and you will see
mostly people who develop and test on nothing but Chrome.
Most developers can't test on Safari , I use Ff for dev (my colleagues use Chrome) nobody owns a Mac to test on it and there are Safari only issues or cool features that work in Ff and Chrome but not in Safari.
Edit: link to HN discussion from last week [1]
[0] https://www.reddit.com/r/RESAnnouncements/comments/sh83gx/an... [1] https://news.ycombinator.com/item?id=30157233
Bah.
In light mode, the Safari URL bar is supposed to use black text on a light grey background:
In dark mode, the Safari URL bar is supposed to use white text on a dark grey background:
Except, when my phone switches automatically to dark mode, the text color switches but not the background. So I get white text on a light grey background which is illegible:
The only fix I've found is to force-kill Safari. But then at sunrise, I get the opposite problem: black text on a dark grey background, and I have to force-kill Safari again.
I've been force-killing Safari twice a day on my phone since iOS 15 came out. :-(
Manually toggling light/dark mode does not exhibit the problem, nor does it fix the problem when it's in this state.
I have some possibly non-default accessibility settings: reduce motion on, button shapes on, on/off labels on, increase contrast on. Also in Safari: single tab, landscape tab bar off, allow website tinting off.
> Do we really want to live in a 95% Chromium browser world? That would be a horrible future for the web. We need more voices, not fewer.
It's difficult to become a voice for Safari, if Safari is hiding behind a hefty price tag.
Debugging Safari issues on Linux or Windows machines make it easy to grow a disliking for the browser. There are ways to do it effectively, of course, but no simple or pleasant ones.
[0]: https://twitter.com/jensimmons/status/1490747578526404608
Nice, very respectful and fair minded. Definitely going to encourage an honest discussion now.
There's a good discussion here but maybe it shouldn't involve her.
It's not likely your post will change her tweet, but hopefully this post can salvage this part of the thread.
To that end: Chrome seems to currently be in a more dominant position than IE ever was. Even Microsoft was unable to build a competing browser, and they threw real resources at it. The only thing that is holding the line is Safari (I use Firefox, but its a rounding error). I think it's vitally important we don't let Google keep leveraging their control until they own the entire internet. AMP seems to have imploded, which is good, but it won't matter if for 99% of the people it's opening Chrome or Chromium, going to Google and typing in where they want to go.
It is insulting, because any man who reads it will think their criticism of Safari will be dismissed, not because its invalid, but because of their gender.
That's even stupider than I thought.
This may be a cause for a lack of voices, but it's hardly the only (or I'd argue even the most prevalent) cause. 99.9% of the developers at the company I work for are on macbook pros, yet they only support Chrome. And the reason is simple: they don't want to support more than the one browser.
The decision was, of course, backed up by numbers, harvested after our product's use of Chrome-only features and "best on Chrome" style "help" answers.
It's a self-reinforcing loop.
Firefox suffers from this too.
Clicky vertical only mousewheel scroll? Sorry, spent $6000 on the maxed out laptop but can't get a $10 mouse to go with it.
Enjoy scrolling two pixels per wheel revolution because our scroll hijack only works right on trackpads.
Also, I can't get things like the vue dev tools in safari. I'd be more likely to switch to firefox
But instead they force you to buy an M1 Mac mini for testing, or rent one on AWS or other Cloud. They will spend PR resources attacking those site that doesn't support Safari, which may harm their user on iOS. And force them to support Safari by spending money on Apple. Brilliant strategy by Tim Cook.
Edit: I know you could use other webkit browser on Windows for testing.
Given the yearly cost of your average software development team and their budget for development laptops/desktops, a $700 mac mini for Safari testing is pocket lint for your average corporation.
Even for independent contractors, that cost is pretty trivial in the scheme of other tools and software that designers and developers pay for.
Hell it's not just debugging Safari issues themselves... the Developer Tools are no match for Chrome's.
It's really noticeable that Google invested (and still invests) a lot of money on them... because developers will prefer to work in an environment that makes development easy. I personally shifted to Chrome many years ago for that reason - Firebug was an insane resource hog, not to mention slow as molasses, and Chrome was a breeze to work with in comparison for years.
What are they? I was mulling this over a few days ago, as there are occasional things I want to check on Safari or iOS Safari (also on macOS in general occasionally, but that’s far secondary), and so I looked into macOS VMs (expensive, because Apple’s software EULA requires any such provision to have a minimum of 24 hours), second hand late 2014 Mac Minis (the oldest that run the latest version of macOS), more special-purpose browser VM arrangements like SauceLabs which used to be not terribly expensive, that kind of thing.
I use Firefox primarily, and I’d like to be able to test things on Safari like I can with Chromium, but as far as I can tell, there is no free or inexpensive alternative: the alternatives are things like US$25 for a day or possibly month of an inferior experience (and try to make head or tails of the utterly deceptive pricing at https://checkout.macincloud.com/), or buying at least AU$450 (more typically AU$600) of second hand physical hardware (Mac Mini Late 2014, iPhone 6s, if you want to go with the oldest and cheapest, regardless of how much longer they may be supported; and that’s skipping an iPad; if you wanted to go with the cheapest new products, AU$1,778).
Look, if I cared about Internet Explorer still I could even download a VM from Microsoft specifically for the purpose of testing in IE! I wish Apple would likewise give me macOS and iOS VMs for Safari testing.
It's not 100% the same, but it's close.
I’m happy to spend plenty of money on a computer that I will use extensively, but I’m not enamoured of the idea of spending hundreds of dollars for something I use only very occasionally.
Using Blink/Chromium is effectively Microsoft supporting Chrome's technology monopoly.
The computing world would be better off if governance of Blink/V8/etc were handed over to a neutral third party. Similar to Linux. Chrome, Edge, Safari, Firefox, Brave, etc can all still exist and differentiate on the implementation, just like how Amazon Linux differentiates with Ubuntu.
You really don't want a monoculture of a single browser engine pushing badly designed and often poorly implemented "standards".
w3c (and whatwg?) have a rule of "two independent implementations before a thing can become a standard" for a reason.
A few Safari extensions exist that try to skirt this limitation by watching your browsing for a Google, DDG, etc search. These extensions grab the query from those search engines then redirect your tab to your preferred custom search engine.
Of all of the missing common features to implement, I feel like custom search engine is incredibly simple: * User entered string for search URL with some marker for "the query". * User entered string for the label of the search engine. * Option to edit/delete already entered custom engines. * In the search engine selector, also allow users to choose any custom engines.
Sure, there are specs out there for making this a cleaner customer experience. For instance, OpenSearch lets web sites tell browsers if the website is a search engine, and what query string pattern should be used with it. But at the bare minimum, Safari (on iOS and MacOS) should implement the simpler "just enter a query string pattern" feature.
User:
> Can we get support for using any search engine we want? This is my biggest annoyance with Safari. I use it everyday, but being locked into a fixed set of engines sucks.
Response:
> You can change your default search engine.
> On macOS, go to Safari > Preferences > Search.
> On iOS, it’s Settings > Safari > Search Engine.
> There are lots of cool things you can adjust in these preferences.
( Source: https://twitter.com/nesl247/status/1491069572950401024?s=20&... )
If she can't even listen to the user question I have no hopes for improvements anytime soon.
https://build.webkit.org/#/builders/67
Click the first Build # (9399 right now)
Near the end of the list of build steps you'll see "transfer-to-s3"
Click on that (step 12 right now) and you'll find the URL for the build on s3
(Right now: https://s3-us-west-2.amazonaws.com/archives.webkit.org/win-x...)
You also need to have an (IIRC old) Itunes installed for some dependencies. Run MiniBrowser.exe when you've extracted the archive you downloaded from S3.
If they change the builds (e.g. 67 isn't Win anymore) you'd look for "Apple-Win-10-Release-Build" on the Builders list.
I just tried it in my Safari and it seems to give you an "Invalid Date" which it doesn't in Chrome.
Not sure if it's a bug, maybe a design choice. Anyway, in my case I received dates from a backend and was supposed to visualize a chart with them and some supplementary data, so I had to parse them and at some point we learned that the chart was broken for users in Safari because they'd get "Invalid Date" after parsing.
Browsers are a mess, frankly :)
The only solution to sync them correctly, as far as I know, is to log in/out of iCloud on each device.
Edit: this works - rm ~/Library/Safari/CloudTabs*
I use a group called "Phone" to work around the syncing problems I've had.
Pro: Tab groups are now super reliable Con: I no longer have device synching
Apple really needs to dogfood their own browser if they want to get serious about fixing these bugs.
1. Go to https://caniuse.com
2. Work through the list of features
3. Make red squares go green
I stopped using multiple browser for exactly that purpose. It actually increases your attack surface. While compartmentalization of browsers helps somewhat against tracking you now have to keep all of them updated. RCE bug in one of them already compromises everything you have on your machine, so having multiple browsers just means the attacker can pick from a wider array of targets.
I do. Or I did. Google Cloud Console is unbearably slow and often broken (charts ugh) in Safari and marginally less so in Chrome.
So I do all my browsing except GCP console in Safari.
On you tube the "homepage" or algorithm page, none of the thumbnails are working. The only thumbnail image that shows up is the Avert on the first top left area.
I am on a brand new Mac M1 from 2021. It's only a few months old.
Other stuff in YouTube works but the images don't come up. Hover now won't work either. Is Youtube aging on Safari? LOL.
https://www.apple.com/feedback/safari.html
Doing that form. I figured out that my Mac doesn't have the latest OS. I'm running on 11.3.1 I thought it was supposed to "update" itself. I don't see any new OS updates on the App Store or whatever it's called. I think it's BS the updates just take up more memory space on the computer AND make the computer run slower.
Our computers immediately depreciate like cars. I was able to make my older Mac Laptop from 2012 last 9 years and I am running on version 10. Now it's dying again. A clean install might fix it. I also had some upgrades to the hardware and fixes.
Making your car and computer run as long as possible saves a lot of money. Buying the newest stuff is wow expensive.
I don't see any point in doing this on Twitter other than this dev wanting confirmation bias their product is good. Overwhelmingly only apple users whom like apple are going to be following apple employees and participate in their discussions. This by its nature excludes a significant amount of criticism. It's a poor forum for actual content.
Take something that works on Chrome. Does it work on Safari? If not, fix it. There you go. I googled and found plenty of contemporary css bugs, js oddities/lack of support and feature differences.
Why is Safari responsible for slavishly copying what Google developers dream up and shove in production? Does Safari not having FLOC indicate they are missing a vital feature?
They support PWAs.
Notifications are a basic part of apps.
https://firt.dev/ios-15.4b#web-push-notifications-on-ios-wit...
> 1- It's a disabled-by-default experiment at this time
> 2- The APIs are there, but they are not working
Ah yes. "Your opinion".
There's no such thing as "PWAs". There's a dozen or more standards, most of which are supported by Safari. Of course, everyone hails their own subjective subset of those standards as "the one true PWA support".
If Safari ever supports push notifications, there will be some other standard that Safari must support to "properly support PWAs".
* todos
* reminders
* calendars
* chat
* phone
And the list goes on.
There are many others where the app might be possible, but for many people in many cases those apps are useless without notifications. Stocks, forum apps, etc.
I’ll tell you what, I’ll offer you a smart phone that doesn’t ever allow you to get notifications for any reason. Then when you object, I’ll just tell you that there’s no such thing as a standard feature set for smart phones.
Indeed, there's no such standard feature set. Various smartphones offer various features, and you still call them smartphones.
Personally, I suspect the only thing which would be better if Safari supported PWAs would be that some companies would see more engagement with notifications. But this is just opinion.
Yes, there is. And the method I'm responding to doesn't distinguish between them. Hence, it's a bad method.
If only there was some group, some committee, that could form a consensus on what was important. That way every developer wouldn't individually disagree with specific decisions Apple made.
For example, I'm not sure of any CSS/JS features Chrome has and Safari lacks that I want.
As of when I posted this comment, most of HN’s discussion of this post is a stellar example of this Internet forum social behavior. Safari asks “tell us what’s buggy and broken, not about recurring feature requests”, and this community is responding with “recurring feature request X, cynical dismissal of intentions”. There are three or four actual real bug reports in this discussion, but they’re drowned out by the non-curious ‘feature’ and ‘cynical’ repetition.
I’m kind of disappointed that they got a hundred plus viable bug reports on Twitter, but only a couple from HN. Given how much so many of us sneer at Twitter, it’s upsetting to see Twitter dramatically outshine us technically. We’re Hacker News, this ought to be a piece of cake.
For example: I wish that Elon Musk wasn’t prideful and troll-y online (these are feature requests that his personality team has refused us), but if he asked me to name a bug in Tesla’s cars that he isn’t aware of, I’d point out that Tesla cars allow you to drive at unsafe speeds when the fog lights are turned on, which is wasting untold megawatts of Supercharger time per year because drivers either don’t know that fog lights aren’t effective above a certain speed and because there’s no chime or automatic-off setting to prevent energy waste. Yes, Elon’s a jerk, and yes, I have feature requests and cynicism about that — but I’d leap for the opportunity to even have a chance at posting one paragraph that cuts all Teslas’ watts per mile by any amount at all. I wish others here found that as rewarding as I do.
Maybe the real lesson here is that the line between bug and enhancement is sometimes fuzzy and subjective.
Having Apple publicly engage with the dev community like this is a very welcome.
Do not confuse "not wanting to spend spending billions of money on advertisement and having dozens of talking heads" with "being insular"
> They legit think it's the best browser.
Quotation needed
> To gather some data, I quickly skimmed through
You skimmed through videos of people who've been subjected to continuous and relentless advertisement campaign across multiple properties that has been going on for over a decade.
> because regular everyday people want and like Chrome
They've been told they want and like Chrome. Continuously. As another data point: Google's Apps regularly "forget" my choice to use a browser and once a month or so propose I open external links in Chrome. Subject a "regular user" to such behaviour long enough, and they will "want Chrome".
I mean, read the tweet it's passive aggressive.
I am curious which videos you watched. The first four hits for 'macbook unboxing' on youtube for me are[0][1][2][3]. Of these, only 0 installs chrome; 1 does not seem to use a web browser at all, and 2 and 3 both use safari.
0. https://www.youtube.com/watch?v=qI6OvkcFES8
1. https://www.youtube.com/watch?v=D8oFSlBHo14