about:hacks newsletter header
Welcome

This is the first issue of about:hacks, the Mozilla newsletter for web developers. About:hacks will include cool demos and tutorials, Firefox release info, the latest on Web standards, and updates to the Mozilla Developer Network project. You are receiving this email because you opted in to receive news from the Mozilla Developer Network in our November survey. If you don't want to receive this newsletter, you can easily unsubscribe.

In this issue...


Firefox 3.6

Firefox 3.6 Beta 5 has shipped, with a release candidate soon to follow. Once we get to a release candidate it means we've got a build that we're pretty sure that we could ship tomorrow, but needs wider testing to make sure we don't have any final stop ship bugs. If you're doing web development against sites this is your last chance to find and report bugs that might block our release. So now is the time to download it and provide feedback. For more information on what's new in Firefox 3.6 for web developers, check out the Mozilla Developer Center.

Demo

Processing and Multi-touch in Firefox 3.7
With the support of David Humphrey, Al MacDonald and many others, Processing is coming to the web. Processing is a language used by artists, designers, researchers and others to build powerful visualizations and art. In the past, Processing has been built with Java but with the advent of fast JavaScript engines in modern browsers, plus Canvas and WebGL, it's now possible to do that on top of the open web. Processing.js is an effort to bring Processing to browsers directly.

While Processing.js was started by John Resig, Al has been leading a lot of that work and has a neat demo that combines the capabilities of Processing in the browser mixed with Multi-touch support that's coming in Firefox 3.7.

Tutorial

HTML5 video
In the November survey, one of the respondents asked "What is a good example of getting HTML5 video working in Firefox and Safari?". There's a hacks post on HTML5 video fallbacks with markup, which shows how to embed an ogg video, while providing mp4 and Flash fallbacks for Safari and IE.

Developer Tools

Firebug
Firebug 1.5 is currently in beta, you can download the latest version to give it a try. It works with Firefox 3.5 and the upcoming Firefox 3.6. We covered some of the new features in Firebug 1.5 in a post on the hacks blog including improved Net panel accuracy and new break functionality.

Eventbug
But if you're doing development with a lot of event listeners you also might want to check out the Eventbug extension that hooks into Firebug. It allows you to see what event listeners are attached to a specific element, something web developers have been asking for for a long time. It's currently in Alpha and will require the most recent Firefox 3.7 alpha to test. Jan Odvarko is looking for your feedback on it.

Behind the Scenes

We thought it would be worth it to give you a little of what's going on behind the scenes at Mozilla. We're one of the world's largest open source projects, with thousands of people contributing to each release, but sometimes it's hard to find the interesting stuff that's going on. So here are a few things that web developers might find interesting from the inside of the Mozilla project.

Direct2D
We're working on supporting Direct2D in Firefox to give users on Windows (about 90% of our userbase, and probably 90% of yours, too!) access to faster graphics. Direct2D support means that you can make richer and more interesting graphical apps.  As an example of something that does run faster with Direct2D enabled, check out Vlad's photo SVG demo. Note that this is about faster graphics, not faster JavaScript, so SunSpider tests aren't relevant here.

Gecko Layers
Gecko is the engine that powers Firefox. In concert with the Direct2D work, we're also looking at adding another acceleration layer to the browser to take advantage of both 2D and 3D hardware in machines. This would allow us to do fast compositing for transparent or translucent content, overlay content on top of running open video or improve the overall responsiveness of the browser during fast animation. If you're interested in the super low-level details, check out our wiki page on Gecko Layers. It's an interesting read for graphics geeks.

WebSockets
There's a patch running through our review process to add HTML5 websockets to Firefox. We're hoping that this will land and be enabled during the Firefox 3.7 development process. If you don't know what Websockets are, it's a simple bi-directional protocol that allows a web server and web browser to communicate without having to have so-called "hanging GET" connections. It uses the same model as HTTP for security.  That is, connections are subject to the same-origin policy. Connections are low-latency with a very simple API in the DOM. It should be very easy to build servers that support Websockets.
We're interested in seeing what happens with Websockets during the 3.7 development process. We're hoping that it will get enough exposure and testing to see if it's something we're comfortable shipping.

Plugin Isolation
The ability to run plugins as separate processes has landed on Firefox trunk, with hopes to include it in the release after Firefox 3.6. Most web developers shouldn't be able to tell the difference between in-process and out-of-process plugins, but it's worth noting because it's likely to vastly improve the reliability of Firefox and will also make the browser more responsive as well.

Standards News

File API
The first Public Working Draft of File API is published (feedback). Parts of it will ship in Firefox 3.6.  We implemented the parts of the spec that won't change after the public working draft.  Those parts that are still under discussion we decided not to implement.  You can see the set of interfaces included on the Firefox 3.6 for Developers page.  The File API spec also affects other interfaces as well.  In particular, the DataTransfer object that's part of Drag and Drop now supports the File API.

@font-face
We're including support for WOFF for people using the @font-face CSS property in Firefox 3.6.  That format and new font activity is currently being chartered.

Storage
One thing that developers have been asking for is some kind of structured offline storage.  Safari and Google Gears (now apparently being put out to pasture) both exposed SQLite directly to the web.  However at Mozilla we've felt that exposing SQL directly to the web, with all of its incompatibilities and under-specification is likely to cause huge amounts of pain down the road for developers as incompatible versions emerge each with very different performance characteristics.

As a counter-point, both Microsoft and Mozilla have expressed interest in the indexed sequential storage API edited by Oracle's Nikunj Mehta as a more logical choice for indexed databases on the web than existing SQL API implementations. It's a pretty simple API that is low level and is targeted at library developers who can build database tools around it, including implementations like SQL or CouchDB.  You can follow the discussion here.

New on MDC

Firefox 3.6
The Mozilla Developer Center has a full list of the changes that will impact Web developers in Firefox 3.6. New documentation includes how to use CSS gradients and the new File API.

CSS Compatibility
Did you know that CSS articles on MDC provide compatibility info so you can quickly see which browsers support what features? Scroll down to the bottom of the page for each property to view the compatibility table.  (For a good example, have a look at the bottom at our documentation for -moz-linear-gradient.)  The list is maintained by the community, you can help keep it up to date: sign up for an account and start contributing.

Tell us what you think

In each issue of about:hacks, we'd like to answer one of your questions. Please tell us what you think of this newsletter and what you'd like to see covered next time.

Firefox Schedule
Recent Hacks Posts
Links for Developers
Mozilla Newsletters
Subscribe
Haven't subscribed to the about:hacks newsletter? Sign up here!

Unsubscribe
If you no longer wish to receive this newsletter, you can unsubscribe.
We all forget signing up for mail sometimes. You're receiving this news update because you asked us to send it. If you've changed your mind, just click the "Unsubscribe" link, but we'll be sad to see you go!

Unsubscribe <<Email Address>> from this list.

Our mailing address is:
Mozilla Corporation
650 Castro St.
Suite 300
Mountain View, CA 94041

Add us to your address book


Text:


Forward this email to a friend
Update your profile