Hacker News new | ask | show | jobs
by shazron 1599 days ago
Quoting Apple engineer Brady Eidson: "We (Apple) intentionally do not want the ability to script favicons."

source 1: https://bugs.webkit.org/show_bug.cgi?id=95979 source 2: https://bugs.webkit.org/show_bug.cgi?id=75877#c1

6 comments

I absolutely agree. Animated favicons would be extremely jarring. It’s purpose is to identify the site. It does that job perfectly.

The web is already a fricking Casino.

"Animated" is one thing, allowing updates every once in a while is another.
I find them useful in some cases. I play board games online, and both sites I use will update the favicon (either with a new color or an animated shape) to tell me that it's my turn.
Sounds like that use case really wants something like silent push notifications (no sound, no toast, but it's there waiting when you decide to pull down and look for updates from all apps in one place). Yes, I said push and pull to describe a sort of hybrid model. Android offers this, but I'm not sure if desktop OSes do.
I think people would prefer notifications here, but Safari doesn't support that either.
Desktop Safari supports notifications, it’s only mobile Safari that lacks them.
'The Web is a Casino' sounds like an amazing title for a polemic.
I totally agree with that, but couldn't the favicons still support the same browser caching mechanisms as the HTML document? If I can refresh the page and get a new HTML response, surely I should at the same time get a new favicon if a new one exists.
Most people probably wouldn't want to refresh an SPA like Gmail every time the favicon isn't showing the correct unread count. But for infrequent rebranding, I agree with you.
Yes, I'm not trying to address the feature of having animated favicons or favicons set dynamically using JS. I'm just trying to address the problem of favicons apparently being very stale. My question is why Apple couldn't fix that problem, which is not at odds with Apple's stance against animated or dynamic favicons.
That would allow websites to override Apple's objection, and therefore they can't allow it, even if it will cause occasional problems for websites that think they can do a total branding pivot including favicon overnight.
Why is that related to Apple's object to animated favicons or favicons that are set dynamically by JavaScript?
If Safari didn’t aggressively cache favicons, websites trying to overcome Apple’s objection would immediately start trying to use window.reload() and server-side dynamically generating favicon paths, for random “I made this up before coffee” example, which would burn more battery power on Apple devices for endless page reload events. Caching aggressively makes it a non-starter to try and engineer workarounds, and comes at zero impact to users (who are either accustomed to the old favicon and don’t care about rebranding, or ignoring it).
I mean, the optimal solution is obviously a web standard that allows for notification badges on tabs. Each site changing their favicon to show a notification badge is a hack.
Could it be done using JS to put the count in the page title? I realize Unicode and emojis might not be ideal but they could supplement such an approach.
Thank you, I went looking for the bug report but couldn't find it.

2012 is a long time ago in the time of the web, hopefully opinions have changed. I think back then Safari didn't have the ability to show favicons in the bookmark toolbar where this is useful, it does now.

This is part of apples model that the web is for static reference material, and anything more complex should be an app in the apple ecosystem.

Apple goes to great lengths to make sure webapps can't be too useful for the user.

Yep. And I love how they add in broken behaviour for things like still not being able to properly scroll elements which have `position: fixed`. Or trying to make the page have a static fixed height while scrolling.
Sound is weird on iOS web. Also, they basically unilaterally decided to say "nah, we're good" to web Bluetooth. I think that could have opened up a lot of awesome stuff. As it stands, getting that to work is possible but the steps to get there are multiplied ten-fold.
Thank god that Apple never implemented web Bluetooth. One more thing that I don’t have to worry about my web browser mucking with. Please keep the browser out of my peripherals.
I find it weirdly interesting when people argue that a browser shouldn't have a feature, rather than the feature should be behind a defaults-to-off permission. You're not just saying that you don't want it, you're arguing that no one should want it. You're saying that you don't believe there is any possible reason for the feature to exist, that you will never want it, and that anyone who says they'd like it is wrong.

I suppose that's fine. It's your perogative. I just hope you respect the opinion of other people when they say things you want shouldn't exist.

Javascript was behind a "defaults to off" switch, until enough of the Web said "fuck it, we'd rather break than provide a person with what they've specifically requested and set a limit on". And now those of us who point out that mandatory JS is broken and a vector for all manner of ills are thought to be deranged.

I'm not often an Apple fan, but I have intense admiration for this line they've drawn in the sand.

In my experience, when a platform adds support for something like that, apps quickly start requiring that you have the feature on, even unrelated apps. For example, a ton of apps, especially sketchier ones or ones aimed at children, ask to see your location even though they have no legitimate use for it. If you don’t allow it, you can’t use the app. Obviously what they’re using it for is datamining, so I’m worse off than in the world where the app isn’t able to ask for location access.

Obviously it’s good that some apps do have access to location! I play Pokemon Go and use third party map apps! But I think the world would be better off if the requirements to be allowed to ask were more stringent.

For something like web bluetooth, while there are some rare use cases, I’m sure that pretty soon it’ll start being another tool for removing privacy and I’d rather err on the side of caution.

From an entirely separate side, I think that we’d all be better off if the entire web was much simpler to implement. We’re almost in a browser monoculture now and we wouldn’t be here if it weren’t so difficult to implement a browser that supports modern websites.

I don’t think it’s unreasonable to not want a browser to support hard-to-maintain features that you will likely never want or use. There is a limited pool of dev resources, and supporting that defaults-to-off setting is going to suck up a disproportionate amount of dev resources, on an ongoing basis, to support a small minority of users.

I’d rather the dev resources go to new features that many people will use.

This seems to be Apple's design philosophy. I can't change the direction of my touch pad scrolling without affecting my mouse scrolling, I had to download a third party app for that. Their defaults are so stubborn, if you don't like it the way they believe it should be it's either annoying or impossible to change it.
I could see Bluetooth support maybe making sense for PWAs the user has explicitly chosen to add to their Home Screen, but I really don’t want to see random sites I’m visiting prompt for access.
Seriously. Why does everything have to be a web API.
Because distributing apps to iOS isn't commercially viable?
Another case of apple ignoring standards in favor of their own preferences.
It is but I don’t see that as a bad thing on this occasion because diversity in rendering engines, even if some are opinionated, is better than a Blink monoculture (or Trident before it)
I would not mind if it was possible to switch but a lot of people are stuck with safari mobile.
That’s a different issue though. But I agree that’s a problem.
User agents are explicitly allowed to have their own preferences, that's the whole point of having multiple browsers in the first place. If you want every browser to be identical then why even have more than one? Browsers don't even have to have display favicons if they don't want to.
> Another case of apple ignoring Google in favor of their own preferences.

Fixed that for you.