If Chrome doesn't look native, why does the toolkit matter?
neosmart.net
neosmart.net
And which app does? MS Office doesn't look native either. Neither does IE. In fact, very few MS apps actually use their guidelines and default widget sets. Office, for example, has a completely different widget set and even has a different toolbar (ribbon).... not to mention a completely different window chrome and that big round button in top left. And many other Windows apps don't follow the guidelines either.
A non-native UI that looks the same on Mac, Windows, and Linux would be the answer to such a browser OS. It would indicate that Chrome is its own product - from the codebase to the user experience - and that to the end user it shouldn't matter what OS you're on.
Except that people today do use different OSes and nativeness does matter! Inconveniencing and annoying your users with an intent to make them aware that your app is somehow different is opposite from what you should be doing: conforming to their learned patterns of how their UI works and making the transition to a new app painless and 'invisible.'
I'm in complete agreement with Goodger on this one: none of the cross platform widget sets feel native on any of the OSes. Firefox still feels awkward on OS X and has a lot of deficiencies in the way the text boxes work, keyboard navigation for assistive devices. In-browser widgets like buttons and drop-down menus are just off when you compare them with native widgets (drop-down in particular) and feel weird.
They invoke that 'the uncanny' feeling: http://en.wikipedia.org/wiki/The_Uncanny They look like the real thing but aren't and give you that uncomfortable feeling.
For most C++ developers stuff like this has been solved for a very long time. Even WebKit itself includes a free string class. Why wasn't it used from the start? All this re-solving of old issues is puzzling.
Google talks about how they try to sell their products internally first (says Jeff Huber, the company’s senior vice president of engineering),
"For many ideas, Google’s first and most important audience is its employees, and it typically tries products internally before releasing them."
Why wasn't Chrome used internally? Google presents itself as a Linux shop, but why didn't Linux developers internally help on Chrome with their 20% time? Chrome isn't a new application, it is two a half years old. That should have been more then enough time to at least discover these basic issues. Why did Ben Goodger allow Chrome to create its interface code in a very non portable and Windows only way? As the "lead Chrome UI developer" he should have brought up these problem years ago.
I suspect the answer is, as much as anything, that Google simply isn't willing to sacrifice control of any corner of the browser to make the user experience fast and slick and that includes optimizing right down to the fine details of the UI toolkit.
A great strength of Mac OS X is just that -- that it's UI is consistent.
They use their own UI controls & elements that behave similar but not identical to their win32 counterparts... in the way any non-native UI toolkit would.
If you could make a toolkit that was non-native, but behaved as if native on all its target platforms then obviously that would be key. Also, Chrome currently only officially exists for Windows, a platform whose users are less picky about native look and feel. You would probably have a harder time getting away with this on Mac OS X. Similarly, you can have a java app that runs pretty well on most mobile phones, but a straight port that didn't include native widgets on the iPhone would probably not be well accepted.