Followup To The Myth Of Cocoa Apps
By Adrian Sutton
A while back I took Paul Stamatiou (and by proxy, VMWare) to task about their claim that Cocoa makes them so much more efficient. My take was that it was a Cocoa vs Carbon argument and VMWare employees came rushing to explain that it was actually a Cocoa vs Qt argument. Kudos to them for being in touch enough to join the debate, I had to log a support case with Parallels to get their side. Unfortunately, the point stands that users shouldn’t care what framework an application is used in – I certainly had no idea Parallels used Qt.
I’m late in posting the follow up but I thought it was worth providing a quick follow up. Here’s what Matt Ginzton had to say in an email to me (see the comments from the previous post for me detail):
Just saw your “myth of cocoa apps” post. While your overriding argument (Cocoa doesn’t automatically make you awesome) is of course correct, building this argument around VMware Fusion is somewhat off topic — the reason we draw any attention to our Cocoaness is to make the point that we’re using
native Mac technologies, and not at all a point about *which* native Mac technology.Boiled down: It’s a point about Cocoa vs Qt, not Cocoa vs Carbon.
Ben Gertzfield (who by the way is the Fusion lead developer) jumped in at comment 6 to point this out. As I understand it, Parallels’ use of Qt is actually a significant resource drain (as you correctly say in comment 10, this doesn’t relate to the core virtualization itself, but beyond the core virtualization these apps do put a lot of Mac OS UI onscreen, especially in Unity/Coherence modes, and I believe your conclusion in comment 10 — “I doubt that Qt is really making that much difference to Parallels because of precisely that but I could be wrong” — is indeed incorrect).
And beyond the resource drain issues, it’s also hard to get truly native look and feel from a crossplatform UI tookit.
And when I contacted Parallels, they had this to say (including my original email):
The recent VMWare press releases touted their Fusion product as being developed from the ground up using Mac OS X native technologies and a
number of VMWare employees have claimed that Parallel’s use of Qt adds a significant perforance hit, particularly in Coherence mode (in the comments of http://www.symphonious.net/2007/08/07/the-myth-of-cocoa-apps/).This claim seems suspect given the very small amount of UI components that are displayed in a virtualization engine – do you have any benchmarks or an official response to these claims?
Regards,
Adrian Sutton
Hello Adrian,
Actually, the opposite is true! We use QT and it makes highly optimized native Carbon calls for guest screen redrawing in both Coherence and OS Window modes and we use QT only for non time-critical GUI operations– like dialog boxes. In several independent tests performed by our users, and Fusion users, its been found and widely discussed that our overall GUI performance is faster than VMware Fusion’s, just take a look at what users say on video performance on ours and VMware forums.
—
Best regards,
Robert
My interpretation is that VMWare are just guessing at the performance characteristics of their competitor and letting their marketing department mislead potential customers based on that. That said, Parallels really need to learn about blog search engines and stay on top of these conversations. It’s also a shame that they couldn’t provide even a vague reference to actual profiling data when asked for it – how hard would it be for an engineer to look at the latest profile data and give a rough guide to how much time is actually spent in the QT libraries. That data would have proven VMWare’s claims wrong outright, instead it’s still up in the air as to whose right. My impression is that VMWare is less likely to understand the performance characteristics of Parallels than Parallels themselves.
As for looking more Mac like – the VMWare toolbar is nice and Cocoa like whereas the Parallels one is on the side and very much a custom job, but Parallels takes up less space and does the job just as well. Perhaps I’d care more if it weren’t for the fact that I never run in Windowed mode so I almost never see it anyway.
Unless someone can produce solid figures I’m going to call it a draw. VMWare are more involved in the discussion and seem to care a lot more about their products so they’re likely to provide better customer service, but I wouldn’t trust their marketing claims without verifying them for myself. I stand by my original claim that the framework shouldn’t matter and in this case I’m more convinced than ever that it doesn’t.