Thursday, August 03, 2006

Would Virtualization Be the Death of the Mac Developer?

Wow, the blogsphere is a BUZZIN' today at the tail end of the week leading up to WWDC. Two of my fellow Mac developers speculate on what full Windows application virtualization (running a Windows app without modification or emulation) being added to Leopard might mean to the average Mac developer, if rumors turn out to be true.
In short, if high-quality virtualization (read: as seamless as Rosetta) occurs, developers all over the Mac will be left with a lot of new competition and the same size user base. Over time, that base would (hopefully) increase, but would everyone survive? Would the new users purchase true Mac software or stick with the software they used back on Windows? I don't know, and I don't think anyone can claim he does. I do know that the whole thing is very interesting and more than a little bit scary.

And another take:
Bottom line? Optimistically I think that better products will win. The problem is cutting through the noise, and technology seems to be on our side. The growing popularity of blogs and “peer editorializing” seems like a natural match for promoting quality products and thereby elevating them from among the noisy ineffective ones. To the Mac developer’s advantage, there are already complex systems in place for distributing Mac propaganda. The online news sites and download trackers that many Mac users frequent are going to be hesitant to embrace and recommend lackluster Windows software - because they themselves are Mac users who know the benefits of native software.

Here's my take: I really don't think seamless virtualization being added to Leopard will happen. Why? WINE has been out for Linux for years, and it's not perfect and it hasn't stopped Linux-native apps from being developed. My understanding (it's been a while since I've had to look at it) is that it's still just not the same as a native application. And how COULD it be? A Windows application will STILL be a Windows application. It will look and feel like a Windows application and it won't feel anything at all like Mac OS. It also will not be able to take advantage of any of the cool Mac-native stuff that users are used to in their Mac applications. These will be applications developed by Windows users, for Windows users and they will look and feel that way. You can already do something similar, you can run say, The Gimp, a Linux app, on Mac OS X, but you don't find a lot of people doing it. Why? Because it's a Linux app first.

So, why would it be in Apple's best interest to even DO this? OK, let's create all of this great technology, all of these great features for our operating system... and then help assure that no one will use them, by killing Mac only developers mostly by encouraging applications, that weren't developed on the platform, or for the platform, and can't use these great features, to dominate?

OK, so, let's say it DOES happen... Most Mac users I'd say are Mac users because they don't want to be Windows users. Why would they want to run Windows applications then, when the overall Mac experience, created by developers developing FOR and versed IN the Mac experience, is so much better? If this does happen, will Mac users start trolling Windows download sites, looking for Windows apps? Not likely. The Windows user audience is nothing like the Mac user audience. You don't really find the equivalent of VersionTracker, MacUpdate, MacNN, MacMinute, etc. that Mac users have come to know and use, and go to for Mac software. Things in the Windows camp are just... different. To make any kind of inroads in the Mac market would require Windows developers to actually market to, and think like Mac users and I just don't see that happening, because, well, they are Windows developers.

And what would a Windows-native application even look like to a Mac user? You can bet they wouldn't be packaged up all nicely in a disk image with a nice application package, etc. Do we want our Mac file systems to look like Windows file systems? Ug.

My guess is that if virtualization did become a reality, there would be a transitionary period where some former PC users might continue to run some of their Windows apps after switching to the Mac, especially if there were no equivalent or better Mac substitutes. So this could be a transitionary technology.

But really, they can do this in a "box" now quite well with Parallels. This application already provides an easy way to run Windows applications, without making the experience so comfortable for the user that they won't want to switch over fully. Apple did Classic this way for a reason, I think. Sure people ran their Classic apps under OS X for a while, but after getting comfortable with OS X, each time they wanted to do something only found in OS X using their Classic app, and couldn't, they were likely to look for something native to switch to. And I'm guessing that Apple views Windows users the same way, as "Windows Classic" users they eventually want to be full-fledged OS X users at some point.

Ultimately this decision will come down to one thing: does Apple want new and current users to be Windows users... or Mac users? I really hope it's the latter. A Mac platform populated mostly with Windows apps wouldn't be much of a Mac platform.


At August 05, 2006 9:44 PM, Blogger Andy Finnell said...

I guess I'm at a loss for why everyone is all in a tizzy over virtualization. People act as if applications written for Windows will suddenly appear and be just as good as Mac applications.

The technology simply isn't possible. Suppose Apple gets into WINE and really makes it super. There is still only so much the application framework can do to make it look and feel like a Mac app. There are all sorts of custom controls, icons, and application specific UI that the framework doesn't know about nor can do anything about. The best case scenario for a simple Windows app would to be get something that resembles a Qt or Java application.

Bottom line: A Windows app will still look and reek like a Windows app even if its running on a Mac.

Will Mac users accept an application that doesn't look and feel like a Mac application? I can answer that from experience: no. If you give them something substandard they will yell at you. Loud, hurtful things. (Note that I'm not associated with that mess. I'm just sayin' is all.)

So relax. Windows applications might come in a compatibility box. Mac users will use them until you write a good Mac app that has the same functionality.

- Andy Finnell,


Post a Comment

<< Home