The ASP becomes the ASP

The ASP is renamed to the Association of Software Professionals.

After 23 years of leadership in (what was known as) the shareware industry, and now following the current trend, the ASP has dropped “Shareware” and officially changed its name to the Association of Software Professionals.

The change has been in the works for a while, but it was officially announced on the ASP blog in an article entitled, Shareware is dead – long live shareware!

A press release about the change can be found on Newswire Today, and proper coverage of the name change was recently published by Dr. Dobbs Editor, Jon Erickson, in a blog posting, Shareware: Thanks for the Memories.

When the ASP was formed back in 1987, it was out to promote the concept of “shareware”, a marketing method (n.b., not a type of software) where a user was able to try software before making a purchase (or not), and also to help independent developers/publishers learn how to use shareware (and other methods) to become successful.

The former goal was achieved long ago, as almost all mass market software now has a trial version available.  (See my Mission Accomplished! posting from a couple of years ago.)  The only skirmish remaining was that over the word “shareware” itself, but the ASP has now de facto ceded that control (for the sake of lasting peace, I suppose).  One only need look at this thread at The Business of Software to observe the rampant ignorance even among (nominal) developers, so I can certainly understand declaring that a losing cause.

The latter goal is actually an ongoing mission, and the ASP (regardless of the name change) remains the single greatest resource for independent software developers and publishers.  At only $100 per year, it is quite possibly the best money we have ever spent for our business.

I Resolve – 2010

I Resolve

To do what I want,
and to make a living,
To enjoy myself
for a long time.

To have priorities,
and to stay on task,
To keep in touch
with friends and colleagues.

To learn my craft,
and to teach what I know,
To help when available,
and reach those I can.

To be safe and secure,
and to remain aware,
To have clean surroundings
for a simpler life.

To take care of myself,
and to watch over my family,
To find the energy and integrity
to be true to me.

HNT: Value Existing Customers

How Not To Value your Existing Customers

In business, existing customers are very valuable.  These are people or companies that have found your product and like what you have to offer enough to (importantly) actually purchase.  They are the best source of additional purchases (and only source of software upgrades) and may provide referrals and positive word of mouth.  It is easier to sell to an existing customer than to locate and establish new customers.  However, if you want to take it to the extreme, and simply treat your customers as “cash cows” rather than with the proper respect, here is how you can do it.

First, it helps to be a large, unfeeling conglomerate, such as Corel, with a record of collecting brand name products and adding little (if any) real value; it is much harder to disrespect customers as a small company headed by people whose livelihoods depend on them.

Of course, there need to be cash cows, I mean customers, to exploit, so the quickest way to acquire them is to just buy a well-recognized company that already has loads, such as WinZip.  Pay no attention to the fact that their single (excellent) product that created and defined a market has since become a commodity that has numerous competitors, many of them free, and whose primary functions are built in to all major operating systems.  It is even better if the product was widespread due to there being few incentives to purchase the original product (save abiding by the license) and a promise of free upgrades for those of us who did the right thing.

Now you have a product which is unnecessary for the vast majority of computer users, plus a list of customers who paid for the product back when it was necessary, many (if not most) more than a decade earlier, and who would reasonably expect free upgrades (should any be desired).  What can you do now?  I know: Spam.

Validate all of your contact addresses by sending a whole slew of messages selling products completely unrelated to the original product (except by being owned by the same stockholders).  When that fails to do anything but annoy your customers…  wait…  no not your customers, but the customers of the previous company…  it is then time to do a new build of the product, complete with a new version number and no discernible new features.

With the “new” version, send out emails to all previous customers of the product to indicate, above all else, that the days of free upgrades are over and that they are expected not only to upgrade, but to pay the new masters (for what they already have, and probably no longer need).  When that does not work, either, repeat the messages on a regular basis, all with slightly different messages (and increasing version numbers), but never forget the “give us your money” message:

Your WinZip Software – Upgrade Available

Upgrade your single-user WinZip Standard license to WinZip 14 now…

Your WinZip software is out of date. You are currently running an older version of WinZip, and now is the time to upgrade.

Your WinZip software is out of date. You are currently running WinZip 6.3 Standard, and now is the time to upgrade.”  [No, actually I am running WinZip 9.0 SR-1, the last free update; version 6.3 may be the last version I purchased, back in 1997.]

Exclusively for WinZip customers: Upgrade your single-user WinZip 6.3 Standard license to WinZip 14.5 now, and save 50% or more off the new license list price.

Your WinZip software is out of date. You are currently running WinZip 6.3 Standard, and now is the time to upgrade.”  [OK, let’s be clear: “running” is not really the case; I cannot remember the last time I actually used WinZip for anything.]

So, now you have properly alienated existing customers.  Your product has gone through a number of version numbers (10.0, 11.0, 11.1, 11.2, 12.0, 12.1, 14.0, 14.5) yet the web site lists no significant feature that is not already present in the 9.0 version (from 2004), which still runs just fine, by the way.  I hope it was worth it (moreso than, say, actually creating value).

This sort of thoughtless approach also works nicely in other areas of business, not just software.  For instance, you could be a large chain video rental store, like Blockbuster, and introduce a rent-by-mail service to take on your most significant competitor (Netflix).  Offer a similar service, at a comparable price, with an added benefit than your competition cannot match: the ability to exchange a mailed rental for a store rental when you are finished.  You will get lots of customers who can get titles unavailable in the retail stores by mail, can keep them as long as they want, exchange them at the retail store for a newer release, keep those as long as they want (while a new title is sent by mail), and have a constant supply of rental movies to watch.  Brilliant! [seriously]

Where does one go from there, though.  With a nearly unassailable product offering, and happy customers, you cannot just sit there and leave well enough alone.  No, first you need to raise prices, and then email every current customer to let them know that they are “grandfathered in” to the original price, but be sure to emphasize that they are now locked in, so if they let it lapse, the new price applies.  Next, change the program, so now for the same price, the mailed rentals are not sent until the in-store rentals are returned.  Then, inform customers (like you failed to do last time) that now the number of retail exchanges is limited.  Never, ever, consider reducing the cost to match the reduced services.  (My prediction is that the next move will be to add due dates to these rentals, just to be sure that we switch to the competition.)

Anyway, there are two good examples of how to mistreat your valuable customers.

On the other hand, one could always recognize customer value in simpler ways, like abiding by agreements and promises, and not being so obvious about caring only about their money.  We love our customers; they allow us to stay in business and continue to do what we truly enjoy.

Accidentally Cheating at Backgammon

Why players perceive unfairness in Backgammon software

On a regular basis, inexperienced Backgammon players voice opinions about how a certain computer program or game server cheats.  The stochastic nature of the game lends itself to this kind of perception on the part of human beings.  Generally, there are a few primary reasons for this type of belief.

First, novice players often fail to recognize the complexities of the game of Backgammon, so what they perceive as an unnatural number of “lucky rolls” are not (necessarily) due to luck, but rather due to skillful play on the part of the opponent.  Expert players tend toward positions where a greater number of rolls would be considered good (i.e., “lucky”).  A higher percentage of good moves tends to make the dice appear biased in ones favor, and it is also key to good checker play.

In many cases, players also fail to understand the nature of truly random numbers.  It is often stated that, say, a certain number of doubles in a row indicates…  excuse me…  “proves” that the virtual dice are unfair when, in fact, a truly random number generator would have to produce any arbitrary sequence (whether or not a pattern is perceptible) given enough rolls.  Of course, we are talking about pseudo-random number generators (PRNG), so they are, by their very nature, not truly random.  However, one would have to do an actual study/count of the dice rolls to make any conclusion about any particular PRNG.

The reason for this need to analyze a PRNG scientifically, rather than anecdotally, seems fairly obvious.  Human beings have selective memory, which means that we tend to recall things that are out of the ordinary, so a number of doubles in a row stands out, whereas a statistically identical sequence of rolls that do not seem to show a pattern are not reported.  Likewise, a few very good (or very bad) rolls are more memorable than many run-of-the-mill rolls.

Related to this is the concept of apophenia, which is the human “experience of seeing patterns or connections in random or meaningless data.” [from Wikipedia]  Our minds have evolved to recognize patterns, so we can sometimes perceive things that are not there.  This is how people see images in clouds, hear music or sounds in white noise, and imagine divine imagery in oil stains or burnt toast.

All of these factors make it very easy for an average person to perceive unfairness in Backgammon software or servers (even in games against other human beings), and even trained experts can be fooled.

How experts demonstrate that Backgammon software is fair

There are a few key points that are usually made by experts when arguing that a particular Backgammon program does not cheat.  First, of course, one generally describes some of the aspects of the perception problem, as listed above.  In particular, reports are almost always anecdotal, so they can be dismissed quickly as having no scientific validity until somebody does an actual count and statistical analysis.

To dismiss accusations of manipulated dice (by software), the suggestion is to manually input dice rolls, which most (decent) programs allow, according to the rolls of physical dice recorded meticulously, or by changing to an alternative PRNG.  If the results stay statistically consistent, that argues against the idea that the rolls are manipulated.  Another common argument is that programs can “look ahead” to see which rolls are upcoming and make moves based on this prior knowledge, and manual input of dice rolls also removes this possibility.

Another method to test if dice rolls are being artificially manipulated is to switch sides and look for discrepancies.  In other words, start a game (or save one in progress) with a particular random number seed and play the rest of the game, recording the dice rolls for each side.  Then, restart (or load) the game and play the opposite side.  If the dice rolls remain the same, then no manipulation was done to bias the outcome.

A final, less scientific, approach is the simple “Why?” method, wherein one looks at the reasons why (and how) a programmer might decide to write a biased program.  Speaking as the primary programmer for MVP Backgammon Professional, from MVP Software, I can assure you that cheating would add a whole extra layer of (unwanted and unnecessary) complexity, so I certainly did not and would not include such code.  In fact, accusations of unfairness were troubling enough to MVP for the first version of the program that our version has a replaceable PRNG library so one can write ones own (with whatever extra checking is desired).

Possibility for Backgammon software to cheat without malice aforethought

This whole topic was reinvigorated when yet another thread appeared on rec.games.backgammon recently, entitled “Jellyfish.  Cheating or just Lucky” [links to Google groups].  Through dozens of messages, some people suggested/argued that the Backgammon program Jellyfish seemed to cheat, while two other popular programs, GNU Backgammon and Snowie, did not.

Interestingly (and, n.b., anecdotally), when testing MVP Backgammon, I had a similar experience.  I was simply testing relative strength with a series of 25-point matches between my program and these others.  Whereas the strength of my neural network was comparable to the others, it got beaten significantly by Jellyfish when it rolled the dice.  When MVPBG rolled, it was much closer.  As a final test, I played one match with manual rolls, and it was again close.  At this point, I figured out the likely problem (leaving alive the possibility that it was just sheer chance).

The whole purpose of a neural network is to discover connections and patterns in provided data, and the conclusions are affected by the design of the inputs (essentially, which raw data is supplied) and, of course, the requested output(s).  In our design, we basically supplied the number of checkers on each point (in a special format), the number on the bar, and the number borne off.  This specifies a pure position in the game (with no knowledge about moves or rolls), and our outputs were designed to estimate the probability of each potential game outcome (win, loss, or winning/losing either a gammon or backgammon).  The neural network was only used for evaluation; the selection of moves was based on the evaluation of the resulting position (and cube decisions were calculated mathematically from the neural network outputs).

Theoretically, we could provide irrelevant inputs (e.g., outside temperature) and during training, their influence on the network would tend toward zero.  However, providing somewhat related data, such as the last game move, could give the neural network just enough information to begin to anticipate an outcome and bias the outputs.  More directly, providing the current dice roll, or perhaps designing the neural network to rate individual moves based on that roll, gives the network additional information that could be used to actually predict the next pseudo-random roll, especially if the particular PRNG is not very good.  After all, guessing what the next roll would be based on the position and previous roll is exactly the kind of task that neural networks are designed to solve.

Based on this observation, I suggest that it is possible that the programmers of Jellyfish may have inadvertently, and with no malicious intent whatsoever, provided their neural network with just a little too much information, and it may have taken that information to (at least partially) figure out the random number sequence and then draw conclusions that were not intended.

This would be a very interesting (and perhaps slightly startling) example of emergent behavior in a computer system.  It would, however, explain why a program could pass all of the tests to “prove” it is not cheating, but still have an observable bias when using its own dice.  I suppose we could call it “computer intuition“.  Of course, without more scientific study, it could still just be called “luck“.

Software/Shareware Industry Awards are back

After missing a year, the SIAs return for 2010, slightly renamed.

Recently, the Software [nee Shareware] Industry Conference unveiled a brand new web site design, which is much improved from the previous web site.  Kudos to Sue Pichotta of Alta Web Works for a job well done (and no disrespect for the previous designer, who I also know).

Perhaps lost in this story, though, is the fact that the updated web site quietly announced the return of the Shareware, I mean, Software Industry Awards and a new (hopefully improved) process for awarding them.  According to the Process & Rules page of the site, the awards are now determined by a score of unidentified “software industry insiders”, rather than by the whole of the industry, which should reduce the amount of bizarre results (from either manipulation or voter laziness) at the risk of making them less prestigious, no longer being truly voted by peers.  I do not know who any of these people are, only that I am not one of them and that I hope they appreciate our games.

One definite positive in the new procedure is that “nominators are asked to consider only software and services offered by MicroISVs“.  This means that products like Google Earth and Windows Live Messenger (Microsoft), both 2008 winners, should no longer be eligible, getting the focus back to the independent developers the awards were originally meant to recognize.  (We also go by the title, “the developers formerly known as shareware publishers“.)

The only obvious omission is a list of categories for which the awards will be presented, and specifically, whether any game categories are included (and if so, how many).  The last time games were recognized was 2007, when our own Pretty Good MahJongg won the SIA for Best Non-Action Game.  Hopefully, the list of nominees (and, hence, categories) will be announced prior to the conference; that would almost certainly increase participation in the “Gala Networking & Awards Dinner”, which attendance was reportedly dropping.

In any event, all questions should be answered in Dallas, Texas, where SIC will take place July 15-17, 2010.  Perhaps I will see you there.

Video Games facing Supreme Court review

The US Supreme Court will hear an appeal about a law restricting video game sales.

Two weeks ago, the United States Supreme Court announced that it would hear an appeal of the California ban on sales of certain “violent” video games to anyone under 18 years of age.

This case is very likely to turn on a decision about First Amendment protections of free speech.  On the one hand, this is a good thing, given that none of these types of laws has ever been upheld as Constitutional.  (At last check, video game and First Amendment advocates were 13-0 against overzealous legislators.)  Additionally, this Court recently held that it is perfectly legal to profit from video sales of animal snuff films (US v. Stevens, 08-769).

The scary part, however, is that this is also a Court that does not really understand current technology, as demonstrated in the questioning (on the same day) during City of Ontario v. Quon, when some of the Justices asked basic information about how text pagers work.  Further, recent Courts (with the same core Justices) have not been reluctant to modify the law of the land based on politics rather than law.

It is a crap shoot and we will have to wait until October for the case (Schwarzenegger, Governor of California v. Entertainment Merchants Association, 08-1448) to be heard, and probably even longer before a decision is announced.

In a recent opinion piece, The New York Times agrees that the law is unconstitutional, concluding that, “The Constitution, however, does not require speech to be ideal for it to be protected.”  Bingo!

Click on the banner below to join a free organization that informs citizens of these kinds of threats to free speech, and specifically to video games being treated differently from other forms of expressive media and entertainment, including films, books, and music.

If you are not easily offended, see this related piece of satire from the Onion. [warning: NSFW!]

Poll: Almost nobody disagrees with not regulating video games.

Earlier this month, U.S. News & World Report posted an opinion poll [still open for votes as of this writing] on its web site, using the misleading title, Violent Video Games: Should Kids Be Able to Buy Them? Of course, the poll question is “Should Kids Not Be Sold Violent Video Games?” which elicits an opposite response from the poll title.

Whether by a deliberate and hamfisted attempt to manipulate the results, or just utter incompetence, the confusing wording opens the results up to interpretation.  More than 70% answered the question correctly, and I estimate that 90% of the other respondents misread the question (missing the “Not” or simply answering the headline), so I place lamina in buccinator and conclude that more than 97% of the public oppose video game regulation.

Take that!  (I can be just as unscientific as the “mainstream” press.)

Most Popular Solitaire is #1!

One of our solitaire games tops the Apple Downloads charts.

As I mentioned in a previous post, Apple had stopped updating the pages on its Apple Downloads site back in March, so Most Popular Solitaire, our solitaire title with 30 of the most popular games, was reliably in the top 15 on the (dynamic) ‘Top Downloads’ list on the left of each page but was not listed at all on the ‘Most Popular’ pages in the ‘Games’ category.  (As of this posting, Most Popular Solitaire 2.02 is #11 of all Apple downloads, including Apple’s own products.)

This morning, though, Apple finally updated the pages and Most Popular Solitaire is at the very top of all game downloads, listed as #1 on both the Games: Most popular and Cards & Puzzle: Most popular pages.  Sure, this position is likely to be fleeting, especially now that new submissions are being posted again, but it feels good for the moment.  Of course, some of those new submissions will be from Goodsol Development, so we will be looking to match this success and get more of our games to the top.

Thanks to Apple for finally getting this fixed.

40 Years of Earth Day (Observed)

Earth Day celebrated its 40th Anniversary on Thursday.

In honor of Earth Day, which was first held on April 22, 1970, I thought that it would be fitting to note that the manner in which we (much of our industry) do business is one of the most ecologically responsible methods of commerce.

Everybody in our company currently works from a home office, which means that the commute involves no burning of fossil fuels.  Additionally, only one location needs to be heated (or cooled, on those rare occasions in Michigan), so less natural gas (or LP, fuel oil, or electricity, as appropriate) is used.  As important to us, though, is that we are not contributing to the gratuitous development sprawl that was taking place here entirely unabated, even by massive oversupply, until the financial crisis finally slowed it down just a bit.

Occasionally, I have considered that the 15 year old van I drive could be replaced with a more fuel efficient vehicle, but I have not taken action yet because, first, it is already quite efficient overall because of its limited use and, second, despite much blather, current fuel consumption (MPG) ratings are ostensibly worse than when this van was built.  I sometimes go for days without driving, so it would take a long while to make up for the manufacturing cost of a new car, and when I do drive, this old 3.8 liter V-6 engine still gets within a few miles per gallon of most new “hybrid” vehicles I checked.  Sad.  (The expense of a new vehicle, weighed against the current lack of car payments, has also been a significant factor.)

The one area in which online software sales and virtual stores falls behind is in consumption of electricity, which can be seen to be elevated due to extensive use of computers, and especially the constant, 24 hour/day, operation of various servers.  In our case, for several years we voluntarily purchased, from our municipal provider, a couple of “blocks” of electricity generated from renewable sources, which was enough to cover all of our company computer usage (including servers) each month.  This was an investment in keeping and building these renewable sources of electricity, which has since been mandated for all public utilities in Michigan.

Of course, there is always more that one can do, so it is a good idea to take a little time every once in a while to consider ways to improve fuel efficiency, whether your goal is to save money or just save the planet.  (Our project for this summer involves insulating the floor under the front part of my office, which was never done at all by previous owners, including the idiots who built the addition.)

The Hubble Space Telescope is 20 years old today.

On April 24, 1990, the Hubble Space Telescope was launched into orbit from the Space Shuttle Discovery.  Those readers who were alive and conscious at the time will remember the initial problem with the main mirror led to criticism and ridicule, but that problem was fixed, and that resulted in great leaps forward in the field of astronomy (and a million beautiful desktops).  Last year, the “last” fix has made the orbiting telescope more powerful than originally imagined, and it could continue its successful run for many years to come.  Like a piece of software, version 1.0 had its share of bugs and detractors, but it became really useful at version 2.0, and by version 3.0 has already outlasted and outperformed all predictions.

Happy Birthday, Hubble!

Two Weeks of iPad

The Apple iPad lives up to its billing as a “game changer”.

After two weeks of using the Apple iPad, I am confident that the introduction of this device is going to be seen as a major event in the history of computing (despite the overwhelming hype trying to convince me of exactly that).  There is a reason that more than half a million iPads were sold in the first week, and that is before the 3G and international releases.

It is not that the iPad itself is a perfect device; it is not.  Nor is it that the idea is unprecedented, as tablet computers have been available for years (and it has been called merely a big iPod Touch).  However, where Apple excelled (in this case) was in the product design of both the hardware and the software, and coupled with the small technological advances, the result is significantly more than the sum of the parts.  Finally, Apple has successfully conveyed this “vision” to the consumer.

What makes the iPad special is the flexibility that the very simple physical interface (basically, just a big multitouch screen) affords.  When an application is launched, the iPad takes the desired form, whether that be a book, a map, a browser, or a game, and it does so wherever the user wants to be.  Psychologically, this makes a really big difference, which is probably why so many people are raving about the iPad.

In our household, we have already run into device contention.  My wife has laid on the living room floor using the iPad to map out a High Adventure canoeing trip for this summer.  My son gets up early in the morning to play games on it, or to use it to browse for information related to games he plays on his computer or video games consoles.  I have gotten back into reading literature for pleasure (which I have been intending for a while) because iBooks is well-suited for that.  In the evenings, we generally have the iPad nearby as we watch television or movies because we inevitably want to look something up on IMDb (instead of getting out a heavy laptop or going to the office desktop as we did previously).  Of course, there are sighs of discontent during the day when the hardware is roped into the office for its original purpose: software development.

Personally, I think that the iPad will anchor a new category of computers that fits among the various other kinds of computing devices  Most of the general complaints about the iPad I have read are in comparison to these types: it does not function as a smart phone; it is too big to put in your pocket/not portable enough; it does not do as much/is not as powerful as a laptop; it not as productive as a desktop system.  I think that smart phones, portable game systems, laptops and desktop computers are here to stay, but they will have to make room for the iPad and other slate computers.  That said, I think that the category of “NetBook” computers may be done for.

In practical terms, here are the three largest (albeit minor) complaints I have found about this first generation iPad:

  1. The reflective screen really shows smudges and gunk (such as cat hair).  I have no problem reading it, but I compulsively wipe fingerprints or grit from the screen, and I cannot count the number of times I have unintentionally turned book pages or linked to an unwanted web page doing this.  (I suppose the lock button solves this, if I can train myself to use it.)
  2. The clock application was omitted from the list of provided applications.  The iPod Touch is my only alarm clock, and it only makes sense that I should be able to take the iPad to read in bed and also set it to wake me in the morning, especially since the same program would already work.  (One can set a reminder with an audible alert, but it is not the same as an old car horn.)
  3. The iBooks application, while ostensibly providing a virtual bookshelf, does not allow freeform rearranging of books on those shelves.  Sure, one can delete books and change their order, but they always gravitate to the top left.  What if I want to put my books on the left, and Sherry’s books on the right, and those that we have already read on the bottom shelf, huh?

The final unfortunate aspect of the iPad is that, due to its popularity, I have to start a pool for the date of the first time that the iPad is dropped on the floor (or sat upon), and for when it will actually be broken in such an incident.  Those who chose “less than two weeks” have, thankfully, lost.

More than Just a Name

Most Popular Solitaire is the most popular solitaire game for Mac OS X.

The Good News over the last few weeks has been that our solitaire title, Most Popular Solitaire, featuring 30 favorite solitaire games, has proven to be the most downloaded solitaire game at Apple Downloads.  Ever since the latest update, Most Popular Solitaire 2.02 has been receiving amazing numbers of downloads, even eclipsing the Windows version of Pretty Good Solitaire.

Most Popular Solitaire appears on the ‘Top Downloads‘ list on the left side of every Apple Downloads page, and has consistently done so since shortly after its release.  Charting as high as #7 and only dropping off for a single day.  (As of this writing, MPS is ranked at #12.)  Note that this is for all downloads from Apple’s site, including such packages as iTunes, Safari, and Mozilla Firefox.  At times, our solitaire game has been ranked higher than QuickTime, and no other solitaire game has appeared on the list.  In fact, we have regularly had the most download game (period).

Now comes the Bad News.  Whether it is due to some oversight in the midst of the iPad excitement, or related to the recent change to remove the ‘Downloads’ link from the main Apple page (in favor of “iPad”), or just a run-of-the-mill screw-up, the ‘Most popular’ pages for each category are not being updated, and this problem has lasted for three weeks now, which means that these pages show the top downloads from just before our game update was released.  It is clear that Most Popular Solitaire should be ranked #1 on the Cards & Puzzle: Most popular page, and probably no lower than #2 on the Games: Most popular page.

Now we still have the problem that traffic is falling off due to the lack of updates, and assuming that the problem will be fixed (hopefully soon), there will probably be a frenzy of product submissions, especially with those already in the pipeline, and our products could become lost in the noise.  Since Apple Downloads is a very important distribution point for Mac OS X titles, this issue is already impacting our marketing.

Despite this inconvenience, development for this platform is continuing apace, and there should be an official announcement about Pretty Good MahJongg Mac Edition in the very near future, as well as one for a related platform, hinted at the end of the most recent post at A Shareware Life.

In any event, I am currently enjoying an absolutely beautiful day, with summer temperatures, bright sunshine, and the stress-free knowledge that all of our business and personal taxes have long since been filed.  Happy Tax Day!