Google is losing their edge

Google has been trying to break into the browser market with it’s repackaging of the open-source Webkit HTML engine. The way they’re talking it up, you’d be forgiven for thinking they wrote the browser themselves. But Webkit has been around on Linux for many years now, powering KDE’s browser and file manager. Google aren’t even the first company to rip Webkit and repackage it for their own purposes. Apple’s Safari beat them to the punch by a number of years. Apple has drawn criticsm from the Webkit developers for not co-operating in the spirit of open-source software and actually interacting with them at all – ie they basically took it and ran, not caring to look back over their shoulder or even nod in the general direction of the original developers. I’m betting that Google pull the same trick.

So Google have a ‘new’ HTML engine that they didn’t write. OK. They just need to wrap it in a GUI, and everything will be sweet, right? According to Google, it’s not that simple. The gist of the problem that Google is facing is that they wrote Chrome for Windows only, making architectural decisions that closely match Windows’ GDI feature set. This amazing short-sightedness ( considering they were always planning to make OSX and Linux versions of Chrome ) is undeniable. It’s not a first for Google either. Their photo management app, Picasa, has been ‘ported’ to Linux by making it run in Wine. So now Ben Goodger, Google’s supposed Linux wizard in charge of porting Chrome to Linux, describes the linux UI toolkit ’situation’ as clusterfuck ( his words, not mine, though he didn’t have the guts to use the character ‘u’ to complete the word, instead calling it ‘clusterf*ck’ ).

So Ben doesn’t like the ‘UI toolkit situation’ on Linux. Has he participated in the UI toolkit community at all? Has he attempted to fix anything? Has he asked anyone for help? No. He did rock up to the NetworkManager mailing list and started calling people ‘prats’ and generally spat the dummy.

What kind words does Ben have for his own developers? One of them enthusistically posted:

I think our mandate is to make something awesome that Linux devotees
will also think is awesome.

He then goes on to propose a way forward, from a list of alternatives he’s laid out. Ben replied:

First of all let me generally comment that this entire situation is a
clusterf*ck. I am not happy with the technical constraints imposed by
Linux and its assorted UIs on Chrome’s UI and feature set

He then makes it perfectly clear that corporate branding is the primary goal of Chrome, proclaiming that his priority is to:

ensure that the core essence of Chrome’s design makes it to each of our platforms. A key aspect to this is the “Skyline” of the browser with tabs merging with the title bar and the general visual design

So since it’s already been made to look that way on Windows, hell will freeze over before it looks any different on Linux, right? That’s a pretty shitty design mandate.

Is Ben a neutral, open kind of guy when it comes to appraising UI toolkits? Hell no. As a previous Mozilla / Firefox developer, he shared their opinion that there were no decent UI toolkits around, so they’d better go write their own ( XUL ). This is why Mozilla used to be so slow – it used the ’superior’ XUL toolkit rather than a native, polished, optimised toolkit. Firefox was a reaction to that, aiming to cut the crap and write the GUI in a native toolkit. Guess what they chose? GTK+ !! No doubt, Ben didn’t like this. Maybe that’s why he works for Google now. Either way, Ben has no experience programming with GTK+, and rather than learn – or even let other people learn – he’d rather bad-mouth the community that he refuses to participate in, displaying his potty-mouth and seeding FUD.

Ben hasn’t finished though. He also proclaims that Linux is inferior because of it’s lack of a HIG ( human interface guide ). But Gnome, the desktop environment and community that brings us GTK+ does have a HIG, something that rival KDE / QT folk often criticise for bringing too much conformity to Gnome and GTK+ apps. So if Ben has chosen to use GTK+, either he knows he’s lying about the HIG situation, or he hasn’t bother to do even the most cursory research on the matter. One could very well ask at this point,

Precisely what HIG does Chrome follow anyway?

Google complies with it's own Alien Interface Guide

Google complies with it's own Alien Interface Guide

I’ve never seen an application on any system look quite like that. They’re overriding the look of everything. Sounds like they should have gnome with a QT interface, where their own Alien Interface Guide would have fit right in. They would also have had less of a porting effort to make QT-WebKit work in GTK+.

Is Ben Goodger really disturbed, or is something else going on? Well firstly, yes, it’s established that he’s quite a loose canon. But all this lashing out has only really started after people started questioning why it’s taking him so long to ‘port’ a mature linux library back to linux. As Ben admits, jaw-droppingly stupid architectural decisions have been made along the way that have now made his task dramatically more difficult than it ever needed to be. To be sure, I would have some difficultly convincing GTK+ to display a UI that looks anything like Chrome on Windows. But then I wouldn’t try. If I did want to go down this path, though, I wouldn’t bother trying to bash GTK+ into submission. I’d write the UI in Cairo directly ( GTK+ uses Cairo to do it’s rendering ), or maybe I’d go with Clutter if I wanted something flashy. Both are great cross-platform libraries. Clutter uses OpenGL, to take advantage of modern graphics hardware. Think I’m talking out my hat? Check out this video of Clutter Webkit. That’s how you build a new browser. Of course, that video is just a tech demo. The point is that if you quit bitching for long enough to pay attention to all the work going on around you, you will find a rich software ecosystem that will cater for any need, no matter how strange the UI you’re attempting to emulate is.

You must be logged in to post a comment.