Future Firefox Debugging
Future Firefox Debugging
Written by Ian Elliot   
Thursday, 21 March 2013

Mozilla has been considering what we need in the way of debugging and general developer tools in Firefox. Who says that the browser should be the host for debugging activities anyway?

It is all too painfully obvious that the web wasn't designed as a development environment. The tools that we use are very poor compared the best you can find for desktop development. Part of the reason is the way that the entire system is strung out over many components. We have the web server, a range of possible browsers, multiple server-side languages subsystems and a range of generally poor IDEs that fail to integrate things. 

The latest version of Netbeans gives you some idea of what it could be like if only things could be standardized enough to be integrated. In Netbeans you can run and debug a program using a built-in server and web browser that makes debugging much easier. 




Now compare this to the usual Editor,Browser,Tools workflow. Even this doesn't really give you an idea of how poor the integration is. With addons such as Firebug providing JavaScript debugging without code editing, web development is more complicated than it needs be.

Recently Mozilla held a Developer Tools work week where lots of new ideas were demoed. But most importantly Paul Rouget revealed some of the forward thinking in his blog. The two key ideas are about coupling the browser to code production. The first way is  to allow the programmer to write code using an external editor that links directly into Firefox so that you can see the result. The alternative is to allow the programmer to write the code directly into the browser. Both approaches were demoed and explored at the meeting. 



However, the problem is really that Firefox is just a browser and what we are looking for is a complete IDE. Mozilla is trying to solve a problem that is outside of its area. To do the job properly Mozilla would have to commit to building a Firefox IDE, and as it hasn't, mostly its attempts are piecemeal solutions to problems as they turn up.

What is worse is that much of the work is duplicating features already found in Firebug. There is a sort of promise to try harder not to put built-in development tools in the way of using Firebug. There is still much duplication, however, and the new built-in Network panel is another example. 

Future versions of the Firefox debugger will support source maps to make it easier to work with CoffeeScript, and perhaps other languages that compile to JavaScript. There is also the promise of being able to see how repainting a page progresses and the ability to control the CSS animation clock so that you can see what is happening.

You can see the what is being repainted in the following video:


All nice, but again the main problem is that these are ad-hoc tools.  Perhaps the solution is the "fledgling" developer tools API which might allow third parties to build more logical and complete development environments which rely on Firefox for the debug runtime. 

So while Mozilla seems to be taking the requirements of developers seriously, there is still a lot to be done. For example, where are the debug facilities for many of the HTML5 API or Open Web App APIs? If you are debugging webworkers, application cache or even geolocation apps then you don't get much in the way of help.  And, from the point of view of Mozilla, it is almost as if the server didn't exist.




You Just Need A Bigger Pong

Pong was one of the first games I programmed and I've always liked its simplicity, but you can't play it for long. Now make it life sized and that's a very different matter.

Mozilla Things Gateway

Mozilla has announced the latest version of its Project Things IoT gateway. Can it provide the unified structure the smart home so desperately needs?

More News


Last Updated ( Thursday, 21 March 2013 )

RSS feed of news items only
I Programmer News
Copyright © 2018 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.