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?

1 comment:

Anonymous said...

Hi, I got Abracadata a while ago and am starting to explore it. One problem that I had was that on a layout that I had drawn based on my own, when I tried to use the use the straight track tool, I could not get it to work. I would get the cursor "+" with the little track symbol, but when I pressed the mouse button, it would not draw the track. The same thing happen when I used the curve track tool or the spline track tool. Even when I would open up a new layout to start from scratch, the same thing would happen.

The way that I managed to work around it so far was to install another installation of 3D Railroad on my hard drive. But even when I did this, the same thing happened and those drawing tools did not work on that file. So in addition to a reinstallation, I copied the elements from the previous layout and pasted it onto a new layout in the newly installed 3D Railroad and then I could access the straight track and other tools. Also, in the new installation, when I started a new layout, I could use the tools.

I think (hope) what I did was to set some switch in the program to disable those tools. If anybody who has experience with the Abracadata 3D Railroad Design software has any idea as to how this happened and how to correct it, I would really appreciate it. Until I correct it, I will be a little leery of using 3D Railroad, given that it can change like that. Thanks in advance!