Better Memory Management Tools for Web Apps Coming Soon

mem_usage

Developing a “web 2.0″ application brings with it a host of new challenges previously unfelt or easily ignored with older, single-page-load-per-action apps. The browser has evolved from a simple page renderer to an application platform that busily executes JavaScript and receives, parses, and displays loads of new data without ever leaving the page. Developers are now struck with the challenge of ensuring their applications manage memory properly and efficiently—your JavaScript can leak memory, killing the user experience on your site, but also impacting the user’s complete experience with their system across the board.

To date, it’s been a bit of a struggle to manage memory, since developers are essentially forced to rely on their operating system’s memory managers to even monitor the memory usage of their browser. Even then, testing can be frustrating, as Firefox, for instance, stores all tabs in the same process. Google Chrome is multi-threaded; each tab is its own process. Chrome also features its own built in task manager, so you can identify which page is using exactly how much memory, CPU, and bandwidth. Even at its most detailed, the stats available only show aggregate memory and virtual memory usage—these abstract figures make troubleshooting individual pieces of your code difficult to say the least.

The folks over at Mozilla’s Developer Tools Lab are looking to change that by building a memory analysis tool that helps devs understand exactly how their application is using memory, and the behavior of the cycle (garbage) collector:

We plan on the initial implementation of this tool to be simple. For memory usage, we want to introduce the ability to visualize the current set of non-collectible JavaScript objects at any point in time (i.e., the heap) and give you the ability to understand why those objects aren’t collectible (i.e., trace any object to a GC root). For the cycle collector, we want to give you a way to understand when a collection starts and when it finishes and thus understand how long it took.

Ben Galbraith and the team are soliciting help and feedback, so if this is an issue you’ve had to deal with in the past, make sure you comment.

A New Memory Tool for the Web | Ben Galbraith’s Blog via Ajaxian

Reblog this post [with Zemanta]

Posted in: Cool Stuff, Development

Firebug Working Group Created; John Resig Joins It

I linked to John Resig’s post on what he loves about Firebug and what’s next for the tool earlier this month. John Resig works on/created JQuery and is an active developer at Mozilla.

So it’s fitting that today he announced the creation of the Firebug Working Group to consolidate development on the tool, and that he’d be spending 50% of his Mozilla time on Firebug.

This is great news, as John is very clearly brilliant and has some great ideas for the future of the tool.

[via Ajaxian]

Posted in: Tech News

The IE Temptation: Phasing Out Internet Explorer 6 Support

Internet Explorer 7 represented a step forward for “mainstream” browsing. Microsoft worked to fix a lot of the epic fails in CSS implementation that IE 6 had brought upon itself and those around it. There are a few departures from the standards and further from how Firefox handles things, but they’re farther and fewer in between and don’t impact us *too* much on a day-to-day.

Still, instead of developing for Firefox and Internet Explorer, we’re developing for FF, IE6 *and* IE7. Cheers. Add to the fact that IE6 has some serious flaws including its lack of transparent PNG support without getting all hacky, different JavaScript implementations and limitations on what you can do with AJAX calls, et cetera, and it becomes a significant burden to develop for. It doesn’t help that you can only have one version of IE installed on a Windows-machine, or the other, without, again, getting terribly hacky. Just watch your workflow take a hit there.

Read More »

Posted in: Design, Development

Free Software and Open Source Alternatives to Save You Money

The development for open source software is strong and growing. Open source software is software in which the source code is publicly available for examination or contribution. If you talk to a typical person or business, you’ll usually find that their computers are all running Windows and have Microsoft Office installed. Some may even have more expensive software installed like the Adobe Creative Suite applications. By buying and using such high-priced software, it is easy to shell out two or three times as much money on software than on the computer itself. With many capable alternatives, there is a lot of money to be saved by utilizing free and open source software.

Read More »

Posted in: Cool Stuff, How To