Getting to Know WebKit

This past week I finally got fed up with Firefox's continual memory leaks and sluggish behavior. I had enjoyed the unparalleled expansion capabilities that Firefox held, but it's not stable enough for me. My computer is on all the time, I avoid reboots when possible (as of this writing my computer has been up for 19 days) and even restarting Firefox alone became a challenge with dozens of tabs open.

WebKit Browser logoI switched to WebKit and couldn't be happier. WebKit might sound familiar - it's an open source web browser engine that is also a system framework in Mac OS X that's used by Safari, Dashboard, Mail, and other OS X applications. On first glance, WebKit seems identical to the Safari browser included in OS X. However, other there are a few subtle differences. Since WebKit is open source, changes and bug fixes are constantly being added. Therefore, it is far more up-to-date than Safari, which utilizes the same code. I take advantage of the nightly releases. Also, the WebKit icon has a gold compass instead off a silver one but that's just a triviality compared to my main point - WebKit is fast.

I won't bore you with the details of WebKit's blazing speed but Macintalk benchmarked many OS X browsers and WebKit did rather well, especially compared to Firefox.

Firefox vs WebKit

Switching from Firefox to WebKit definitely had its share of issues. When it comes to web development tools, there is no replacement for the Firebug extension for Firefox. Well, there is Firebug Lite. Regardless, WebKit does has some useful tools of its own.
defaults write IncludeDebugMenu YES
Debug Menu
WebKit Web Inspector
WebKit Web Inspector
WebKit Activity

WebKit Add-ons

Unfortunately, extensions and add-ons are not supported or enabled with WebKit's nightly builds but I have been able to get a few to work without incident. I currently use a plugin called Tidy that sits in the bottom right corner of the status bar and tells me if the current page I'm on has any errors or warnings - similar to Firebug. However, more complex plugins like Saft only play nicely with Safari so you'll have the tradeoff of a more updated browser or more functionality.

Luckily, the amazing Inquisitor search plugin works flawlessly in WebKit.

WebKit Inquisitor

WebKit Changes I Would Like to See

There are a few things about WebKit that bug me (but not enough to go back to Firefox) and I would like to find a way to hack features these in myself or encourage WebKit developers to commit these changes.
WebKit Spellcheck

What's Holding You Back?

If you're on a Mac, why do you use Firefox instead of Safari/WebKit? Or rather, what browser do you use? There are a lot to choose from: Camino, Firefox, Flock, iCab, OmniWeb, Opera, Safari, SeaMonkey, Shiira, WebKit and probably a few more I left out.

For me the tradeoff has always been speed versus utility and extensibility. Even ignoring the Firefox memory leak which can cripple Firefox after a few hours/days, a freshly launched Firefox install takes much longer to render CSS and load images than WebKit. Although, some developers don't like the way WebKit handles JavaScript.

On a side note, I still use Firefox for one thing. I set my Firefox's homepage to chrome://s3fox/content/s3foxWindow.xul, which accesses the S3 Firefox Organizer plugin so I can easily access my Amazon S3 account.

Update: Mark Rowe from WebKit pointed out a several errors in my article, mainly that WebKit is just the rendering engine and Safari is the browser that utilizes WebKit. This way, the WebKit nightlies make use of Safari, just with the newer rendering engine.

Enjoy this article? Tweet it.

"Getting to Know WebKit" by @Stammy