Firebug Lite 1.3 alpha release

Spread the word: New Firebug Lite 1.3 alpha released We are releasing an alpha version of the next generation of Firebug Lite. If you would like to test this version, please star this issue so you can receive updates about the alpha versions, or follow up the discussion.

1. Overview

This version was conceived to put the Firebug Lite in a new level, by allowing code reuse from Firebug's original codebase. A new core was created to accomplish the following goals:

Performance - the core of Firebug Lite 1.3 was rewritten from scratch taking the performance into account in the first place.

Modularity - the code is now more modular, making easier the process of adding new features and UI components such as panels, buttons, menus etc. The modularity also helps the development process. Once the modules can be isolated it is easier to detect the cause of complicated problems like memory leaks.

Shared code - the core was designed to make it possible to port some code directly from the Firebug source, with as few as possible modifications. As a result, some features and UI elements behave exactly as in Firebug.

Compatibility - the new core is compatible with XHTML and XML+XSL documents. Thanks to the new context-independent approach, it supports now the experimental persistent popups feature (popups that "live" across different page loads of the same domain), and will support cross-iframe inspection in the next version.

2. What's New?

User Interface

Inspector

Console

Core

And more...

1.2. What's missing in Firebug Lite 1.3?

Here are the features that are still missing, but should be available in the final Firebug Lite 1.3 release:

1.3. What's Not in Lite?

Some features are not included in Firebug Lite 1.3, but due the new core that supports code sharing from Firebug, are likely to be included in the Firebug Lite 1.4 version:

Other features though are too dependent in browser internals and will not be supported (at least in a near future*), such as:

*Recent discussions about remote debugging indicates that should be possible to support JavaScript debugging in browsers like Google Chrome and Opera in a not so distant future, but the differences in the protocols may slow down this process (hey browser developers, what about adopting a standard?).

3. Install

a) Bookmarlet

Bookmark the following links:

**The trace enabled bookmarlet is intended to help identify error in Firebug Lite. If you find a bug, run the trace enabled bookmarlet and look for something strange in the logs.

b) Live link

You can also link directly to the hosted version at getfirebug.com. Copy the following code, and paste it in the TOP of the HEAD of your document:

c) Local link (offline)

If you need using Firebug Lite while offline, download the code, copy to a local destination, and link the firebug.jgz in the TOP of the HEAD of your document.

d) Development mode:

If you want to debug Firebug Lite, fix a bug, or add a new feature, you will want to run the Firebug Lite in development mode. To do so, first checkout the latest version in our repository, and then insert a script at the TOP of the HEAD of your document.

When in development mode, some things behave quite differently to make the development process easier, such as:

4. Options

The properties you can change include (with respective default values):

You can change the options using any of the following methods (in ascendant order of priority):

a) debug="true"

For backwards compatibility you can still use the debug="true" attribute in the <html> tag to make Firebug Lite starts opened, like:

<html debug="true">

b) Script URL options

You can also set the options using URL fragment, specially handy to tweak options in your bookmarlet.

http://getfirebug.com/releases/lite/alpha/firebug.jgz#enableTrace

Options are separated by commas (,), and values are informed using the equals to (=) symbol. If no value is informed, it is assumed "true".

path/to/firebug.jgz#enableTrace,overrideConsole=false

is equivalent to:

path/to/firebug.jgz#enableTrace=true,overrideConsole=false

c) Script JSON options

It is possible to set options using a JSON object inside the linked script:

<script type="text/javascript" 
src="http://getfirebug.com/releases/lite/alpha/firebug.jgz">
{
    overrideConsole: false,
    startInNewWindow: true,
    startOpened: true,
    enableTrace: true
}
</script>

d) Cookies

Finally, you can override the options using cookies, via User Interface, by clicking in the Firebug icon in the upper-left corner.

5. What to test?

That's a lot of things to test, but we're particularly interested in make sure the core of the application is working well before we move on to the beta stage. Here are the list of the most important things to test:

5.1. Loading

Firebug Lite should run fine no matter how it was loaded.

Bookmarlet - the current bookmarlet used in both Firebug Lite 1.2 and 1.3 versions contains some problems and limitations (it won't load for example in XHTML and/or XML+XSL documents). We're particularly insterested in find such problems in the bookmarlet now we're in alpha stage, because updating bookmarlets is a boring task, and should be done by the user individually, in each browser.

Local include - Firebug Lite should load fine when using relative paths in the URL (when loaded locally).

Live include - Firebug Lite should load fine when loaded directly from getfirebug.com.

5.2. Rendering

Please report us if you see some weird behavior in the User Interface, such as misplaced elements, elements not rendered, abnormal flickering, partial rendered panels, or any other visual weirdness.

5.4. Document Types

Firebug Lite should work in different types of documents such as XHTML and/or XML+XSL documents.

6. Contributing

Your contribution is very important. Found a bug? Have a suggestion? Please report us.

Found a fix for a particular issue? Patches are welcome. Also, if you are willing to help more deeply with coding, join our team.

Spread the word: New Firebug Lite 1.3 alpha released Last, but not least, you can also helping us by spreading the word, inviting more people to test this new version. Feel free to post about it in your blog, social network, or use the retweet button on the left.