WinPlus

January 5, 2001

WinPlus is a HyperCard 2.1 clone for Windows. The page links to a freeware runtime version of WinPlus. Unfortunately there's no way to author stacks using the runtime version. The development version isn't available... the company has been dead for quite some time. Sigh.

When I worked at Shell I spent over a year and a half on a project to convert their HyperCard-based training system over to Windows, using WinPlus. I hated the idea, and I still think it was a big mistake.

I did it because if someone was going to take the Macs away from the training department, I wanted it to be me*. Not because I hated them, but because I loved them. Because I knew no-one else would care about what they were losing and try to give them something special and wonderful in return.

After that project was done, a lot of money had been wasted, considering what I feel was a very small benefit. Unfortunately, ObjectPlus (makers of WinPlus) went out of business shortly after the project was complete, despite having a great product. The transition to Win32 was too much for them and they couldn't get it done.

I have fond memories of working with the developers at ObjectPlus, working the bugs out of their software and getting that massive sytem converted.

One funny story, however, was the "converter" stack they wrote for Shell (for quite a lot of money I might add). It would go through every script of every object of every stack and convert pathnames from Macintosh:Path:Names to WINDOWS\\PATH\\NAMES. Unfortunately, it used a linear search algorithm to match one filename in a list of filenames to the filename in the other list.

This probably worked fine in their test cases, one stack, a dozen stacks, or even 100 stacks. But try doing 5,500. This wasn't something you could divide and conquer with because any stack would have a reference to any of the other 5,500 stacks -- you HAD to compare the full list every time!

With a room full of computers set up to start this conversion, I got it underway. I let it run all weekend. Monday morning I found it had only done a very small portion of the conversion. That's when I dug in and found out how they had implemented their converter -- it was written in PPL (HyperTalk) so it was easy to do that.

I determined it would have taken over 300 years for that conversion to complete at the pace it was going. Since it used linear search routines it wasn't going to speed up as it went along.

My solution was a Pascal program that used a binary search algorithm to do matches. The biggest tasks (execution-time wise) were the WinPlus scripts that would export every script from every stack into text files for this Pascal program to transform, and the script to reintegrate those transformed scripts back into each stack.

The conversion program took about an hour to run, on a 486 running DOS 6. The execution time to complete the project went from 300 years to a couple of days.

I remember wishing Shell would have paid me what they paid ObjectPlus to write that converter script that never worked. :-)

Still, WinPlus is a cool piece of software, with a fond place in my heart and memory. I wish it had never died.

* Okay, and I really needed a job!

PS: This Page appears to be the original source of that WinPlus runtime distribution. The files decompress into c:\pyskills, and thatpage is about "Practice Your Skills".