See also post related to Firebug 1.5 activation.
A while ago, I have written a post about Firebug 1.2 activation that is used to enable and disable certain Firebug features and avoid performance penalties the user could pay when not using Firebug and just browsing with Firefox.
Since that time we have gathered a lot of feedback related to the activation model saying in short: it's too complicated, I don't understand how to use it. Even if it's not exciting to receive negative responses, thanks to all who took the time to explain what could be done better!
So, read the rest of the post if you interested in how the activation model has been designed for Firebug 1.4.
The overall user experience for activation has three parts: deciding which panels to have enabled (see Firebug Panel Enablement), opening Firebug on pages you want to debug (see Page Activation), and finally deciding where you want to see Firebug (see Firebug UI Placement). Most users will select panels once. After that, the common operations will be:
- One click to open Firebug on a web page, Ctrl+R to reload the page to see details in the Console, Script or Net panel.
- One click to minimize Firebug, work with the page, one click to reopen Firebug.
- One click to close Firebug on a page you don't want to debug after all.
Don't let the details below obscure the basic simplicity of the mechanism. There are no blacklists, whitelists, or regular expression filters involved.
One important message: the meaning of the firebug icon has not changed. If the icon is orange, Firebug is actively analyzing the web page; if the icon is gray, Firebug has minimal overhead.
Firebug Panel Enablement
A global action, not site specific. This mechanism allows disabling panels that are not useful for particular user. This is applied on Console, Script and Net panel (all disabled by default).
- Enable/Disable (panel mini-popup-menu) enables/disables individual panel.
- Enable/Disable All Panels (status-bar context-menu) enables/disables all panels at once.
Enabling panels causes extra debugging overhead on Web pages active for Firebug.
Opening Firebug UI activates the selected Firefox tab - this means Firebug is now analyzing the Web page. Navigating from an active page to any page in the same domain also activates that new page.
Navigating to a page outside the domain of an active page or changing Firefox tabs to an inactive page (eg gmail), causes Firebug to suspend (no extra debugging overhead).
Closing Firebug with the button makes the page inactive for Firebug - this means Firebug is suspended with minimal overhead.
Firebug remembers active pages and closed pages. When the page starts to load, Firebug opens if the page was active last time. If a page was closed last time, Firebug will not open (even if the load was caused by a link from an active page).
Activating a page does not fill the Console, Script, and Net panels with complete information. Users must reload the page to get correct information.
- Toggle Firebug (status bar icon left click) - Toggles between Open and Minimized (see below).
- On for all web pages (status-bar context-menu) – Firebug UI is opened automatically for all pages.
- Off for all web pages (status-bar context-menu) – Firebug UI is closed (or not opened) for any loaded page.
Firebug's context menu (status bar icon right click).
Firebug UI Placement
Firebug UI can be in one of four places:
- Opened in-browser
- Opened in-new-window (aka detached)
In all cases there is always one Firebug window per Firefox window. Its content is automatically updated according to the selected Firefox tab.
- Minimize Button (Firebug tab-bar) – Minimizes Firebug UI while keeping all enabled panels running - the status bar is icon still orange. When the Firebug UI is restored, the panel contents will be refreshed as if the UI had been up all the time.
- Open Firebug In New Window (Firebug tab-bar) – Opens Firebug in a new separate window (detach).
- Close Button (Firebug tab-bar) - Closes Firebug and all enabled panels are suspended - now the status bar icon is gray.