Wednesday, June 13, 2007

Windows to Mac

Hello? TAP TAP Is this thing on?

Hi, my name's Jim, welcome to my blog. I've never done this before, I am just starting today. I believe I am approximately the last person in America to start one of these things. I'm pretty sure the Geico cavemen have blogs by now.

Tempting as it may be to put up a chart of my favorite color and brand of hot dog, I have in mind something more technical. I'm a software developer, I spend my action-packed days in front of a screen and keyboard, and I'd like to talk about what I do there. (So, how do you relax after a long day of programming? I sit at the keyboard and blog!)

In particular: I've spent the last ten months converting a Windows program to run on the Mac. It was a frustrating and difficult exercise, and I wish I'd been able to find some advice about it. I didn't, so I'm going to write about my adventures in hopes the next traveller along this path doesn't have to bring such a big machete.

Quest for Help

Two years ago, my little company came out with a product for Windows. Since then we've gotten regular requests from Mac users for a native OS X version. I hate to say no to people offering to send me money, so for a year and a half I've been looking for a way to get the program converted.

I posted a message on a forum, asking for suggestions. I got two kinds of answer:

1. Don't do it! There aren't enough Mac users to worry about, it's too much trouble, Macs can run Windows now, life is short.

Ah, America, Land of Excuses.

I was amused to see that a recent post from a Mike S got similar results:
http://discuss.joelonsoftware.com/default.asp?biz.5.493924.18

2. Buy our nifty cross-platform development environment! Simply rewrite your app to call our library, and voila, your app will run on Windows, Mac, ten kinds of Unix and your toaster!

I gave this about two minutes' thought. You're saying I should take my solid, functioning, salable Windows program, rewrite it in some oddball language to sit on top of some shaky foundation written by some guy in his garage? Why do I have this feeling I'd spend the next two years trying to get the Windows program to run again, and then its dialogs would look funny?

I googled and found some small shops advertising contract work porting Windows programs. One of these turned out to be a group of French programmers totally excited about the possibility of porting my app -- for only $40,000. Another was an outfit in the midwest, with which I communicated like this: I send excited lengthy message, source code, free license, brochures; five days go by; short reply comes back, "yeah, we can do it"; immediately I send another lengthy message, ideas, questions; five days later: "$15K if you're not in a hurry." I eventually hired these guys to generate a little app shell, which cost me $1000 and never went anywhere.

I posted help-wanted ads. I was looking for a response like "Hi! I'm a brilliant whiz kid with five computers in my bedroom, and I'd love to port your app just for the fun of it!" What I got were desperately eager replies from aging programmers who once worked on Apple II. I hired a couple of these, each for a short, unproductive, annoying, expensive stint.

At this point, after months of non-starters, I decided ok FINE, I'll do it MYSELF. I'll just roll up my sleeves and figure it out. How hard could it be?