We are about to release a major new product: Pretty Good Solitaire Mac Edition. It is the first Mac product we have ever done.
We didn't originally plan to make a Mac version. I'm a Windows programmer and the other programmer who does a lot of our development is also a Windows programmer. I have always come down hard on the Windows side of the Windows/Mac debate. I always felt that there was a reason that Windows won out in the marketplace over the Mac. It wasn't because of anything nefarious Microsoft did, it was because Windows was better. Since starting Pretty Good Solitaire in 1995, I never had any plans for a Mac version.
So how did we get here?
It all began a few years ago. Pretty Good Solitaire is written in Microsoft Visual Basic. In the 90s, VB was a great development tool, one that allowed someone like me to develop a good Windows app. I could never have written PGS if I had to write it in C. VB was simple to use and you could create an application remarkably quickly (the original 1.0 version of PGS was written in less than a month, part time).
But then along came .NET. With .NET, Microsoft decided to break Visual Basic. No longer could you upgrade to a new version of VB and expect your code to run. They also added ridiculous runtime requirements. There was no way I was going to update to VB .NET, so I was stuck with VB 6.0, which I still use.
VB is great, but its big drawback is that it is Windows-centric. You can't port to any other platform. Now add to that the fact that it was likely that I would never be able upgrade to a newer version of VB, and you had a situation where essentially PGS is written in a dead programming language. In order to keep updating PGS for years to come, I needed to do something.
The decision was made to rewrite PGS in C. This would have a lot of advantages - there were some features I couldn't do in VB that could be done in C. As a side benefit, the code could then be ported to other platforms. This wasn't a major thing at the time, but it was there.
The rewrite was to be done in stages. At that time, we had two new products written in C (Pretty Good MahJongg and Action Solitaire). We took the code from Action Solitaire as a base and began building a new solitaire engine with all the requirements we wanted. Stage 1 of the project would be a simple, 30 game solitaire product. From a technical standpoint, the purpose of the product would be to have the start of a new solitaire engine in C. From a marketing standpoint, there was a demand for a product with fewer solitaire games it, as some people were overwhelmed by the hundreds of games in PGS.
That 30 game product was released as Most Popular Solitaire. We then began stage 2 of the project, which was to expand it to a 100 game product. That stage was nearly completed when Microsoft released Windows Vista.
It was immediately clear that Windows Vista was a game changer. Vista is bad. Vista is total crap, a real bowser of an operating system. Never before had any new version of Windows ever caused me any major problems with any of my products. Vista, though, was just a total pain in the butt. Early this year, it became very clear that Windows is in trouble. At the same time, my email requests for a Mac version exploded. I've always gotten a few requests for a Mac version, but now they were off the charts. For the first time since 1995, there is actual possibility that the long term future of computers is not Windows. Unless Microsoft fixes Vista (which they show no signs of doing), it's clear that the growth in the market would be elsewhere.
So we decided to try to see how hard it would be to port our code to the Mac, starting with the Most Popular Solitaire code. It became clear that it actually wouldn't be that hard. So over the course of this year we set aside stage 2 and started on a new stage 3, porting to the Mac. That is now virtually completed. There were a few issues along the way, which Gregg (the programmer) has alluded to on his blog. He spent a lot of time making sure that the game didn't look like a Windows port, but rather a true Mac application.
We were originally going to release it on October 25th, the same day as version 12 of Pretty Good Solitaire. But then Apple announced that they were releasing a new version of Mac OS X the very next day (called Leopard). It's a really bad idea to release a product right before a major operating system upgrade, especially since we could not test on the new OS version beforehand.
Over the weekend, we determined that there appear to be no problems with our game on Leopard. Therefore we will be setting a release date very soon. We look forward to joining the ranks of Mac developers living the life.
Once the initial 30 game version is released and working, we will very quickly update it to a 101 game version. Eventually, if all goes well its possible that all 700 games currently in the Windows version could make it into the Mac version.