Firebug Roadmap
From FirebugWiki
Sebastianz (Talk | contribs) m (Added another issue to Orion Text View and marked it as started) |
Sebastianz (Talk | contribs) m (Fixed save origin URLs) |
||
| (30 intermediate revisions not shown) | |||
| Line 1: | Line 1: | ||
* This page is intended to summarize plans and directions for Firebug.next | * This page is intended to summarize plans and directions for Firebug.next | ||
| + | * Provide any feedback on Firebug [https://groups.google.com/forum/#!forum/firebug newsgroup] | ||
| - | + | == Strategy == | |
| + | This section describes goals and strategy that keeps Firebug a competitive in-browser tool and leader in space of in-browser developer tools. | ||
| - | * | + | * Improve memory footprint & performance |
| + | * Reuse built-in dev-tools API and components | ||
| + | * Innovate features that only Firebug can deliver | ||
| + | * Extension compatibility | ||
| + | * Faster release cycle | ||
| + | == Version Numbering == | ||
| + | The next planned version number is: '''1.11''' | ||
| - | + | Development happens on [http://getfirebug.com/releases/firebug/1.11/ Firebug 1.11] branch (currently alpha). | |
| - | + | ||
| - | + | If a significant new feature (or set of features) is introduced in new release the version numbering can move into 2.* scheme. An example of such feature can be support for remote debugging. | |
| - | + | ||
| - | == | + | == Schedule == |
| - | + | The goal is to introduce new Firebug release till the end of 2012 | |
| - | === | + | {| class="wikitable" style="" |
| - | + | |- | |
| + | ! style="width:200px" | Phase || style="width:200px" | Start Date | ||
| + | |- | ||
| + | | Alpha || Started | ||
| + | |- | ||
| + | | Beta || 9th of November | ||
| + | |- | ||
| + | | Final Release || 7th of December | ||
| + | |} | ||
| + | * The entire release cycle (from the first alpha to the final release) should target 4-5 months | ||
| + | * The beta phase should be at least 4 weeks | ||
| + | * The new release should introduce 8-10 new features (or significant bug fixes) | ||
| - | == | + | == Suggested Features == |
| + | Use this section to suggest any feature you'd like to see in Firebug.next. | ||
| - | * | + | * JSD2 Adoption |
| - | * | + | * Remote Debugging |
| - | * | + | * Integrating FireClosure |
| - | == | + | == Planned Features / Changes == |
| + | This section summarizes all features that are planned for Firebug.next. Every feature in this section must have an owner. | ||
| - | + | === Regular Tasks === | |
| - | + | * [http://code.google.com/p/fbug/issues/list?can=2&q=blocks%3A1.10 Firebug 1.10 blockers] (not fixed) | |
| + | * [http://code.google.com/p/fbug/issues/list?can=2&q=blocks%3A1.11 Firebug 1.11 blockers] | ||
| - | {| class="wikitable" style=" | + | === Feature Overview === |
| + | {| class="wikitable" style="width: 100%;" | ||
|- bgcolor=lightgrey | |- bgcolor=lightgrey | ||
| - | ! style="width: | + | ! style="width:200px" | Feature || style="width:120px" | Developers || Related Issues || Status |
|- | |- | ||
| - | | | + | | Adopt JSD2 || Honza, Sebastian, Farshid || [http://code.google.com/p/fbug/issues/detail?id=5421 Issue 5421]: Adopt JSD2 || style="background-color:gold; font-weight:bold;" | started |
| - | | | + | |
| - | + | ||
|- | |- | ||
| - | | | + | | Group Console Messages || Sebastian || [http://code.google.com/p/fbug/issues/detail?id=4979 Issue 4979]: Group console messages || style="background-color:gold; font-weight:bold;" | started |
|- | |- | ||
| - | | | + | | SPDY Support || Bharath || [http://code.google.com/p/fbug/issues/detail?id=5696 Issue 5696]: SPDY support in the Net panel || style="background-color:#00B400; font-weight:bold; color:white;" | done |
| + | |- | ||
| + | | Support for <code>PerformanceTiming</code> || Honza || [http://code.google.com/p/fbug/issues/detail?id=5843 Issue 5843]: Support for PerformanceTiming spec || style="background-color:#00B400; font-weight:bold; color:white;" | done | ||
| + | |- | ||
| + | | Integrate SelectBug || Honza || [http://code.google.com/p/fbug/issues/detail?id=5931 Issue 5843]: Integrate SelectBug extension into Firebug || style="background-color:#00B400; font-weight:bold; color:white;" | done | ||
|- | |- | ||
| - | | | + | | Improve <code>$x()</code> || Sebastian || [http://code.google.com/p/fbug/issues/detail?id=18 Issue 18]: Beef up $x || style="background-color:#00B400; font-weight:bold; color:white;" | done |
|- | |- | ||
| - | | | + | | Auto-completion for [[Command Line|Command Editor]] || Simon || [http://code.google.com/p/fbug/issues/detail?id=55 Issue 55]: Auto-completion for Command Editor<br/>[http://code.google.com/p/fbug/issues/detail?id=5741 issue 5741]: Auto-completion within expression in Command Line || style="background-color:lightgrey; font-weight:bold; color:black;" | not started |
|- | |- | ||
| - | | | + | | Event types filter || Sebastian || [http://code.google.com/p/fbug/issues/detail?id=229 Issue 229]: Allow event types to be filtered with "Log Events" || style="background-color:gold; font-weight:bold;" | started |
|- | |- | ||
| - | | | + | | Syntax highlighting for JavaScript || Honza || [http://code.google.com/p/fbug/issues/detail?id=4823 Issue 4823]: Native javascript code color/highlight (without FireRainbow extension)<br/>[http://code.google.com/p/fbug/issues/detail?id=5175 Issue 5175]: Integrate Orion as replacement for the Script panel UI || style="background-color:gold; font-weight:bold;" | started |
|- | |- | ||
| - | | | + | | Delete all watch expressions at once || Florent || [http://code.google.com/p/fbug/issues/detail?id=5639 Issue 5639]: Allow deleting all watch expressions at once || style="background-color:#00B400; font-weight:bold; color:white;" | done |
|- | |- | ||
| - | | | + | | Activate Same Origin URLs enhancements || Sebastian || [http://code.google.com/p/fbug/issues/detail?id=2202 Issue 2202]: Activate Same Origin URLs enhancements || style="background-color:#00B400; font-weight:bold; color:white;" | done |
|- | |- | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
|} | |} | ||
| - | + | * Feature planning should keep in mind the suggested release schedule above | |
| - | + | ||
| - | + | === Feature Description === | |
| - | + | This section provides detailed description of all planned features. | |
| - | + | ||
| - | + | ||
| + | ==== Adopt JSD2 ==== | ||
| + | Firebug script debugger and all related features like BON (break on ...) should be based on new JSD2 API. Using JSD2 API will also enable remote debugging. | ||
| - | + | Part of this task is also internal Firebug architecture refactoring so it's ready for remote debugging features. Note that adopting JSD2 doesn't automatically mean that Firebug is remote-debugging-ready. This is covered by [http://code.google.com/p/fbug/issues/detail?id=5837 issue 5837] | |
| - | Firebug | + | |
| - | + | Note that this task doesn't have to make it into Firebug.next, but it could be possible (if useful) to at least merge code changes. | |
| - | + | '''Resources:''' | |
| - | * Firebug | + | * [https://getfirebug.com/wiki/index.php/Firebug_1.7:_Mozilla_Backend Firebug 1.7 BTI] |
| - | * | + | * [https://getfirebug.com/wiki/index.php/Script_Panel_Refactoring Script Panel Refactoring] |
| - | * | + | * [https://getfirebug.com/wiki/index.php/Remoting_Prototype Remoting Prototype] |
| + | * [https://getfirebug.com/wiki/index.php/Remoting_Architecture Remoting Architecture] | ||
| - | + | '''Source Repository:''' | |
| + | Development happens on [https://github.com/firebug/firebug/commits/jsd2 JSD2 branch] | ||
| - | + | ==== SPDY Support ==== | |
| - | + | '''Tasks:''' | |
| - | * | + | * Display use of SPDY protocol for requests inside [[Net Panel]] |
| - | + | ||
| - | + | ||
| + | ==== Group Console Messages ==== | ||
| + | Console messages optionally need to be grouped to avoid spamming the [[Console Panel]]. | ||
| - | + | '''Tasks:''' | |
| - | + | * Group error messages | |
| + | * Group messages produced by the <code>console</code> object | ||
| - | + | ==== Support for <code>PerformanceTiming</code> ==== | |
| - | + | Performance timing data accessible through <code>window.performance.timing</code> should be displayed. | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | '''Tasks:''' | |
| - | [ | + | * Decide where and how to display the data (probably inside [[Console Panel]]) |
| + | * Create the graphical display | ||
| - | + | ==== Integrate SelectBug ==== | |
| + | '''Tasks:''' | ||
| + | * Integrate SelectBug | ||
| + | * Fix any occurring errors | ||
| - | + | ==== Improve <code>$x()</code> ==== | |
| - | + | The [[Command Line API]] <code>[[$x()]]</code> should cover all functionality of <code>[https://developer.mozilla.org/en-US/docs/DOM/document.evaluate document.evaluate()]</code>. | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | '''Tasks:''' | |
| - | + | * Let <code>$x()</code> return arrays, strings, integers and booleans | |
| + | * Add a parameter to specify the root element | ||
| + | * Add a parameter to specify the return type | ||
| - | + | ==== Auto-completion for Command Editor ==== | |
| - | + | Add the [[Command Line]] auto-completion to the (multi-line) [[Command Line|Command Editor]] inside the [[Console Panel]]. | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | === | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | '''Tasks:''' | |
| - | + | * Allow auto-completion within an expression | |
| + | * Add auto-completion to the Command Editor | ||
| + | * Enhance positioning of the Completion List Popup | ||
| - | === | + | ==== Event types filter ==== |
| - | + | The user should have the possibility to choose certain event types to be logged to the [[Console Panel]]. | |
| - | + | '''Tasks:''' | |
| - | * | + | * Create menu items for the different event groups |
| - | * | + | * Refactor setting the event types to work together with the ones set via <code>[[monitorEvents()]]</code>. |
| - | + | ==== Syntax highlighting for JavaScript ==== | |
| - | + | The [[Script Panel]] should have syntax highlighting enabled for the displayed JavaScript code. | |
| - | + | ||
| + | '''Tasks:''' | ||
| + | * Replace <code>SourceBox</code> code by Orion | ||
| + | * Re-add context menu options | ||
| + | * Adjust CSS to match the Firebug UI | ||
| - | === | + | ==== Deleting all watch expressions at once ==== |
| - | + | Allow removing all watch expressions added to the [[Watch Side Panel]] at the same time. | |
| - | + | ||
| - | + | '''Tasks:''' | |
| - | * | + | * Add a context menu option "Delete All Watches" |
| - | + | ==== Activate Same Origin URLs enhancements ==== | |
| - | + | Firebug [[Activation]] needs to distinguish between subdomains when ''[[Firebug Menu|Activate Same Origin]]'' is enabled. | |
| - | + | '''Tasks:''' | |
| + | * Change the activation logic to consider subdomains | ||
| - | * | + | == Resources == |
| - | + | * [https://getfirebug.com/wiki/index.php/Firebug_Roadmap_1.10 Firebug 1.10 Roadmap] | |
Revision as of 14:09, 18 October 2012
- This page is intended to summarize plans and directions for Firebug.next
- Provide any feedback on Firebug newsgroup
Strategy
This section describes goals and strategy that keeps Firebug a competitive in-browser tool and leader in space of in-browser developer tools.
- Improve memory footprint & performance
- Reuse built-in dev-tools API and components
- Innovate features that only Firebug can deliver
- Extension compatibility
- Faster release cycle
Version Numbering
The next planned version number is: 1.11
Development happens on Firebug 1.11 branch (currently alpha).
If a significant new feature (or set of features) is introduced in new release the version numbering can move into 2.* scheme. An example of such feature can be support for remote debugging.
Schedule
The goal is to introduce new Firebug release till the end of 2012
| Phase | Start Date |
|---|---|
| Alpha | Started |
| Beta | 9th of November |
| Final Release | 7th of December |
- The entire release cycle (from the first alpha to the final release) should target 4-5 months
- The beta phase should be at least 4 weeks
- The new release should introduce 8-10 new features (or significant bug fixes)
Suggested Features
Use this section to suggest any feature you'd like to see in Firebug.next.
- JSD2 Adoption
- Remote Debugging
- Integrating FireClosure
Planned Features / Changes
This section summarizes all features that are planned for Firebug.next. Every feature in this section must have an owner.
Regular Tasks
- Firebug 1.10 blockers (not fixed)
- Firebug 1.11 blockers
Feature Overview
| Feature | Developers | Related Issues | Status |
|---|---|---|---|
| Adopt JSD2 | Honza, Sebastian, Farshid | Issue 5421: Adopt JSD2 | started |
| Group Console Messages | Sebastian | Issue 4979: Group console messages | started |
| SPDY Support | Bharath | Issue 5696: SPDY support in the Net panel | done |
Support for PerformanceTiming | Honza | Issue 5843: Support for PerformanceTiming spec | done |
| Integrate SelectBug | Honza | Issue 5843: Integrate SelectBug extension into Firebug | done |
Improve $x() | Sebastian | Issue 18: Beef up $x | done |
| Auto-completion for Command Editor | Simon | Issue 55: Auto-completion for Command Editor issue 5741: Auto-completion within expression in Command Line | not started |
| Event types filter | Sebastian | Issue 229: Allow event types to be filtered with "Log Events" | started |
| Syntax highlighting for JavaScript | Honza | Issue 4823: Native javascript code color/highlight (without FireRainbow extension) Issue 5175: Integrate Orion as replacement for the Script panel UI | started |
| Delete all watch expressions at once | Florent | Issue 5639: Allow deleting all watch expressions at once | done |
| Activate Same Origin URLs enhancements | Sebastian | Issue 2202: Activate Same Origin URLs enhancements | done |
- Feature planning should keep in mind the suggested release schedule above
Feature Description
This section provides detailed description of all planned features.
Adopt JSD2
Firebug script debugger and all related features like BON (break on ...) should be based on new JSD2 API. Using JSD2 API will also enable remote debugging.
Part of this task is also internal Firebug architecture refactoring so it's ready for remote debugging features. Note that adopting JSD2 doesn't automatically mean that Firebug is remote-debugging-ready. This is covered by issue 5837
Note that this task doesn't have to make it into Firebug.next, but it could be possible (if useful) to at least merge code changes.
Resources:
Source Repository: Development happens on JSD2 branch
SPDY Support
Tasks:
- Display use of SPDY protocol for requests inside Net Panel
Group Console Messages
Console messages optionally need to be grouped to avoid spamming the Console Panel.
Tasks:
- Group error messages
- Group messages produced by the
consoleobject
Support for PerformanceTiming
Performance timing data accessible through window.performance.timing should be displayed.
Tasks:
- Decide where and how to display the data (probably inside Console Panel)
- Create the graphical display
Integrate SelectBug
Tasks:
- Integrate SelectBug
- Fix any occurring errors
Improve $x()
The Command Line API $x() should cover all functionality of document.evaluate().
Tasks:
- Let
$x()return arrays, strings, integers and booleans - Add a parameter to specify the root element
- Add a parameter to specify the return type
Auto-completion for Command Editor
Add the Command Line auto-completion to the (multi-line) Command Editor inside the Console Panel.
Tasks:
- Allow auto-completion within an expression
- Add auto-completion to the Command Editor
- Enhance positioning of the Completion List Popup
Event types filter
The user should have the possibility to choose certain event types to be logged to the Console Panel.
Tasks:
- Create menu items for the different event groups
- Refactor setting the event types to work together with the ones set via
monitorEvents().
Syntax highlighting for JavaScript
The Script Panel should have syntax highlighting enabled for the displayed JavaScript code.
Tasks:
- Replace
SourceBoxcode by Orion - Re-add context menu options
- Adjust CSS to match the Firebug UI
Deleting all watch expressions at once
Allow removing all watch expressions added to the Watch Side Panel at the same time.
Tasks:
- Add a context menu option "Delete All Watches"
Activate Same Origin URLs enhancements
Firebug Activation needs to distinguish between subdomains when Activate Same Origin is enabled.
Tasks:
- Change the activation logic to consider subdomains