19 ms·
Chrome is now moving to a declarative model and it is widely considered to be a downgrade purposely meant to stifle ad-blocking technology. I think the ideal s
by shawnz 7y ago
Chrome is now moving to a declarative model and it is widely considered to be a downgrade purposely meant to stifle ad-blocking technology.
I think the ideal system would support declarative and non-declarative modes (since a fully declarative system could never account for every possible use case).
- hombre_fatal 7y agoI can see that given the choice between declarative rules vs. a "onRequest(req)" handler, almost every developer would just opt for the latter because it's more general and open-ended. And there's no pressure from users to choose the more restrictive but performant option because people basically have zero insight into what's killing their battery, much less which competitor is better in that regard. Given the gulf between Safari vs Chrome battery performance, I'm not all that convinced that the declarative api is pure downside like HN cynicism and Twitter outrage might suggest. I can agree that it would be nice to have competing implementations, but that's just the result of browsers being so complex that once your hobby horse feature is removed from one, you basically have nowhere to turn.
- bangonkeyboard 7y ago> Given the gulf between Safari vs Chrome battery performance, I'm not all that convinced that the declarative api is pure downside like HN cynicism and Twitter outrage might suggest. Safari was already beating Chrome on battery life before its extension API was neutered. This is post hoc revisionist rationalization.
- themacguffinman 7y agoSo obviously the correct response from the Chrome team is to continue avoiding an approach that is known to save battery life /s
- bangonkeyboard 7y agoTo clarify: Safari was already beating Chrome on battery life before _Safari's_ extension API was neutered.
- themacguffinman 7y agoWhat's your point? That Chrome now can't adopt Safari's extension API to save battery life because...? Improving Chrome's battery life by adopting a simpler extension API helps close the gap. That's a significant benefit whether or not Safari did it first or whether Chrome still has room for improvement.
- shawnz 7y agoThe grandparent was implying that Safari's better battery life justifies their decision to use the declarative API. But that was already the case before they adopted the declarative API, so it's not obvious that the declarative API has anything to do with that success. Maybe it's just a minor improvement, or maybe it isn't an improvement at all.
- themacguffinman 7y agoI'm not sure how you could make that argument and ignore the fact that the declarative API is technically simpler and its battery benefits are apparent from that aspect alone.
- shawnz 7y agoIt's not apparent that the benefits are significant in any way. They could be minuscule and therefore not worth sacrificing important user experience features like adblocking over. It could also be that because of the reduced expressiveness of the adblocker, more ads are missed, and you might therefore end up with a net increase in the amount of code that has to be executed by the browser. So the declarative API could actually lead to a performance decrease in practice.