Tuesday, April 12, 2011

Unplanned Obsolescence

My software product Solitaire Till Dawn (STD) has had a long history. It is now 20 years old! During that two-decade history, I have had two processors (the Motorola 68000 and the PowerPC), one development environment (Metrowerks CodeWarrior) and one operating system (classic Mac OS, versions 7.0 through 9.whatever), all shot out from under me.

The First Dead Horse
When Apple switched from the Motorola family of CPUs to the PowerPC family, I didn't have to do anything: Apple was conscientious about backward compatibility, and STD ran nicely under emulation. Most users never knew the difference. I did get a lot of concerned mail from users who did know the difference and wanted a nice "efficient" native version, but the truth was that there was no need. STD did not run slowly, and did not use enough CPU even under emulation to noticeably affect the rest of the system. A couple of years after the switch, everybody forgot about the issue and I stopped getting mail about it.

The Second Dead Horse
Then Apple switched operating systems, from the classic Mac OS to the shiny new OS X. This time, it mattered. Technically you could still run STD unmodified, even though it was compiled for a different CPU and written for a different OS (Apple works very hard at backward compatibility). But in this case, it did run slowly and perform poorly, and it would also crash easily (something it never did under classic Mac OS, I hasten to add). It also looked very old-fashioned. I had to re-write STD for OS X and PowerPC. And, as previously chronicled, I made a mistake. I used the Carbon API instead of going all the way to the fully-modern Cocoa, and I stuck with the good old reliable CodeWarrior development system instead of using Apple's new Xcode.

The Third Dead Horse
Then Metrowerks decided to stop supporting CodeWarrior for the Mac. CodeWarrior still ran, and for a while I was able to continue making changes and updates to STD (now STDX). But as OS X evolved, good old CodeWarrior did not keep up, and over time became more and more "old" and less and less "good".

The Fourth Dead Horse
After that, a new blow: Apple switched processors again, abandoning the PowerPC in favor of the Intel line of CPUs. CodeWarrior could not compile Mac code to Intel-native executable. I was now unable to produce a native version of STDX. (Apple claims that Xcode can import a CodeWarrior project and take it over. I tried this, more than once. I never got it to work.)

But although it was now venerable in "computer years" (kind of like "dog years", they go by fast), the latest version of STDX still worked just fine. When OS X 10.6 came out, the PowerPC compatibility layer (called "Rosetta") was no longer installed by default, but Apple made it easy to install if you needed it, so most STDX users were still good to go.

The Fifth Dead Horse, and a Live Lion
But now OS X 10.7 "Lion" is on the horizon. And although it's not released yet and there's time for changes, it seems almost certain that Lion will not support Rosetta at all. If so, the current-yet-antique STDX simply won't run on Lion. For the first time in 20 years, an up-to-date Mac user won't be able to play Solitaire Till Dawn.

My only recourse now is to rewrite STDX using Xcode. I actually started this project quite a while ago, but it goes slowly: it's a big project (you'd be surprised), and I haven't the spare time (and energy) I used to have. I've learned a lesson about clinging to old standards, so this time I'm trying to make the code base as modern as I can; but that also adds time to the project.

My current goal is to create a (not-so)-quick-and-dirty STDX, fully modern and Intel-native, but not containing all the myriad whistles and bells of the previous versions. That will help me get it out the door faster, the sooner to relieve the withdrawal symptoms of STDX fans on Lion. Then over time I'll add old features back in, along with new ones perhaps, until it is once again at its full glory. (All this for the desktop, with iPad and perhaps iPhone/iPod  versions to follow if all goes well.)

I really am working on this, and so is Helen, who has a parallel project taking a different approach. But it really is going slowly. The chances that we'll be ready when Lion is ready are just about nil, so there will be a gap of time. But watch this space, and keep an eye on http://www.semicolon.com for news. It will happen someday, if I can make it happen. In the meantime, your patience and understanding is appreciated.


Tim said...

Well that sucks. I guess I won't be upgrading for a *long* time.

John at Green Bay said...

As an STD user since the beginning - Miss Milligan is my fave - may I add a lonely voice to beg you to get the Lion mod out the door

thvv said...

"A slow sort of country!" said the Queen. "Now, here, you see, it takes all the running you can do, to keep in the same place. If you want to get somewhere else, you must run at least twice as fast as that!"

Rick Holzgrafe said...

John at Green Bay: I work on it every chance I get! Keep an eye on the "Solitaire Till Dawn" box in the upper-right corner of my blog page: it has mini-updates on my progress and I update it much more often than I post new blog entries.

thvv: "'and she can run very fast!' thought Alice". I agree with Alice: Queen Apple seems to run VERY quickly, though that may be an illusion caused by my not checking in on her often enough! I'm doing my best to catch up now.

Ade Fowler said...

Thanks for your efforts Rick. Forty Thieves is a must (please). Lion will have to wait for STDX.

mikeyguy said...

Wonderful news you are working on a Lion compatible cocoa version of Solitaire Till Dawn. What a relief. As a long time user, I was most unhappy when Lion news of orphaned Rosetta came out.

Eudora, HourWorld, Wake550 and Solitaire Till Dawn were all high on my list of concerns with looming Lion.

I was afraid I was a closet Luddite!

bevi said...

Marvellous news - I look forward to the Lion-friendly version and another 20 years!

Jan Cobb said...

While my Mac Mini and iMac are already upgraded to Lion, I have an iBook (G4 14") running Leopard that will always be capable of providing me with my Forty Thieves stress suppressant! Nevertheless, I look forward to the Lion version, as all your other followers will, and I thank you for providing what must be the absolute best card game on the Mac (or anywhere, for that matter!!).

Sandy said...

I discovered the hard way (after upgrading to Lion) that my link to STD no longer worked. Thanks for thinking about my withdrawal symptoms, and good luck with the re-coding!

MaryM said...
This comment has been removed by the author.
MaryM said...

I downloaded Lion before checking compatibility. Bad move on my part. i am still experiencing withdrawal symptoms from not playing Solitaire Till Dawn! Good luck with your updating this great game and I wish you the greatest success. This is the BEST Solitaire game(s) I've ever played.

silvia1933 said...

How about releasing what you have so far and continue to "polish" as updates???

silvia1933 said...

Do you have an ETA for solitaire till dawn?