WebP Images, major SVG Text improvements and Element.classList
Published on in Google Chrome, HTML, Last Week, tech, WebKit. Version: Chrome 7
With 632 commits to the WebKit repository, and 608 towards the Chromium one -totalling 1240 commits-, it was a busy week. Safari seems to be gearing up for a new minor release, and Google pushed Chrome 7 to users participating in the beta-channel. Google also published a page explaining the differences between extensions, Packaged Applications and Hosted Applications.
Nikolas Zimmermann has done some amazing work on WebKit’s SVG implementation: almost all SVG Text layout-code has been rewritten. Because of this change, text in SVG files already consumes much less memory and performs better than it used to do. By splitting the layout process for texts into three phases rather than a single one, future patches can add various forms of caching. This will improve the rendering performance even more.
Following the WebM project, which provides a free and open-source video codec, Google has announced WebP: an image format based on VP8’s intra-frame techniques. According to Google’s announcement, using WebP will reduce the size of your images by an average of 39%, compared to today’s image formats.
In reality, I’m not so sure. Jason Garrett-Glaser, an x264 developer, concluded that the quality is poor, and that Google’s timing for announcing the format is odd. Jacob Miller, obviously being less biased, concluded that the compression schema indeed outperforms JPEG, but that WebP isn’t ready for real-world usage yet.
I absolutely agree that the timing surrounding this announcement is weird. There are some important features not (yet) available in WebP which could prove to be decisive in the success of the image format. I’m mainly talking about the limited file size it supports (a maximum of 16383 by 16383 pixels), no support for storing lossless images and no transparency (nor translucency?). For a future-proof image format, Google could also have looked at supporting other color-spaces (possibly even non-RGB, like the CIE XYZ one). It makes me think like the announcement was a bit rushed, especially due to a sentence starting with “we plan to add”…
In my opinion, one of the primary things lacking for web development was a convenient way to modify the classes which applied to an element. While jQuery offered some excellent methods to do so, a proper native way wasn’t available. For that reason HTML5 introduces the “classList” property, which provices such an interface to each element on your page. While support for the property was added to Firefox well over a year ago, Erik Arvidsson added support to WebKit last Monday!
Other changes this week include:
- Support has been added to update a CSS Selector’s text via JavaScript.
- Web Inspector has been improved with a “Go to Line” feature for scripts.
- RGB to YUV color conversion has been moved to the GPU, improving performance.
- In order to improve accuracy of tap events on mobile phones, nodesFromRect received an update.
- The --proxy-server command line flag now implies SOCKS5 rather than SOCKS4.
- The nodesFromRect method is no longer available for scripts, as there are no plans to standardize it.
- Enabling speech input must now be done by using <input webkitspeech> rather than <input speech>
- The CSS 3 “speak” property has been added, initially intending to improve accessibility for iPhone OS.
- The screen.colorDepth and pixelDepth properties will now ignore the bits used for the alpha channel.
- Enabling WebKit’s XSS filter can now be done through about:labs.
- The <input type=number> element now supports theme-drawing on Windows for the spin buttons.
- Speech input has now been enabled by default for all platforms within Google Chrome.
Starting next Thursday, Fronteers 2010 will be taking place at Pathé Tuschinski in Amsterdam. With speakers like Håkon Wium Lie, Christian Heilmann and Jeremy Keith it’s bound to become a success :). Finally, thanks to Finnur Thorarinsson for informing me about the issue, the Chromium Command-Line Flag RSS Feed will now properly include added arguments. They previously were included as if they got removed.