597 points by RohanAdwankar 22 hours ago | 35 comments
ArneVogel 13 hours ago
I won the "Middle Finger Emoji Sticker" Award! (https://jack.cab/blog/every-firefox-extension#the-middle-fin...)

I quickly wrote up how: https://www.arnevogel.com/firefox-permissions/

benlimanto 56 minutes ago
At least you put effort into it and break it.

Yet Dr.B extension keep balooning and getting crazier day by day!

Now as I write this, it has 97 extensions from prior 84 extension

Man, how many slop will he keep putting out there.

thehias 9 hours ago
why dont you use your own extension?
ArneVogel 9 hours ago
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.
BoppreH 19 hours ago
Sad that no real pages can load successfully, but I thoroughly enjoyed the writing.

> We turned on crash reporting on the way.

I haven't burst out laughing like this in a while! You'll probably make for some horror stories to a poor Mozilla team.

tech234a 14 hours ago
Firefox crash reports are public though unfortunately I was unable to find their crashes: https://crash-stats.mozilla.org/

EDIT: if they still have the profile they can actually find the crash ID for their crash report: https://support.mozilla.org/en-US/kb/troubleshoot-firefox-cr...

RobotToaster 12 hours ago
All those extensions probably crashed the crash reporter
xg15 10 hours ago
> 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?

Someone 8 hours ago
I don’t think extensions ever write that file; Firefox writes it whenever its in-memory set of installed extensions is updated.

When Firefox finds new extensions, it updates the in-memory set for each of them.

In the typical case that series of updates will be small, and the denounce makes it likely the file gets written only once.

gathered 21 hours ago
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?
m132 10 hours ago
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.
xg15 5 hours ago
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.

Also the metal pipe.

stratos123 20 hours ago
My favorite part was the metal pipe sound effect. Wish the author investigated which extension does that.
Evidlo 17 hours ago
nullify88 14 hours ago
This will make a good office prank for those that leave their desktops unlocked and unattended.
lucasmullens 2 hours ago
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
walrus01 19 hours ago
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...
RussianCow 19 hours ago
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.
walthamstow 10 hours ago
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.
weird-eye-issue 13 hours ago
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.
girvo 17 hours ago
I’m aware, that’s exactly what my grandfathers (rest in peace grandpa, I miss you) IE window looked and felt like in the early 2010s!
abustamam 4 hours ago
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'
Shadowmist 10 hours ago
You can just say AI
amelius 11 hours ago
That will be one hell of a bug report.
Eddy_Viscosity2 21 hours ago
Where is the video, I scanned through and only saw still images.
SeanAnderson 20 hours ago
rented_mule 20 hours ago
It's inline. Search the page for (and heed): epilepsy warning
xg15 10 hours ago
Also enable sound. I think that video might even be better to listen to than to watch it...
xnorswap 21 hours ago
This article is wonderful crazy.

The icing on the cake is the discovery of a potential performance bug in one or more of the about: pages, that's definitely worthy of following up.

tech234a 14 hours ago
Alternatively you may be able to list the extensions using the sitemap: https://addons.mozilla.org/sitemap.xml

Chrome Web Store has something similar: https://chromewebstore.google.com/sitemap

And Edge: https://microsoftedge.microsoft.com/sitemap.xml

evolve2k 54 minutes ago
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.
username135 21 hours ago
"I got basically all the extensions with this, making everything I did before this look really stupid."

I geel this on a deep personal level.

cachius 11 hours ago
Reminds me of the NPM package that depended es on all other NPM packages https://uncenter.dev/posts/npm-install-everything/
m132 10 hours ago
Brings back the memories of using Internet Explorer when every other installer was fighting for toolbar space!

Every Internet café had at least 2, with Ask.com, Google, Yahoo and later on, Bing being the main contenders.

mmsc 12 hours ago
The website of this blog and their connections listed are a sight to behold. I miss that version of the internet.
egeozcan 12 hours ago
In this blog post: Let's Game It Out[1] meets web browsing.

[1]: https://www.letsgameitout.tv/

codemog 15 hours ago
I love the small few who take the time to do crazy stuff like this. Very entertaining.
butterlesstoast 1 hour ago
I got so much joy out of seeing it take 32 gigs of RAM. Bravo.
majkinetor 9 hours ago
What is amazing is that Firefox can actually run at all with that many extensions installed.
mid-kid 12 hours ago
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...
rossdavidh 6 hours ago
My favorite line: "I got basically all the extensions with this, making everything I did before this look really stupid."

Not at all; all good developers succeed by finding ways to make their past work look unnecessarily complicated.

alberto-m 6 hours ago
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”)
fulNamSexBoomer 12 hours ago
This obviously showcases that Firefox needs to work on their support for having all browser extensions at once. Users want and need this.
Avamander 9 hours ago
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?
layer8 20 hours ago
> 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.

Occasionally, databases are useful. ;)

Waterluvian 20 hours ago
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.
shakna 19 hours ago
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.
Chaosvex 13 hours ago
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.

mockingloris 12 hours ago
> I had to recover somebody's bookmarks for them recently after it decided to destroy the main copy.

@Chaosvex curious how you did that.

Chaosvex 6 hours ago
Thankfully, it makes backups inside the profile folder and has a bookmarks file import option that'll accept them.

It does the same for session tabs (minus the import options) but that never seems to actually work.

estimator7292 18 hours ago
Easier for a user to edit.
17 hours ago
HPsquared 20 hours ago
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.
20 hours ago
ryanisnan 21 hours ago
Dang this is so good. Well done.
proactivesvcs 20 hours ago
"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."
methodist 19 hours ago
The extension is actually still up: hxxps://addons[.]mozilla[.]org/en-US/firefox/addon/%D1%96ron-w%D0%B0ll%D0%B5t/
thephyber 13 hours ago
Did you just admit to a CFAA violation?
weird-eye-issue 13 hours ago
What do you mean by "you"? Do you know what quotes are?
prmoustache 3 hours ago
Blatant USDefaultism
sunaookami 12 hours ago
Won't someone think of the poor phishers!
xg15 10 hours ago
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"...
danlitt 7 hours ago
Is the scraping code available? (in order to regenerate the dataset later)
Kholin 9 hours ago
Firefox should provide an option to disable the auto popup pages after any extension installed.
walrus01 19 hours ago
In general concept this reminds me a bit of adding every possible installer .EXE based Internet Explorer browser toolbar to Windows 98

https://www.reddit.com/media?url=https%3A%2F%2Fi.redd.it%2Fz...

https://fergido.wordpress.com/wp-content/uploads/2011/06/too...

curioussquirrel 11 hours ago
Absolutely unhinged and very entertaining. Thanks for sharing!
anthk 8 hours ago
GNU Abrowser and Icecat both point to a curated list of FLOSS licensed extensions.
jason1cho 11 hours ago
This article is interesting but hard to read in certain places because it contains distracting information.

Better to organize it into main findings and side stories.

lapcat 21 hours ago
> It turns out there’s only 84 thousand Firefox extensions.

On addons.mozilla.org, but you can distribute Firefox extensions without posting on addons.mozilla.org. I do.

pndy 10 hours ago
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
tech234a 16 hours ago
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)
3abiton 13 hours ago
> 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?

youknownothing 18 hours ago
Is this the digital version of Supersize Me?
throwatdem12311 18 hours ago
Turns out even browser extensions can be comedy.
thegdsks 19 hours ago
Good Luck Remembering all those icons.. Amazing
redoh 7 hours ago
[dead]