The Little Bug that Could: Firebug Book Chapter

<gush> Firebug is awesome. Joe Hewitt is a legend.

As I’ve said before, Firebug is among the most usable software tools ever developed. I don’t just mean compared to other software development tools. I mean against all user-facing software. It’s single-handedly improved my Ajax productivity by at least 100% (that’s my estimate when making changes to larger Ajax code bases). It’s made Ajax development much easier to get into for newbies and a much more pleasurable place to be for all developers. </gush>

So I’m pleased to announce I’m writing a chapter about the bug in the upcoming Sitepoint text, The Art & Science of JavaScript”. To be published by Sitepoint and with coauthors Simon Willison, Christian Heilmann, Ara Pehlivanian, Dan Webb, Cameron Adams, James Edwards, and others. I can’t talk about timelines, but you’ll notice the Amazon entry above is stating January ’08.

Would you like to review the chapter? Drop me a line – [email protected]

As well as explaining the various parts, I’ll be sharing tips on when to use different features and how to get the most value out of them. Here’s an outline:

* Meet the Bug
  What is Firebug, when to use it, overview of functionality, how it has
    impacted modern web development.·
  What's missing at time of writing (other browsers, cookies)

  • Installing Firebug

    Downloading and installing the plugin, opening it up and enabling it for certain sites. Windowed vs docked mode

  • Firebug Anatomy and Idioms

    Overview of sections in the Firebug window

    Idioms - point out that most things are cross-linked, searchable, and editable. Options menu.

  • The Console

    Introduces a sample application used throughout the chapter, then introduces the console (logging, errors, running JS commands).

  • Viewing and Editing Your App on the Fly

    • HTML
    • Including Layout and Style
    • Mention Inspect option in popup menus.
    • CSS
    • Javascript
    • DOM
  • Debugging Your App

    • Breakpoints and tracing
    • Watches
    • Stack trace in the console
  • Performance Tuning Your App

    • "Net" tab
    • Profile button
    • YSlow
    • Reference Related Tools below
  • Related Tools

    • Firebug Lite

    • YSlow

    • Microsoft Script Debugger

    • Other Firefox Extensions

    Brief list of a few other useful/alternative extensions, e.g. Web Developer Toolbar, Measure-It, Stylish

Firebug Wishlist

Just mailed Joe Hewitt a couple of suggestions for the bug.

Hi Joe,

A couple of firebug suggestions.

(1) Search

On the Ajaxian interview, you mentioned people have trouble locating and knowing about the existence of Search. (Me too.) Redesigning the layout will help, but I'd also suggest retaining the standard alt/control-F shortcut somehow, as I'm sure a lot of your power user audience will be trying to use that and failing.

More generally, any redesign probably ought to somehow integrate Firebug  search into Firefox search, e.g. use keyboard focus to decide which of the two is searched.

Bonus points if Firebug search cycles through all tabs :) .

(2) One word: cookies!


Ajax Diagnosis And Testing Patterns – Podcast

Welcome to Ye Olde Ajax Patterns Podcaste, the final in this series that began twelve months ago. 3+4+4+1 = 12 podcasts in all, covering 71 patterns (the 70 patterns in the the book as well as Dyanmic Favicons). Find them all on the podcast category – or subscribe to the podcast feed at Thanks for listening!

This podcast covers eight patterns on debugging/diagnosis of Ajax Apps, as well as testing Ajax apps, and I’m joined by Craig Shoemaker from Polymorphic Podcast, also a co-author of “Beginning Ajax with ASP.NET”. After some announcements, the interview begans at 6:00. The podcast overall is 60 minutes.


p> Ajax Diagnosis Patterns:


p> Ajax Testing Patterns:

With the series now complete, the podcast will now resume regular Sotware As She’s Developed topics including but not limited to agile development, Ajax, the web, and usability. Also, more conversations – please drop me a line at [email protected] if you’d like to come drop in for a skype chat.

As always, credits on this podcast to My Morning Jacket for the lead-in track, “One Big Holiday”. All podcasts in this series licensed under CC.

Audio Note: Sorry about the noise at some stages in this recording – I now know a lot more about audio levelling (the problem of keeping both ends at the same level), but at the time this was recording, it turned out I had set Craig’s end at too low a volume. I used Levelator to level each end, leading to too much noise…next time I’ll need to pump up the volume at each end from the start. I’m also looking forward to resuming use of Bias SoundSoap, but there’s no easy way to get this running on an Intel Mac for now!

What browsers do developers use?

Jeff Attwood points out that on w3schools, a huge majority of developers are still using IE.

About 60% IE and 25% Firefox. Amazingly 2.3% are still using Mozilla (why?). Unfortunate that 60% of developers aren’t using IE … but the reality is many don’t have much choice…they’ll be working in corporate-standard windows environments, where IE already exists and Firefox must be installed, if they have permissions to do so. Furthermore, Firefox won’t necessarily work due to firewalls and proxies. And then there are the developers who won’t install Firefox because they haven’t heard of it, are MS fanboys (yes they exist), or will get into trouble for doing so.

All of which means they’ll miss out on some of the best development tools around … including the insanely useful and popular Firebug.

FWIW AjaxPatterns must have a savvier audience ;-).

  • IE 46.8%
  • FF 36.2%
  • Moz 4.1%
  • Opera 2%
  • Safari 1.8%
  • ITunes … 0.4%
  • Konq 0.3%
  • NS 0.1%

Incidentally, were you paying attention? Let me repeat that

  • ITunes … 0.4%


That’s because one of the most popular hits is, the bootleg feed I set up to serve the Future Of Web Apps conference (which onlty released individual MP3s). It’s popular not because people keep downloading it, but because so many people subscribed to it to get all the MP3s in one hit, then never unsubscribed. When Russell Beattie wanted people to unsubscribe to his blog, he started posting annoying animated GIFs. I guess the audio equivalent would be to start posting chalk-screeching noises, or better still, blast out a dozen “Ice, Ice, Baby” enclosures.