Saying Goodbye to Firebug
hacks.mozilla.org
hacks.mozilla.org
I don't know how long it's been there, I noticed it today but I might have simply had XHR logging off previously.
What do you mean? There are plenty of ways to filter down the activity tab in Chrome if the problem you're experiencing is that the volume of requests is too high to be useful.
[1]: https://imgur.com/a/hBkmq
// Chrome has copy as curl command.
but yeah, the edit-and-resend tool is amazing
I was really surprised to see an inferior clone appear in Chrome. I then started to hear people talking about Chrome dev tools and would always ask, "did you not know about Firebug?", and the answer would be no. Strange.
It was easier to develop on Firefox and then debug on IE. So a lot of websites worked on Firefox even if the management team didn't care (or even, in our case, when they told us not to support Firefox and we nodded and did it anyway)
A long time ago, the company I worked at had a website which worked only on IE, because it needed a specific ActiveX control for streaming video. But even though it would never work on Firefox, the developers still made as much of the site as possible work on Firefox, because whenever IE popped up an unhelpful error message ("Object expected" and others), reproducing the error on Firefox gave a useful error message.
The same happened to me at one particularly bad place I worked. Even more amusing is that we we're writing a web crawler based product and without inspecting the crawled sites in firebug our product wouldn't have existed at all.
That's a demo of a Smalltalk environment with the programmer deliberately writing some code that crashes, going into the debugger, adding the method on the fly, and then having the original method call complete despite the method not yet having existed.
It isn't quite true that there is nothing new under the tech sun... but there's certainly less new than most people seem to think.
I was amazed that I could breakpoint and debug any running app. I miss SoftICE.
I read this a while back from someone who work for the company which owns SoftICE copyright : https://reverseengineering.stackexchange.com/questions/1445/...
Ironically, the first software I cracked, well tried to, was an IRC client named Klient if I recall correctly. I bypassed the license check, but, this software included a functionality which, when it detected this, broadcasted to everyone (except me) that I was using a pirated version and that I was accepting the CTCP reboot command :-)
For windows kernel debugging, there is windbg, kd, and assorted "emulation" methods like qemu's gdb stub. Similarly for linux/kgdb/etc... OTOH, Softice had a number of OS data structure aware commands in the late 1990's which are only really available in something like windbg. In theory you could write kgdb macro's to perform most of that functionality for linux/etc but it doesn't work out of the box.
Although in the end, the logical replacement for softIce, is a JTAG debugger of some form. A fair number of the ARM platforms work with DS5/Dstream which provides source level debugging with far more functionality (for example trace level timing information) than softice as an "ICE' ever did. I guess its the same for intel's ITP-XDP3/system studio products these days.
Again, it depends on what your trying to debug. AKA do you need the "ICE' (aka JTAG these days) functionality, or are you just looking for a powerful kernel or user-space debugger.
x64dbg on 64 bit windows
IDA Pro Debugger/GDB/LLDB on Linux/OSX/iOS/Android
GDB everywhere else
as StillBored said, windbg for Windows kernel debugging, but I've honestly only used it in exotic situations for .NET debugging
Firebug was a quantum leap in terms of HTTP/JS debugging.
Windows had one of the first JavaScript debuggers, due to JScript.
Electron already existed as MSHTML packaged apps.
That usually wasn't a problem, though, because you had to support IE due to its market share.
Here's console.js in 2007: https://github.com/firebug/firebug/blob/85f35d8e871783adcf9c...
Firebug's behavior was somewhat analogous to "MDI" in legacy GUI applications, in that a single window handled multiple views. The view switched with your browser's active tab.
The funny bit is that the stack of developer tool windows we end up with today is reminiscent of the stack of browser windows we had prior to the advent of tabbed browsing.
The relevant Bugzilla bug:
Most people debugged with alerts or document.write-ing in the page. The "wokest" were aware of Venkman (Moz/FF), Script Editor (IE) and the Visual Studio IE integration (also IE), all of which were pretty much just JS debuggers.
Venkman worked the best but the UX was a horrendous mess, SE and VS were less visually messy but (likely due to IE) frequently got lost entirely and were completely unable to debug the JS toplevel ("and "modules" were not really a thing back then, so much of your code would live in the JS toplevel).
This was also the epoch of Drip, an IE webview which would just reload a page over and over checking for IE's infamous DOM leaks.
God I so don't miss it.
Firebug was definitely a pivotal moment, a complete perspective shift for the field.
In theory that could have been caught by a good jslint/syntax checker but those were a few years in the future too. Early, JS development really sucked, its only slightly better today..
I recall a dramatic bug where, in 2012, I rolled out a new version of a web GUI with some JS mixed in it to an intranet audience of IE 7 and Firefox users. It initially looked good, but then reports came in that IE users couldn't use one of the buttons. After much debugging and confusion, it turned out that there was a trailing comma at the end of an array literal (i.e. `[1,2,3,]` instead of `[1,2,3]`). Firefox accepted that, but IE 7 didn't. (I think IE 8 added support for trailing commas.)
Firebug was revolutionary not only for the console but the inspect tool was very needed as layouts and CSS progressed where outputs weren't enough.
I didn't even know JS to begin with. Jan Orvadko, the lead maintainer of Firebug, is an amazingly approachable & affable human being. He helped me a lot in the IRC channel, in going through the firebug codebase.
I love, used and appreciate firebug as much as the next guy but this is a bit much. Its a great product that helped alot of people it's not an ideal to fight for nor "ushered" in web 2.0.
Without Firebug a lot of the JS development that was basically required for Web 2.0 sites would have been much much slower and even more complex to maintain.
It didn't create Web 2.0 (arguably that had been a thing since 2003-2004, and the term dates to ~99) but it did usher it into mainstream development due to making it less painful to create that content.
I'm very concerned for the future direction of Firefox.
Why not? This thread is about losing valuable capabilities due to the migration to WebExtensions. Firebug was possible in the old extension system; it's impossible (as I understand it) with WebExtensions.
> in terms of cross-browser gains, web extensions rather than "these things only work in this one browser" still seems the right way forward
Do they? Is working on multiple browsers really that useful for extensions, many of which exist specifically to modify the behaviour of a single browser? For that matter, ISTR that WebExtension aren't really cross-browser — there's still some customisation required.
> if we need more out of it, let's get the attention of the people who draft that spec and get them to given more access to the things we need to bring back the functions that made life better
I don't disagree. Why not do that before eliminating useful functionality?
My concern is for Firefox's direction: it has spent the past several years removing useful functionality (most recently extensibility, but also the security of its previous Sync product, which is now thoroughly compromised) and adding extraneous functionality (e.g. Pocket, Hello, even containers[0]). I'm reminded very much of how the GNOME project went off the deep end, removing functionality (twelve years on and it still can't replace xscreensaver) and features because they thought Linux users want simplicity.
Likewise, Firefox and Mozilla seem to have been taking a series of decisions based on an IMHO inaccurate read on Firefox's userbase and that userbase's desires. I believe that Firefox users use it because it is philosophically better: freer, more secure, more private, more open than IE, Chrome or Opera. I think we're fine if it's practically worse, because we know that in time philosophical quality will lead to practical quality, but the reverse rarely happens if ever.
[0] Firefox has supported profiles for years; profiles and containers have significant overlaps in functionality and I think profiles are more usable.
The Firefox dev tools' Firebug theme gives me the illusion that I can click the network tab and find that old, reassuring interface. And instead it's the (in my opinion) less functional one from dev tools.
At that point, I prefer ditching the Firebug theme altogether, and embrace the loss. :(
Firebug made me happy to leave that behind.
Now i can only open the native dev tools and i can only view either "Style editor" OR "Dom navigation" but not both at the same time.
Will miss you firebug as extension!!
> Jan 2007, Firebug 1.0 The start of Web 2.0!
O'Reilly Media Web 2.0 Conference was in 2004
We than had the infamous Time Person of the Year "YOU" "TIME selected the masses of users who were participating in content creation on social networks, blogs, wikis, and media sharing sites."
I do agree that Firebug (as much as I miss it) didn't have much to do with Web 2.0 though.
Joe Hewitt needs a huge fucking award. Huge.
Upgraded CSS Engine
Upgraded Render Enginer with WebRender
And now integrated firebug support.
Exciting stuff.
> Firebug 3 ... was built as an extension to built-in Firefox devtools and eventually integrated directly into devtools.
Thankfully moz dev tools were getting to be just good enough around that time and supported a dark theme. Last time I ever used firebug, thanks for all the fish.
Had enough added value to be a commercial tool, but it was released for free. For that, kudos.
In the last week I've made the switch back to Firefox (Developer) and it's been awesome. I haven't had done any front end work yet so I haven't used the developer tools, though. I never really cared for the ergonomics of the Chrome devtools but I was really familiar with them and could efficiently profile/debug code.
I particularly dislike the console in FF which is just one tiny input at the bottom of the window. Overall ff devtools also seem slower to open and clunkier.
The inspector tool in Firebug was damn near instant to allow me to select an element in the browser. Firefox's version of the inspector can take upwards of 5 seconds sometimes to become "ready". Side note... I'm on a 7 year old macbook air, so the differences are very notable.
As a beginner, it made debugging so much easier. Five years later, I still cant fathom using anything but Firefox, alas, without firebug.
I mean 5 years ago, Chrome added debugging Web Workers[0] so clearly Chrome Dev Tools were already quite mature by 2012.
[0]: https://blog.chromium.org/2012/04/debugging-web-workers-with...
That said, recent features in Firefox (Containers especially) have me much more interested again.
By the time the Firefox 4 betas were out, it was no contest; Firebug was very crashy (which, to be fair, it's hard for an extension to support a beta browser, but Chrome's dev and beta channels always had a reasonably stable devtools thanks to it being built-in).
dunno if chrome tools are better, but ff tools are sloow
edit edit: Apparently the last time I tried to install Firebug it instead asked me to just make Developer Tools look like Firebug, which is definitely a bad idea.