Linked by Thom Holwerda on Sat 14th Feb 2009 12:55 UTC
Google 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+.
Thread beginning with comment 348900
To view parent comment, click here.
To read all comments associated with this story, please click here.
QT does not get it right
by MacMan on Sat 14th Feb 2009 15:25 UTC in reply to "Bad Mistake, But Not a Surprise"
MacMan
Member since:
2006-11-19

On the Mac, it is about as alien looking as running a windows application in Parallels.

Nothing looks right, edit boxes do not behave normally, they use very strange looking widgets. They use their own even loop, own message dispatching system, and draw most of their own widgets, and fonts are rendered just plain weird. On the Mac, QT is an absolute disaster. The few QT apps I use, I just use them under Linux in Parallels, because the Mac version is so horrendously bad.

There are some very nice cross platform apps out there, but each one uses the native toolkit on each platform, such as Transmission, and HandBrake; they use Cocoa on Mac, GTK on Linux, and WinForms on Windows, so they all end up looking right on each platform.

Every so called 'cross platform' user interface toolkit has these kinds of problems, although none are as bad as QT on non Unix platforms.

Cross platform non UI libraries make a lot of sense, but the UI very tied into the OS, and its tied in for a reason, Windows users want apps to behave like Windows apps, Mac users want apps to behave like Mac apps, and with these 'cross platform' UI toolkits, apps behave like something thats just plain strange.

If you read some of the reviews of KDE 4 on Windows, they will echo these same criticisms; that it just plain feels weird compared to a native Windows app.

I for one think Google made absolutely the correct discussion: have a cross platform core, and use the native toolkit on each platform to present it to the user.

Reply Parent Score: 4

RE: QT does not get it right
by darknexus on Sat 14th Feb 2009 15:32 in reply to "QT does not get it right"
darknexus Member since:
2008-07-15

Seconded. QT under OS X is an odd experience, some behaviors are similar to native ones but others are not. One thing in particular I see with several QT applications is they stil use the ctrl key, even under OS X, for their keyboard shortcuts. OS X users will understand, this just doesn't fit.

Reply Parent Score: 4

RE[2]: QT does not get it right
by Vargol on Sat 14th Feb 2009 19:53 in reply to "RE: QT does not get it right"
Vargol Member since:
2006-02-28

The ctril v's cmd thing is purely a developer thing.

I could make a Cocoa app that would make an OSX's user's toes curl with out there being a single line of code that was dedicated to doing so.

Reply Parent Score: 1

RE: QT does not get it right
by acobar on Sat 14th Feb 2009 16:28 in reply to "QT does not get it right"
acobar Member since:
2005-11-15

Well, maybe on Mac you have this "consistent look" people like to praise here, but it is not like things are on Windows *. Office 2003, Office 2007, Windows Media Player (9, 10 , 11), Firefox, Chrome and lots and lots of other softwares abound on Windows and are hated or beloved without showing this "holly grail" thing.

Reply Parent Score: 3

RE[2]: QT does not get it right
by MacMan on Sat 14th Feb 2009 17:08 in reply to "RE: QT does not get it right"
MacMan Member since:
2006-11-19

Its not just that QT is 'odd' on a Mac, its that nothing quite works right. Edit boxes are not drawn correctly, text is always misaligned, pretty much everything else is misaligned as well.

Not to mention how coding for QT is just plain UGLY compared to objective-c, vala, c#, or pretty much anything else I can think of, well maybe, MFC is almost as bad as QT.

Reply Parent Score: 2

RE: QT does not get it right
by Vargol on Sat 14th Feb 2009 19:42 in reply to "QT does not get it right"
Vargol Member since:
2006-02-28

They use their own even loop, own message dispatching system, and draw most of their own widgets

As do a number of the Cocoa controls, NSStepper and NSSlider for example where everything is performed in a their own event loop in their mouseDown messages. They do not even fire mouseUp, if you want to do something after the mouse button is released you code it in an overloaded mouseDown and do it after a call to the parents mouseDown.


The funniest thing is that the aqua look isn't even Cocoa's own native look, it's a skin. Create a NSButton in code instead of using Interface Builder and you get a boring rectangular button. To get the lozenge look you need to call setBezelStyle.
see http://www.vargolsoft.net/2005_09_01_archive.html for an example.


Every so called 'cross platform' user interface toolkit has these kinds of problems, although none are as bad as QT on non Unix platforms.

Apart from GTK, wxWindows and most of the others. I'm not saying QT is perfect but seesh saying its the worst is a joke.

I feel (note this is an opinion) that most of the people who moan about the differences between toolkits wouldn't be able to tell the differences between them if they where not told which toolkit an app used in advance. A large number of them are bandwagon jumpers following the bandwagons propaganda and if asked to explain why a toolkit apps behaviour was different would struggle to offer a reason other than 'because it uses toolkit x'. There are only few behaviours that people expect in an app and they are mostly the same on all platforms. The big one on OSX would be the menu bar, but both GTK and QT do the right thing here though GTK requires platform specific code.

Reply Parent Score: 6

RE: QT does not get it right
by adkilla on Sat 14th Feb 2009 20:21 in reply to "QT does not get it right"
adkilla Member since:
2005-07-07

You ought to try out the latest Qt 4.5 build on Mac. It even uses the Cocoa toolkit to build 64-bit apps!

Reply Parent Score: 2

RE[2]: QT does not get it right
by MacMan on Sat 14th Feb 2009 21:11 in reply to "RE: QT does not get it right"
MacMan Member since:
2006-11-19

I have tried it, and no it technically does not use Cocoa

It works like QT does on all other platforms, it essentially, just creates a single Cocoa window, then does all of its own drawing to this window. It essentially just draw to a single pixmap per window, then just uses Cocoa to draw the pixmap to the screen.

This is precisely why it looks so strange, because it has all of its own controls and widgets instead of using the native OS widgets. This may not be so bad on Unix, where QT can be considered the native widget set, as X11 really does not provide for widgets, just a port to draw stuff to.

Reply Parent Score: 2

RE: QT does not get it right
by segedunum on Sat 14th Feb 2009 21:59 in reply to "QT does not get it right"
segedunum Member since:
2005-07-06

On the Mac, it is about as alien looking as running a windows application in Parallels.

The point just passed right over your head at about 30,0000 feet.

We are talking about developing cross-platform applications here that run on Windows, Macs and on Linux and Unixes and where we are doing that in the most economical and bug-free fashion for the developer. The toolkit solves the cross-platform bugs, not the developer. We are not talking about developing native Mac applications because these aren't native Mac applications - they are cross-platform.

Nothing looks right, edit boxes do not behave normally, they use very strange looking widgets.

They use native Mac look and feel actually, but they have to ensure that the interface looks consistent enough across the platforms you might run it on. Not sure what you've been looking at.

They use their own even loop, own message dispatching system...

Well yer. You don't rewrite an application for each platform to use the native loop and IPC system!

......each one uses the native toolkit on each platform, such as Transmission, and HandBrake; they use Cocoa on Mac, GTK on Linux, and WinForms on Windows, so they all end up looking right on each platform.

Yep, and each 'native' version is out of sync with each other, the developers prioritise the platforms that have the most demand, there is a ton of maintanance for the developers and you get bugs you cannot reproduce on different platforms. They are separate ports, and really, separate applications and they will end up using their own cross-platform glue to keep the common bits together. You obviously missed that part.

Every so called 'cross platform' user interface toolkit has these kinds of problems, although none are as bad as QT on non Unix platforms.

Considering what you get for it, Qt looks pretty decent certainly on Windows and on a Mac. Alas, there is no cross-platform toolkit that uses the 'native' approach for Windows, Mac and Linux that actually seem to work well enough with lots of applications written with them. Like I said, look at SWT's bug list for a good example of what is needed for this approach.

I for one think Google made absolutely the correct discussion: have a cross platform core, and use the native toolkit on each platform to present it to the user.

Like I said, they made the wrong decision because you give up a certain amount of look and feel for being cross-platform, and as Chrome looks completely different to most Windows applications anyway, your arguments about native Windows and Mac applications are null and void.

I'm proved right because SWT and Firefox have all tried to follow this route and we have one outcome - endless complaints about the GTK and Linux ports of Eclipse, Eclipse applications and Firefox and a bug list that never ends.

Reply Parent Score: 4

RE: QT does not get it right
by leos on Sat 14th Feb 2009 23:09 in reply to "QT does not get it right"
leos Member since:
2005-09-21

If you read some of the reviews of KDE 4 on Windows, they will echo these same criticisms; that it just plain feels weird compared to a native Windows app.


That's KDE apps and not Qt. Funny how I develop commercial Qt apps primarily on Windows and have never heard a single complaint about how they "feel weird".

It's especially hilarious that Google is harping on about native look and feel when Chrome looks anything but like a normal windows app (does that even exist these days?). Let's face it, when even microsoft has half a dozen different visual styles for their apps on windows (compare Notepad, MSN messenger, MS Office, Expression studio, Songsmith, etc etc) then there really isn't a "native" look. Every app does their own thing, and Qt apps look a hell of a lot more "standard" than just about everything else.

Reply Parent Score: 6