Google Chrome Frame – Webkit in IE

Steve Ballmer has, in the past, stated that he would be open to the idea of Internet Explorer dropping the Trident rendering engine in favor of the open-source Webkit. I, for one, would love it if this happens – Trident is the bane of web developers around the world. Simply stated, it is holding the web back from it’s true potential. Well, it looks like Google has done the work for Microsoft, with Google Chrome Frame for IE.

Essentially, Chrome Frame replaces all of the guts of IE with Chrome technologies. This extends beyond the rendering engine – it replaces the JavaScript engine as well, and whatever other parts needed swapping out. Using Chrome Frame, IE can immediately start to render HTML5 (canvas, audio, video), CSS3, and more. Even better, under Chrome Frame, all IE rendering quirks would cease to be an issue. Oh yeah, and it also makes IE faster – ten times faster for JavaScript performance, even in this beta stage.

To utilize Chrome Frame on your site, all that is needed is a single meta tag – if Chrome Frame is installed, IE will use it, and if not, the page will still render. This is very nice, unobtrusive behavior indeed.

<meta http-equiv="X-UA-Compatible" content="chrome=1">

Google developed Chrome Frame primarily for their upcoming Google Wave communication software. It probably became quickly evident to Google that they would never be able to offer the rich functionality that Wave requires under IE. I would expect that the release of Chrome Frame is ruffling some feathers at Microsoft – Google seems to be getting on the nerves of some it’s major tech competitors lately using similar tactics. Still, it’s hard to see how consumers lose with this move – to some extent, it’s the best thing that could happen to Internet Explorer.

Firefox 3.5 Supports CSS Transforms, no Animation Support Yet

Firefox 3.5, the recent release of the latest version of the Firefox web browser, now supports CSS transforms. CSS transforms are effects, such as scale, rotate and skew. This is a step forward for the Gecko rendering engine, but in plain terms, it still clearly lags behind webkit, which supports 2D and 3D CSS animations.

I’ve lately been very interested in how browsers handle the leading edge – browser technology that is still years away from widespread adoption. The question I’ve been having as of late is whether Firefox can keep up in this arena. They certainly aren’t slouches when it comes to new technology, but they are definitely being outpaced, particularly by Webkit. With the support for plugins, the rendering engine of Firefox is burdened with cumbersome functionality that must be maintained as new elements are added. This slows down the process of technology adoption. On the other hand, Webkit-based browsers have decreased plugin capability, which is a hindrance to their widespread adoption (and also a significant factor in why they consume less memory and perform faster in real-world use). Clearly, Firefox is a market leader, so their strategy has paid off in many respects.

This also begs the question of whether we would ever see a convergence of technology between Firefox and it’s closest competitors, Chrome and Safari. It is technically feasible that Firefox could be chopped apart and refueled with Webkit, but I’d expect that the effort would be far too difficult to go into hesitantly. The other side of the coin is that Webkit-based browsers will eventually support plugins. Google has openly stated they are working on robust plugin support, a front on which they’ve already made a few strides. One has to wonder if this will be a turning point – it certainly has the potential to be so.

CSS Animation Fun

Falling Blocks CSS Animation

I’ve been working a lot more on CSS animations lately. There’s not much documentation out there and what is available is incomplete, so working with them is definitely a bit of a chore. I’ve been creating some examples that are pretty cool and demonstrate some more difficult techniques. They only work in Safari and Chrome, so fire one of those up and click through.

I’ve been working mostly with the onclick event. The hover event is ultimately a bit disappointing because it reverses the animation effect when you stop hovering. That’s good for effects like growing buttons on hover, but not for a lot of other uses. The one-way nature of the onclick event means that it doesn’t cause the animation to reverse itself, which leads to some pretty neat effects. Check out these examples, and let me know if you end up using anything from them – I’m very curious to see what people do with this technology!

Chrome, Freaking Chrome

Google Chrome

I recently wrote of the merits of Opera 9.5, which is a truly pleasant browsing experience. However, and somewhat unexpectedly, Google just yesterday released a new browser, Chrome, which I believe changes the game.

Being the browser junkie that I am, I downloaded it within hours of being released. From Google’s own admission, Chrome is less about innovation in the features arena, and more on the browsing experience as a whole. There’s even a beautiful web comic dedicated to explaining the more geeky aspects of the browsing experience, produced by the kind gents at Google

The first thing I noticed after starting up Chrome for the first time is that it renders fast. As in FAST fast. I mean, this thing screams. The rendering of Javascript is a big thing in browsers nowadays. In one geeky corner, you can see the web developers that have been working on Prototype and jQuery, wishing and waiting for a Javascript engine that doesn’t disappoint them – these guys are celebrating today, as all of us should be.

Javascript, as non-natively OO as it is and all, has been shown to be by in large the wonder of the web. Want interactive features across the web? Better know how to write Javascript. Want flashy stuff without requiring the user to install add-ons? Look at Javascript. AJAX? Yeah, that’s all Javascript. The browser has been okay on the side of Javascript – it’s always been supported by just about every browser out there, but it’s never been at the forefront. With Google Chrome (and the pending release of the new Firefox Javascript engine), it’s the star, and with great results. The web has never been faster of more responsive.

Javascript aside, Chrome seems more leveraged to provide an online platform. I can certainly see motive behind Google to go that route – it suits their overall goals remarkably. Making the web responsive enough to replace the desktop only plays into the pocket of Google, and providing the browsing experience to so is definitely in their interest. At the same time, the entire thing is open-sourced, which has never been a bad thing. The tools to work with the browser aren’t really there yet, but knowing Google I think we’re going down the right road. As a web developer, I know I’m probably being biased and unfair and all, but I just have to say thanks.