Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Why do browsers include developer tools?
13 points by vghaisas 5 days ago | hide | past | web | favorite | 14 comments
This is a question a friend asked me a few years ago and I never found a satisfactory answer. As a developer, sure, I love the fact that browsers have developer tools included. But how did we get to this state? There must be a story here.

The vast majority of browser users aren't going to use the developer tools and aren't even expected to. And it's not like a toolbox included with some furniture because you don't expect the average user to "fix" a web page or build one themselves.

Is it just that someone did it and then everyone else thought they might as well do it too? I remember Firebug being more useful than whatever Firefox included, but it still included something iirc? Is it that it's just easier to keep them bundled in than to offer something separately and then deal with add-on problems (permissions, distribution, etc.) Is it that binary size isn't a big deal, so why not just keep it included? Even Firefox and Chrome on Android have a "view-source:" option, complete with syntax highlighting (for HTML at least).

Would love to hear what information HN has (or can find)!

The web had "view source" at the very beginning, and with simple HTML many people could pick it up and publish.

Netscape displaced Mosaic, Microsoft saw an existential threat and invested heavily in IE. Microsoft knew Netscape 3 was the product of an overgrown FORTRAN programmer and couldn't be retrofitted to support Cascading Style Sheets; Netscape 4 anticipated today's web but expected to deliver it in seven months instead of the 14 years it really took.

Internet Explorer gained market share as Netscape stalled; I was terrified that I wouldn't be able to browse the web on Linux or Solaris (the later turned out to be true!)

Netscape tried to give away the code, but it was so bad the community said no, write it from scratch and that what became Firefox. Google made Chrome and the three-way race was on.

Marketing to software developers is like leading an animal by the nose. I am a Firefox enthusiast because I fear Google dominance. If it is easy for me to run our product with Firefox I will do it all the time and leave it to my tester to find problems in Chrome. In other places it is not easy and you don't get help because they don't accept tickets if you don't use Chrome. Because Firefox has sold to me, you have a great Firefox experience on the site I work for.

Although the dev tools allow users to tamper with web sites, they also are a defense against web malware. A Javascript app can track you, annoy you, mine cryptocoins, steal info, but the dev tools let you catch it in the act.

Although the dev tools allow users to tamper with web sites

That's a feature. "User agent" and all that.

If you want to get your browser to work with popular sites you need to provide an easy way for the web designer/developer to ensure that their site easily works with your browser.

Providing the necessary developer tools in the browser, puts zero barriers on the designers/developers to debug rendering issues with your browser.

Having a more complicated way to get access to such tools could make developers say, "it's too much work to develop/debug for browser Y, we recommend you use browser X instead."


Firebug was the best and nearly only tool out there for a while.

Then Google took a page from Apple’s early OS X book: bundle great developer tools so developers want to write apps on your platform and not port them to others.

Meanwhile Firebug was suffering and non-performant due to not having access to the browser core. Chrome’s developer tools soon outstripped it.

Mozilla decided to rebuild Firebug’s features internally where they’d have the right permissions to perform well and debug properly and do all the fancy things Chrome’s did.

Developers loathed Internet Explorer but had to develop for it anyway, and I assume Microsoft added tools to it to keep their browser from being blackballed entirely.

Safari? Who knows.

It isn't only for web developers. It can be useful for anyone. When viewing a web page, you can delete or otherwise change stuff, you can execute calculations, you can check for various stuff, and more. It is very useful on a lot of modern web pages; they tend to be rather unusable without it.

I suspect, if they do, they will just make it harder to enable but never remove it. As soon as you do remove it, someone will complain their page does not work on a customer site but works fine on their engineers version. It will be one of two things: 1) a configuration issue that is not obvious like they are pulling their css from somewhere ganky, or 2) the browser code uses a different version (debugger based) for some functionality.

End result, why pull it out if it does not cause harm?

because platforms need development tools for developers.

browsers has "developer tools" and android has "developer tools and adb".

standart users doesn't use adb or development tools but they still inside an android system. sometimes seperate builds for user and developer is not nice solution.

I always figured Mozilla would remove then from the vanilla Firefox and leave them in their "Developer" version but that never happened LOL

Yeah, it totally sounds like a thing you'd only expect in a "developer" version of browsers. Really curious to find out if anyone knows why that's not the case!

Safari on Mac almost is there. You have to check the “Show Develop menu in menu bar” checkbox to get developer tools. Even “Show Page Source” isn’t available if you leave that unchecked.

I think this was also the case with the old Edge on Windows. Not sure that's still the case with the new Edge, though.

>Ask HN: Why do browsers include developer tools?

For killing poorly-implemented modal overlays on paywalls, of course.

Is there a guide anywhere that goes through this sort of thing?

Very true.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact