A major complaint about Google's Chrome web browser has been that so far, it is still not available on anything other than Windows. Google promised to deliver Chrome to Mac OS X and Linux as well, but as it turns out, this is a little harder than they anticipated, Ben Goodger, Google's Chrome interface lead, has explained in an email. It has also been revealed what toolkit the Linux version of Chrome will use: Gtk+.

Unfortunately, you are using very good arguments but come to the wrong conclusion. The "SWT disaster" is exactly why they do *not* want to use a cross-platform GUI toolkit. In fact, if you compare your statement and the original statement from Google, you will find that they are very similar. The essential difference is that, although Qt may "get it right", that's still far behind a custom-built native GUI.

> Firstly, if you have a cross-platform application then you have to pick a
> lowest common denominator of what will work across each platform by
> yourself.

You are starting from the assumption that a cross-platform application must work exactly the same on each platform. In contrast, Google is trying to make each port fit nicely into its environment, even at the cost that different ports do not work the same anymore. Looking from another point of view, such a kind of "cross-platform application" are actually different applications - one for each platform - that happen to share a lot of code.

Doing so of course requires a multiple of manpower, but I am assuming that Google can afford it. Qt, on the other hand, is a valuable tool if little manpower is available, but - according to Google - this comes at a cost.

Unfortunately, you are using very good arguments but come to the wrong conclusion. The "SWT disaster" is exactly why they do *not* want to use a cross-platform GUI toolkit.

Hmmmmm. So I want to be a developer writing a cross-platform application, wondering why my Windows users have the right layout in a dialogue box and my GTK and Mac users don't and wondering when that open SWT bug for the problem will get fixed on specific platforms?

It's not my idea of developer nirvana, I can tell you.

In fact, if you compare your statement and the original statement from Google, you will find that they are very similar.

No they're not.

The essential difference is that, although Qt may "get it right", that's still far behind a custom-built native GUI.

The problem is that they're not writing a native GUI. They are writing one that they want to work cross-platform in the same way with the same functionality.

You are starting from the assumption that a cross-platform application must work exactly the same on each platform.

If it's the same application, and they want the same set of core functionality, then yes. That's the whole idea behind a lowest common denominator.

In contrast, Google is trying to make each port fit nicely into its environment, even at the cost that different ports do not work the same anymore.

I'm afraid once you have divergence like that then that's the road to hell. Users complain that one port is behind another, you find there are some things you can do on one platform and not on another and the whole thing drops to pieces. You then prioritise the platforms that are most important to you.

Looking from another point of view, such a kind of "cross-platform application" are actually different applications - one for each platform - that happen to share a lot of code.

I don't think you have any idea how difficult that is to do, because how do you work out what code to share and what to make native? In the case of SWT, wxWidgets and Firefox you simply wait for the bugs to flow in and spend forever trying to fix them or hope that no one ever writes anything too complex.

Doing so of course requires a multiple of manpower, but I am assuming that Google can afford it.

There is no amount of manpower you can throw at an application once it gets past a point of no return to make it better. It's the mythical man month.

Qt, on the other hand, is a valuable tool if little manpower is available, but - according to Google - this comes at a cost.

It doesn't come at any cost. The toolkit identifies a proven lowest common denominator which you don't have to find and you then add platform specific extensions if you want to. It's very doable with Qt.

I think the point is that Google wasn't satisfied with the Lowest Common Denominator that the available toolkits offer.

Fact is, outside of Firefox & Adobe, there is no major piece of software that uses a cross-platform toolkit across Mac & Windows. And both these companies UIs have often been criticized for not behaving / appearing correct on the Mac (and I have heard similar complaints about the Windows versions as well).

And it doesn't have to be as complicated as you make it sound. You will have one team working on the rendering engine, which will be cross-platform, and one team each working on the wrapper for each platform. Considering that there are small companies like Omni & Shiira that are able to develop their own browser for a Mac, I'm sure Google has enough guys to work on the Mac platform, Linux platform, and Windows platform.