Action Solitaire 1.12

This is our second product release of 2007, with more to come.

On Monday, Goodsol Development released Action Solitaire 1.12, an update to our arcade-style solitaire title. This version actually consolidates two different upgrades into one (which explains why there is no public version 1.11). Neither set of changes adds any new games, but there are still 52 styles of games, fifty-two being a good card game number. A 30-day evaluation version is available for download here.

The first set of changes to the product updated the internal help and marketing screens to use a different style, in line with the new look of the Action Solitaire web site. We also added an exit screen to encourage purchases, as well as some addition limitations on evaluations. These changes are all in line with previous updates to Pretty Good MahJongg (version 2.3) and Most Popular Solitaire. Action Solitaire was selected as the next update out door because it had not been updated since 2005.

The other group of changes for this release were the updates to add full Windows Vista compatibility, as with Pretty Good Solitaire 11.0.1 and two more upcoming product upgrades. This includes a beautiful new Vista icon, courtesy of artist Rick Tumanis, and a new HTML help file. To view some images, and get a little more information, see the recent post on Thomas Warfield‘s blog, A Shareware Life.

Of course, even after testing, very few releases go perfectly smoothly, and this one was not an exception. When I did the final quality assurance check, it turns out that the installer was not properly creating a user desktop icon, but was instead only creating a desktop icon for the administration account used for the install, yet another repercussion of the new Vista UAC (User Account Control) system. It took some tedious back and forth to get a properly working installer, but everything worked out fine in the end. There will almost certainly be a more detailed blog entry soon about this particular issue.

FireFixed

This Gamecraft blog now works with Mozilla Firefox.

Over the last couple of days, I received three reports (see recent blog comments) indicating that this site did not work correctly in Mozilla Firefox. The problem, correctly identified by readers, was that the mime type was not set properly at the server (“application/octet-stream” instead of “text/html”). This problem did not appear in Internet Explorer (nor Safari, as far as I can recall), so I had never noticed the issue. Since nothing here changed recently, I am not sure why this was never reported before, but that is beside the point.

Part of the problem is with Blogger, which does not use any file extensions on HTML files published on a remote server, except for the index page (which I probably specified myself with the .HTML extension). Therefore, the default page worked fine, but all links to other pages failed (in Firefox). I personally try to avoid having any files without file extensions, but this is not exactly an error.

The more significant problem was on the server end. It took me quite a while to find the source issue, after several unsuccessful tries with the mime configuration interface. Finally, I discovered a Microsoft Knowledge Base article entitled, Files without Extensions are Mapped to Application/Octet-Stream, which described the problem exactly. Under ‘SYMPTOMS’, this article says, “There is no way to change this behavior in the user interface.” I noted with interest that the entirety of the ‘STATUS’ section reads, “This is by design.”

Anyway, the steps in the article, although slightly inaccurate, provided a successful solution, so this Gamecraft blog now displays correctly in Firefox. I installed version 2.0.0.1 to verify the problem (always the first step in any diagnostic session), and after making the change and clearing the browser cache, everything seems to work properly now. Additionally, I now have the latest version of Firefox installed and ready for testing my other sites as they get updated (though I know that our SophSoft site works now).

I will take this incident to indicate that Mozilla Firefox is now officially a major player in the browser market, and it again emphasizes the importance of proper testing.

Busy times

It has been a very busy few days around here.

Since last Friday, it seems that I have not been able to slow down. There has been a whirlwind of activity here, including lots of development and testing, as well as some personal time that did not involve relaxation.

On the development end, we shipped four and a half products in a 27 hour period from Friday through Saturday evening. The impending general availability of Windows Vista has required several product updates. Individually, these are not loads of work, but when one piles several together, multiplies the effort by 4.5, and completes them in just over a day, there is definitely something of a camera blur. Granted two of the updates were for the same title, one a scheduled marketing upgrade that had been in development for a while and the other the Vista compatibility update, but it was still an accomplishment.

Half of a product, though? It turns out that as we shipped one of the “final” release updates for a title, we inadvertently cross-shipped with a specifications change. We had to make an update to the update before it ever got prepared for public release. The change was a protection improvement that took little effort, but required the full deliverable preparation again. Imagine that we figured out a way to feed the voltage from a computer power supply back through the mouse of any thief who enters an illegal registration code, giving the crook a very nasty shock. (ObLegal: This is a joke, stemming from my frustration at having our intellectual property, and my livelihood stolen. Even if this method were possible, which it absolutely is not, we would still never use such a thing.)

After the flurry of deliverables, my attention turned to a different type of flurries, the snow variety. Winter finally set in here, when it looked like it had forgotten us this year, so it looks like we will actually have an ice racing season in 2007. Therefore, I made arrangements to go pick up my new ice racing car, although it is funny to call a 16 year old beater, with no interior, that one can buy for a couple hundred bucks “new“. I had quite an adventure, including a roadside battery change at well below freezing temperatures and a brake failure in city traffic, but ultimately made it home safely and, importantly, ready to race.

Monday brought more testing, as one of the titles (and I will leave it to you to guess which one) was being prepared for final release. The first installer candidate failed to install properly under a limited user account on Vista, so we spent a few hours going back and forth, testing different installations until we had one working exactly as intended. Trust me, I am getting very tired of Vista right about now. Fortunately, there was no major drama, and we finished in time for my previously scheduled activity.

The personal activity for yesterday evening was another taping of QuizBusters. This time it was my son competing for East Lansing High School, one of four starters, in the division quarterfinals. They were matched against cross-town rival, Okemos, which was one of very few local teams that has beaten them in quizbowl league play this year. It looked likely to be a close match, so it was very exciting, but not relaxing.

[BEGIN SPOILER]
My prediction for a close game was not realized, however, as East Lansing tripled up Okemos by a score of 630-210. It was a truly phenomenal game between two great teams, though, as there were only a handful of wrong answers given during the entire contest. There has not been official confirmation, but it is believed that a combined score of 840 is the highest in 17 years of QuizBusters competition. My son was quite proud that he “powered” an answer off of the clue “Feathers McGraw in Wallace & Gromit in the Wrong Trousers“: Penguin.
[END SPOILER]

It looks like the frantic activity is destined to come to an end today, though, as it feels that I am starting to get a migraine as I am finishing this post, and migraines are never conducive to productivity.

Activation sucks

Just when I thought Vista was actually working, it quit.

Fast forward through a few days of development on Window XP, blissfully unconcerned with Windows Vista for the moment. Having resolved the critical issues with Vista, I was able to wait until it was convenient for me to pick up extra hardware at the local computer store. See, I realized that it would probably be more efficient (and flexible for the future) if, instead of tearing into this system to replace the still functional (under anything except Vista) network card, I would simply pick up a USB wireless network card. So I did. (A fortunate byproduct of this is access to a second, faster, network from my development machine when and if I choose to use that capability.)

There I was, USB network adapter in hand, ready to finally get this Vista system connected. In the back of my mind, I was aware that I could also get rid of the activation reminder once that was done. That thought quickly came to the forefront, though, when Vista refused to start. Apparently, leaving the Vista system unplugged while obtaining the necessary hardware was not sufficient, and Vista wanted attention NOW!

I was greeted with a message (which I failed to document) that oh-so-helpfully gave me a few options, such as the ability register online (“I would love to, thanks”) or, if that was not working, a link to help… online, of course. Vista penalizes me for its inability to recognize my network card, and then there is no option that would allow me to install the new hardware in order to comply. After a fruitless search for the ‘Hey, this is your fault, Vista’ button, I had no choice (short of reinstalling Vista) but to call Microsoft.

To be perfectly fair, the telephone registration process is not as onerous as one might expect, and it is totally automated, but having to read (not type) numbers into the phone, one at a time, and then listen for a couple dozen digits coming back, while being required to respond “Yes” after every group of four, does get very tedious very fast. I am certain that any people monitoring the calls are likely to hear a whole range of creative expletives, including one or two stemming from my frustration. In the end, though, it only took five or ten minutes to complete the activation process this way.

Microsoft, unfortunately, left a rather obnoxious bug in Vista. As soon as one is warned that the operating system needs to be activated immediately (the next step from an almost ignorable balloon), Vista tattoos ones desktop bitmap with the friendly message, “This copy of Windows is not genuine“. Liar! This copy is genuine, merely unactivated. However, after activation, this message remains for the duration, until one turns off the machine, even though the copy of Windows is genuine and properly activated. Better still, Vista hides the option for actually shutting down a system, prolonging the farcical message.

My opportunity for being upset at Microsoft soon closed, as the next Vista surprise was served courtesy Creative Labs. Remember the beta sound drivers that I had to install (you know, in my last blog post)? Well, these expired, too, with a nice blunt error dialog and, of course, no sound. No warning, either. I figured that this was just par for the course, and that I could solve everything with my trusty USB network adapter.

Guess what happened next. You probably guessed incorrectly, as my new NETGEAR USB SuperG wireless 802.11g network adapter worked perfectly. There were no problems, very unlike similar products I have purchased in the past from a company whose name starts with BEL and ends with KIN. It took a little Vista familiarization to figure out how (or, rather, where) to select a network, and then how to make that selection automatic, but with a minimal amount of work to allow the adapter access to the router, thanks to the MAC address being shown on a sticker right on its side, I was up and running.

OK, with a smooth installation under my belt and a nearly working copy of Windows Vista Ultimate at my disposal (having accepted that the dualing video cards would not peacefully cohabitate), I set out to regain my audio. I exercised my base vocabulary again when I found that the Creative Labs web site had creatively gone AWOL at a time when all of the beta drivers had stopped working, too. This downtime continued for long enough (read: hours) that I was able to clean my office, the supplies cabinet, and the closet, where I finally found the original driver disk from a few years ago. Thankfully, the old installer functioned fine, albeit with UAC going ape throughout, and my sound returned.

I had a fully working Vista system! All that was left was a full test of all major functionality, including game saving and online high score/statistics reporting, of Pretty Good Solitaire, Pretty Good MahJongg, Action Solitaire, and Most Popular Solitaire. All passed the tests with flying colors, needing only the improvements already identified (such as new icons and HTML help files). There were no major gotchas. Whew!

One final discovery as I shut down the Vista system for a while: Not only did the NETGEAR wireless adapter work perfectly, but it also made a nice hand warmer as the winter air settles in (though that may not be a good thing).

Windows Vista Ultimate installed

After some frustration, I finally managed to wrangle Vista.

My previous post was a horrific tale of trying to take things cautiously and it winding up being a huge waste of time. However, I needed to have Windows Vista installed and running the new Aero glass theme. What I did not mention is that I had to take the occasional break to cool off, and I spent some of this time installing Vista in Virtual PC on my development system. I felt (correctly) that I had no real chance of getting Aero there, but there was a significant period of time during which the operating system got further in Virtual PC than on its own system and hard drive. This told me that Vista would work, but something was misconfigured.

Without going into too many details, suffice it to say that I figured out that the problem was with ACPI (Advanced Configuration and Power Interface) support. For those not familiar with ACPI, it is the way that Windows can turn off a computer without somebody pressing the power button, or that two expansion boards can fight over the same hardware resources and both fail to work properly, although the latter is not exactly the phrasing that Intel uses in the specification.

Anyway, it turns out that Windows Vista requires ACPI, which this test system fully supports. However, for the purposes of diagnosing a hardware problem, Windows 2000 had been installed with ACPI deliberately disabled. (This is something that cannot be changed in Windows without a new system kernel.) The XP upgrade helpfully installed its non-ACPI kernel, and then Vista apparently used this to determine (incorrectly) that the system did not support ACPI. Of course, the huge piece of bloatware that I had run to verify that the system was compatible with Vista did not bother to identify the lack of ACPI support (or, alternatively, worked correctly but failed to acknowledge this bug in Vista).

So, what have we learned? In order to use Vista, one must agree to give Microsoft complete control of ones system, both software and hardware. Cynical, perhaps, but reasonably accurate.

Problem solved, so we move on to the next one. I reformatted the drive and installed Microsoft Windows Vista Ultimate from scratch, and this time it actually worked (at least to the point of being installed). Only one monitor was working, and I had neither sound nor network functionality. Fortunately, I had the foresight to have already downloaded the (huge) driver files from a working system, but since the network card was a generic 10/100 one with a driver from Windows XP (i.e., supplied by Microsoft), it never occurred to me that I would need to get that, too.

I installed the latest drivers for the non-working graphics card, but it made no difference, so I then installed the latest drivers for the working video card, hoping that it would help. Nope, I only had one working screen. Oh, well, I only need one monitor to actually test, as long as it shows Aero. I moved on to installing the only Vista sound drivers for my card, which happened to still be in beta (even after RTM for the operating system). After some seemingly unnecessary reboots, I finally had sound, though I would later regret the driver “choice”.

A quick status review: Only one of two graphics cards was working, but I had audio. The network card was not working at all, and with no network card, it is really hard to search online for drivers.

On the video front, I did not see anything that appeared “glassy” to me, so I assumed that Aero was not turned on. I did the research and found out how to enable the Aero theme, running straight into one of the Vista interface failures. The screen on which one chooses the Aero settings simply does not appear if the theme is not selected and the Aero theme selection is simply absent if Vista determines that the system does not support it. It took a while to discover this combination of issues that violates one basic principle of good interface design: never hide user options, even when they are disabled.

Again, here I will edit out lots of diagnostics, research, and reboots. I learned that the Aero requirements demand 1G of RAM (in addition to fairly hefty video cards, which I have), and this test system only has 640M. Before I went out to purchase more memory, I tried a BIOS change, swapping the video card boot order between AGP and PCI and got a marginal improvement. The working card stopped functioning, but the non-functional card came to life. Better, I now had an Aero option (despite the “limited” memory) which, when enabled, actually worked.

On the networking front, I downloaded the latest drivers for my generic network card, which were (of course), not updated for Vista. Rather than just having older drivers, though, Vista just simply refused to install them at all. No Internet for you!

At the end of the day(s), at least I finally had Windows Vista on my test system, even if it was hampered somewhat. I was able to test our current products with Aero, verify and diagnose one particular graphics issue (caused by Aero), and identify a few program changes that would be necessary. The network testing would have to wait until another day, but we (thankfully) had no major problems. It was really helpful that we had already designed the games to support a limited user account on Windows XP.

It was finally time to make the minor updates for Vista compatibility.