Firebug Roadmap

From FirebugWiki

(Difference between revisions)
Jump to: navigation, search
(Feature Overview)
m (Updated status of features)
(19 intermediate revisions not shown)
Line 3: Line 3:
== Strategy ==
== Strategy ==
-
This section describes goals and strategy that keeps Firebug a competitive in-browser tool and leader in space of in-browser developer tools.
+
This section describes the strategy and goals that keep 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 ==
== Version Numbering ==
-
The next planned version number is: '''1.11'''
+
The next planned version number is: '''1.12'''
-
Development happens on [http://getfirebug.com/releases/firebug/1.11/ Firebug 1.11] branch (currently alpha).
+
Development happens on [https://github.com/firebug/firebug <code>master</code>] 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.
+
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 ==
== Schedule ==
-
The goal is to introduce new Firebug release till the end of 2012
 
-
 
{| class="wikitable" style=""
{| class="wikitable" style=""
|-  
|-  
Line 27: Line 19:
| Alpha || Started
| Alpha || Started
|-
|-
-
| Beta || 10th of November
+
| Beta || -
|-
|-
-
| Final Release || 10th of December
+
| Final Release || -
|}
|}
Line 41: Line 33:
* JSD2 Adoption
* JSD2 Adoption
* Remote Debugging
* Remote Debugging
-
* Integrating FireClosure
+
* Undo/redo option in HTML panel (+ CSS + DOM if possible) ([http://code.google.com/p/fbug/issues/detail?id=54 issue 54], [http://code.google.com/p/fbug/issues/detail?id=2569 issue 2569])
 +
* Cut option in HTML panel ([http://code.google.com/p/fbug/issues/detail?id=6217 issue 6217])
== Planned Features / Changes ==
== Planned Features / Changes ==
Line 47: Line 40:
=== Regular Tasks ===
=== 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] (not fixed)
-
* [http://code.google.com/p/fbug/issues/list?can=2&q=blocks%3A1.11 Firebug 1.11 blockers]
+
* [http://code.google.com/p/fbug/issues/list?can=2&q=blocks%3A1.12 Firebug 1.12 blockers]
=== Feature Overview ===
=== Feature Overview ===
Line 55: Line 48:
! style="width:200px" | Feature || style="width:120px" | Developers || Related Issues || Status
! 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
+
| [[#Adopt JSD2|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
+
| [[#Syntax highlighting for JavaScript|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/><span style="text-decoration:line-through;">[http://code.google.com/p/fbug/issues/detail?id=5175 Issue 5175]: Integrate Orion as replacement for the Script panel UI</span><br/>[http://code.google.com/p/fbug/issues/detail?id=5175 Issue 5353]: Integrate CodeMirror instead of Orion editor || 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
+
| [[#Group console messages|Group console messages]] || Sebastian || [http://code.google.com/p/fbug/issues/detail?id=4979 Issue 4979]: Group console messages || 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 Editor|Auto-completion for 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
|-
|-
-
| 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
+
| [[#Closure Inspector|Closure Inspector]] || Simon || [http://code.google.com/p/fbug/issues/detail?id=5873 Issue 5873]: Integrate FireClosure<br/>[http://code.google.com/p/fbug/issues/detail?id=6183 Issue 6183]: Closure Inspector: some variables are treated as DOM properties<br/>[http://code.google.com/p/fbug/issues/detail?id=6184 Issue 6184]: Closure Inspector: named function expression scopes are duplicated<br/>[http://code.google.com/p/fbug/issues/detail?id=6185 Issue 6185]: Closure Inspector: .% syntax doesn't work when execution is stopped in frame || style="background-color:#00B400; font-weight:bold; color:white;" | done
|-
|-
-
| 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
+
| [[#Event types filter|Event types filter]] || Sebastian, Honza || [http://code.google.com/p/fbug/issues/detail?id=229 Issue 229]: Allow event types to be filtered with "Log Events" || style="background-color:#00B400; font-weight:bold; color:white;" | done
|-
|-
-
| 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
+
| [[#Line numbers in CSS Edit Mode|Line numbers in CSS Edit Mode]] || Farshid || [http://code.google.com/p/fbug/issues/detail?id=2153 Issue 2153]: Show line numbers in Edit mode || style="background-color:gold; font-weight:bold;" | started
-
|-
+
-
| &nbsp; ||  ||  ||  |
+
|-
|-
 +
| [[#UI for using objects in Command Line|UI for using objects in Command Line]] || Simon, Honza || [http://code.google.com/p/fbug/issues/detail?id=6422 Issue 6422]: Add a right click option for accessing objects in the Command Line<br/>[http://code.google.com/p/fbug/issues/detail?id=6430 Issue 6430]: Use in command line support for the Net and Cookies panel || style="background-color:#00B400; font-weight:bold; color:white;" | done
|}
|}
-
* Feature planning should keep in mind the suggested release schedule above
+
Feature planning should keep in mind the suggested release schedule above
=== Feature Description ===
=== Feature Description ===
Line 94: Line 82:
* [https://getfirebug.com/wiki/index.php/Remoting_Prototype Remoting Prototype]
* [https://getfirebug.com/wiki/index.php/Remoting_Prototype Remoting Prototype]
* [https://getfirebug.com/wiki/index.php/Remoting_Architecture Remoting Architecture]
* [https://getfirebug.com/wiki/index.php/Remoting_Architecture Remoting Architecture]
 +
* [https://getfirebug.com/wiki/index.php/JSD2_Adoption JSD2 List of tasks]
'''Source Repository:'''
'''Source Repository:'''
Development happens on [https://github.com/firebug/firebug/commits/jsd2 JSD2 branch]
Development happens on [https://github.com/firebug/firebug/commits/jsd2 JSD2 branch]
-
==== SPDY Support ====
+
==== Syntax highlighting for JavaScript ====
 +
The [[Script Panel]] should have syntax highlighting enabled for the displayed JavaScript code.
 +
 
'''Tasks:'''
'''Tasks:'''
-
* Display use of SPDY protocol for requests inside [[Net Panel]]
+
* Replace <code>SourceBox</code> code by Orion
 +
* Re-add context menu options
 +
* Adjust CSS to match the Firebug UI
-
==== Group Console Messages ====
+
==== Group console messages ====
Console messages optionally need to be grouped to avoid spamming the [[Console Panel]].
Console messages optionally need to be grouped to avoid spamming the [[Console Panel]].
Line 108: Line 101:
* Group error messages
* Group error messages
* Group messages produced by the <code>console</code> object
* 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 ====
==== Auto-completion for Command Editor ====
Line 136: Line 109:
* Add auto-completion to the Command Editor
* Add auto-completion to the Command Editor
* Enhance positioning of the Completion List Popup
* Enhance positioning of the Completion List Popup
 +
 +
==== Closure Inspector ====
 +
Closure variables should be displayed inside the [[DOM Panel]] and be accesssible via the [[Command Line]].
 +
 +
'''Tasks:'''
 +
* Integrate FireClosure
 +
* Improve UI
 +
* Fix issues of FireClosure
 +
 +
'''Resources:'''
 +
* [https://github.com/simonlindholm/fireclosure FireClosure repository]
==== Event types filter ====
==== Event types filter ====
Line 144: Line 128:
* Refactor setting the event types to work together with the ones set via <code>[[monitorEvents()]]</code>.
* Refactor setting the event types to work together with the ones set via <code>[[monitorEvents()]]</code>.
-
==== Syntax highlighting for JavaScript ====
+
==== Line numbers in CSS Edit Mode ====
-
The [[Script Panel]] should have syntax highlighting enabled for the displayed JavaScript code.
+
The Source Edit Mode of the [[CSS Panel]] should have line numbers for easier navigation.
'''Tasks:'''
'''Tasks:'''
-
* Replace <code>SourceBox</code> code by Orion
+
* Integrate Orion into the Source Edit Mode
-
* Re-add context menu options
+
* Ajust the display to fit to the Firebug UI
-
* Adjust CSS to match the Firebug UI
+
== Resources ==
== Resources ==
-
* [https://getfirebug.com/wiki/index.php/Firebug_Roadmap_1.10 Firebug 1.10 Roadmap]
+
* [https://getfirebug.com/wiki/index.php/Firebug_Roadmap_1.11 Firebug 1.11 Roadmap]
 +
 
 +
==== UI for using objects in Command Line ====
 +
There should be a context menu option for objects, functions, strings and numbers to use them within the [[Command Line]].
 +
 
 +
'''Tasks:'''
 +
* Add the context menu option
 +
* Deactivate the option and give a descriptive hint when the [[Console Panel]] is disabled

Revision as of 20:19, 31 May 2013

  • This page is intended to summarize plans and directions for Firebug.next
  • Provide any feedback on Firebug newsgroup

Contents

Strategy

This section describes the strategy and goals that keep Firebug a competitive in-browser tool and leader in space of in-browser developer tools.

Version Numbering

The next planned version number is: 1.12

Development happens on master 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

Phase Start Date
Alpha Started
Beta -
Final Release -
  • 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
  • Undo/redo option in HTML panel (+ CSS + DOM if possible) (issue 54, issue 2569)
  • Cut option in HTML panel (issue 6217)

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

Feature Overview

Feature Developers Related Issues Status
Adopt JSD2 Honza, Sebastian, Farshid Issue 5421: Adopt JSD2 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
Issue 5353: Integrate CodeMirror instead of Orion editor
started
Group console messages Sebastian Issue 4979: Group console messages 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
Closure Inspector Simon Issue 5873: Integrate FireClosure
Issue 6183: Closure Inspector: some variables are treated as DOM properties
Issue 6184: Closure Inspector: named function expression scopes are duplicated
Issue 6185: Closure Inspector: .% syntax doesn't work when execution is stopped in frame
done
Event types filter Sebastian, Honza Issue 229: Allow event types to be filtered with "Log Events" done
Line numbers in CSS Edit Mode Farshid Issue 2153: Show line numbers in Edit mode started
UI for using objects in Command Line Simon, Honza Issue 6422: Add a right click option for accessing objects in the Command Line
Issue 6430: Use in command line support for the Net and Cookies panel
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

Syntax highlighting for JavaScript

The Script Panel should have syntax highlighting enabled for the displayed JavaScript code.

Tasks:

  • Replace SourceBox code by Orion
  • Re-add context menu options
  • Adjust CSS to match the Firebug UI

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 console object

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

Closure Inspector

Closure variables should be displayed inside the DOM Panel and be accesssible via the Command Line.

Tasks:

  • Integrate FireClosure
  • Improve UI
  • Fix issues of FireClosure

Resources:

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().

Line numbers in CSS Edit Mode

The Source Edit Mode of the CSS Panel should have line numbers for easier navigation.

Tasks:

  • Integrate Orion into the Source Edit Mode
  • Ajust the display to fit to the Firebug UI

Resources

UI for using objects in Command Line

There should be a context menu option for objects, functions, strings and numbers to use them within the Command Line.

Tasks:

  • Add the context menu option
  • Deactivate the option and give a descriptive hint when the Console Panel is disabled
Personal tools