Posted on December 17th, 2009 | 2 Comments »
One of the things I’ve always been fascinated by is the low-level side of web browser development. I used to look through Mozilla’s source code, take a look at patches that were added to Bugzilla, and try to find anyone on the web who actually did web browser development to get a sense for what it entailed. Back in the day, getting that type of information was very much so a do-it-yourself kind of venture. The closest I really came to getting low-level yet consumable details was when I used to follow David Hyatt’s work several years ago.
Having had those experiences in the past helps me appreciate even more the fact that the Chromium community has been publicly exposing details about the “guts” of Chromium in several tech talks posted over at the Chromium Blog. The tech talks have been archived in video form on YouTube so that anyone interested in the details of Chromium development can find out more about what’s involved.
One video features Darin Fisher, who used to work for Mozilla, talking about The Chromium WebKit API. In another, Pam Greene covers Chromium WebKit Layout Tests. In another, Brett Wilson discusses Painting in Chromium. Last but not least, Eric Seidel, who has worked on both Safari and Chrome, goes in-depth about Rendering in WebKit.
That last video is probably the most interesting to me, simply because it deals with the rendering engine and also unveils a few interesting facts. For instance, WebKit is made up of almost 2 million lines of code and is developed by about 80 active committers, of which about half work for Google.
If you’re interested in how web browsers are tested, how HTML source gets transformed into what you see on a web page, etc., you’d be doing yourself a favor by checking out the Chromium tech talks.
Tags:
Brett Wilson,
Bugzilla,
Chromium,
Darin Fisher,
David Hyatt,
Developers,
Development,
Eric Seidel,
Mozilla,
Pam Greene,
Source Code,
Tech Talks,
Testing,
Videos,
WebKit
While doing some web design brainstorming earlier today, I wondered if any progress had been made on adding support for CSS Gradients beyond WebKit, for which support was first introduced a little over a year ago. Via MozillaZine, I realized I’m not the only one wondering this, and ended up stumbling upon the Bugzilla bug tracking the progress of CSS Gradients support in Firefox. Reading through some of the commentary there, it gave me a newfound appreciation for just how fluid the implementation of these kinds of features really is. For example, it’s somewhat obvious that the original support as announced at Surfin’ Safari was based on some of the canvas documentation related to HTML 5.
Paraphrasing the HTML5 spec and adjusting the language slightly to not be canvas-specific:
“The color of the gradient at each stop is the color specified for that stop. Between each such stop, the colors and the alpha component must be linearly interpolated over the RGBA space without premultiplying the alpha value to find the color to use at that offset. Before the first stop, the color must be the color of the first stop. After the last stop, the color must be the color of the last stop. When there are no stops, the gradient is transparent black…”
Furthermore, it’s obvious that not everyone completely agreed with the initial implementation, and it’s clear that Firefox developers collaborated with WebKit developers to hone in on a more logical implementation.
All of that being said, the reality is that CSS Gradients are not supported widely enough at the moment to be considered tools in the common web developer’s tool belt. As aforementioned, Firefox support is still in progress (as of yesterday, in fact) and support in Internet Explorer 8 and Opera 10 appears to be non-existent, based on visits to this demo in those browsers. The demo only seems to work as expected in Safari and Chrome (the latest “Dev” version, at least), which makes sense, since those are the major players that sport WebKit under the hood.
We’ll be keeping an eye on the progress of CSS Gradients support and several other, similar implementations over the coming year.
Tags:
Bugzilla,
Canvas,
Chrome,
CSS,
CSS Gradients,
Development,
Features,
Firefox,
Google Chrome,
HTML 5,
IE8,
Internet Explorer,
Opera 10,
Opera 10 Alpha,
Parity,
Safari,
Safari 4 Beta,
Web Development,
Web Standards,
WebKit