Not 45 minutes ago, Google released their latest contribution to the internet: Chrome. This effectively ended years of speculation that Google was writing a browser, that it would throw its hat into the ring and kick off another heated browser war.
Figures that Google wouldn’t just drop a bomb, it would lay waste to the expectations of a browser. My hat is off to the Chrome development team — you guys pulled off a doozy.
Google (correctly) identified that there is a significant problem with browsers today: They’re too slow. That generalisation is borne of the increasingly complicated apps that are being developed each and every day on the web. There’s so many websites out there that require extensive scripting and content richness that even the most advanced browsers sometimes chug away.
So for only-Google-knows-how-long, the Chrome team slugged away with the fundamental problems of a browser: How to deliver something quickly. Browsers were all based on the same core model of sequential loading (there have been countless presentations to that effect) and this still causes a lot of optimisation headaches for complex web apps.
Google did what most mature applications do, and turned everything into multiple processes, running them independently so they’ll execute (overall) more quickly. Add onto that the complete rewrite and virtualisation of the JavaScript engine (courtesy of V8). Finally, take some of the caching/processing out of the browser and lob it over the fence to Google Gears (another one of Google’s underrated little gems), and you don’t have a browser anymore. You have something worthy of using the internet.
Yes, all this high praise comes with a major caveat — I’ve only used it for about 45 minutes now. But that’s 45 minutes of trying to break it with everything that bothered me in other websites.
My personal favourite? Flickr. I love Flickr, don’t get me wrong, I’ve got (currently) 6,515 items and I will continue to use Flickr until either it disappears from the web, or I die. (Hopefully the latter will be the case — I don’t wanna move that many pictures and metadata.) My biggest gripe with Flickr isn’t even really with Flickr itself — it’s with how browsers handle the map.
I love to place images on maps so I know where I’ve been. But the processing needed to do all that (without a plugin like Flash) ain’t light. And 30 minutes of placing images on the map in Firefox 2 would grind it to a halt, sucking up over 1 GB of memory. Although IE was better, its JavaScript engine was never very good. Firefox 3 was a huge step over Firefox 2 (it corrected the memory leak). None of them compare to Chrome. It’s ability to literally fly over the map astounds me. Thirty minutes of hardcore panning, placement, jumping, and moving (with the hybrid map turned on) did nothing to kill performance.
With 1.3 GB of RAM already in use by other applications, I should add.
And I need to figure out how on the internet (as opposed to “how on Earth”) Chrome managed to slice 75% off the loading time for Rolex.com down here. In Costa Rica (at least on the lousy connection I have right now), it takes forever to load my favourite website. But with Chrome, it was zip-BANG-done. I am stunned. Stunned, I tell you!
(I should note that down here, the lags in response time are much more exaggerated. So when something like Chrome suddenly yanks those delays out, you notice it.)
Okay, okay, so not everything is all sunshine and lollipops. I have noticed a few things:
- Chrome ain’t perfectly handling WordPress‘s scripting. I have to remind Chrome where the cursor is supposed to be. (Noticed this as I write this entry.)
- It’s lauded memory management seems a bit weird. Although performance wasn’t affected, Chrome seems to cache a lot of material in memory. Over 100 MB of data while I was in Flickr (and I’m sure I haven’t downloaded 100 MB of map data). Given, it cleaned it all up when I closed the tab, but it still seems odd.
- Chrome kicks up a minimum of two processes in memory. It seems to be one for the browser itself, and one per tab. This is inline with Google’s “multi-process” design … but do we really need to see each process?
- Plugins. We need plugins. Someone build Firebug for Chrome, please!!
Pros vs. cons aside, the biggest problem Chrome has is market presence. The average public doesn’t know about Chrome, and they’re not going to go out of their way to get Chrome (though they should). Despite a press conference that was held just before launch today, the average person will take much longer to even hear of Chrome, let alone use it.
But Firefox, my old friend, you’ve been supplanted. Chrome wins this round. I still like you, though — you’ve been a trusted friend and assistant for years. And you’ll remain in my development toolset until further notice. Do yourself a favour — learn from Google. They’ve got a few tricks that you haven’t picked up on yet.
And Microsoft? [Picks up Ballmer’s head and slams it repeatedly into a concrete wall.] PAY ATTENTION. GET IT THROUGH YOUR THICK FUCKING SKULL. This is how development should be done. See how a real browser works.
I suddenly feel a need to kneel at the Altar of Google and make a sacrifical offering. I hope a bottle of Coke will suffice.