I used it on my old pc, but I don't buy still that regularly online so I guess I forgot to reinstall it again. Also it is outdated by now as the domain list hasn't updated in two years.
> I did some research to find why this took so long. 13 years ago, extensions.json used to be extensions.sqlite. Nowadays, extensions.json is serialized and rewritten in full on every write debounced to 20 ms, which works fine for 15 extensions but not 84,194.
I'm slightly worried how they arrived at that debounce value. Which extensions need to write to extensions.json continuously, several times a second?
I'm laughing so hard at the video, I imagine this is what browsing the web is like for the elderly that barely know how to use a computer. Can someone do this in Chrome?
Loved the brutal realization that came when the seemingly broken Extensions button the author was mashing for solid 30 seconds turned out to be a fake, extension-supplied one. One... of three.
There was also a nice dramatic arc to it, with the browser first (seemingly) behaving normally, then starting with a few scattered theme switches, then going increasingly off the rails as more and more extensions start up.
For some reason that metal pipe sound was a meme a few years ago, a picture of a pipe and that sound has 5 million views on YouTube: https://www.youtube.com/watch?v=iDLmYZ5HqgM
If you turn loose a completely untrained person to click yes/accept/download/OK/I agree on every type of user interface popup, particularly a person who has no ability to distinguish between a user interface question presented by the operating system itself and something inside of a browser window, that's what you'll get...
I have a vivid memory of once looking over someone's shoulder in the IE days and being horrified to see toolbars taking up about 80% of the available screen real estate, leaving only maybe 150-200 pixels of vertical space for actual web browsing. I have no idea how they got anything done, and my guess was they never actually used any of the installed toolbars and just thought that was normal.
You can see this today on macOS. I see people with this at work all the time. The defaults have quite inflated scaling and the dock at the bottom. The vertical space left for a website after the address bar is hardly anything.
I have this memory too lol. I was really quite young but it's like a core memory. Similar to when a middle school teacher told me about Firefox and I discovered tabs.
I was recently doing some maintenance on my mom's iPhone SE and was quite shocked at how many random apps she had installed. Random forums, shopping apps, etc. Bespoke mobile app wrappers for simple web apps may be the new 'toolbar' or 'browser extension'
I’d like to image with a bit more work, the Firefox core dev team funding this into a CI test and chipping aaay at performance both of Firefox and policies around what goes in the store. Better scanners when extensizoms are unplosded would likely suppprt big gains in removing the poorest quality stuff here and addressing what is leaking memory and is over resource hungry.
Seeing this article, and how much webextensions manage to mess up the browser, I'm wondering how bad this experiment would've been with the legacy XUL extensions. Maybe they had a point in getting rid of them...
Really great writing and interesting experiment! I love the small details like the “clueless user”-style crash report in the `about:telemetry` section (“it just crashed out of nowhere”)
I would suspect that some of the slowdown that the author encountered does occur with even a dozen or so add-ons. Why else would Firefox bother you about resetting your profile if you haven't returned in a while?
> I did some research to find why this took so long. 13 years ago, extensions.json used to be extensions.sqlite. Nowadays, extensions.json is serialized and rewritten in full on every write debounced to 20 ms, which works fine for 15 extensions but not 84,194.
This is probably a good example of the opposite. It would be a mistake to design for the fleetingly rare case. If you’re dealing with a handful of extensions, a json file that’s rewritten is fine.
But the software already has multiple database systems built in. There's not exactly overhead to use what plumbing is already there, instead of writing to disk.
Firefox is absolutely abysmal at not corrupting its JSON stores, too. I've had it crash and lose tabs so many times. Perhaps moving back to SQLite wouldn't be a bad idea.
I had to recover somebody's bookmarks for them recently after it decided to destroy the main copy.
In an ideal world, software with 100 million users would be optimised for energy usage. It all adds up. This does pale in comparison to everything else, though.
"In terms of implementation, the most interesting one is “Іron Wаllеt” (the I, a, and e are Cyrillic). Three seconds after install, it fetches the phishing page’s URL from the first record of a NocoDB spreadsheet and opens it [...] The API key had write access, so I wiped the spreadsheet."
The eternal tension between "this service mesh is completely overengineered for our usecase" and "our broker is far to slow for our 84.205 microservices"...
I'm pretty sure that there were much more XUL and XPCOM extensions back then +10 years ago before mozilla pulled out the plug for that platform and moved to WebExtensions
Other examples I recall when looking into this: Zotero browser connector for Firefox, Chrome Remote Desktop for Firefox (I think it adds a few features for connections to remote desktops)
> Dr. B is the king of slop, with 84 extensions published, all of them vibe coded.
> How do I know? Most of their extensions has a README.md in them describing their process of getting these through addon review, and mention Grok 3. Also, not a single one of them have icons or screenshots.
> Personally, I’m shocked this number is this low. I expected to see some developers with hundreds!
This is really surprising. Either because Firefox is not that popular ir mozilla has an automatic filter?