Monday, March 31, 2014

End of Hiatus

Although I did resume responding to bug reports and email last week as promised, I haven't been able to get too much else done since then. We had family visiting, a joyous but time-consuming week-long event that was followed by crashing hard and catching up on lost sleep this past weekend.

But now it's Monday, and this quick post is to let you know that I am back at work. A few details:

That Blank Card
Many, many users have reported seeing a blank white card that won't go away. Thanks for those reports, all of you, but I don't need any more of them. This is Bug 73 in our Bug List, and we will get it fixed sometime soon.

Crashes in b14
We think we know what's causing the remaining crashes, and we think we know how to fix it. It's a bit delicate so it might take a couple of days to get it right. Hopefully b15 will have the fix.

Snow Leopard Support
We've made progress, and we haven't given up. But we had hoped that we'd be able to make b15 the "Snow Leopard" build, and really get it solved; instead we've found that b14 still has a few important problems that can affect all users. So b15, when it appears, may concentrate on those issues instead; and if so, perhaps b16 will become the "Snow Leopard build".

As always, thanks for your support and your patience! We're working hard for you.

Wednesday, March 19, 2014

Hiatus, and Progress Report

In case you missed it, we released Beta 14 a few days ago. It is available for download from our Beta Program page. Your reports so far indicate that it is much more stable than b13 or b12.

I am working now on b15, in which I hope to restore compatibility with Snow Leopard. I have it basically working now, but it's still pretty fragile.

I may not be responding to bug reports and email until next week. Some visiting family and other festivities will be enforcing a little time off from solitaire work. Keep sending your reports, I love 'em and I want 'em; but don't be worried if I don't respond for a few days. I'll start catching up on Monday the 24th.

See you then!

Friday, March 14, 2014

Beta 14

Solitaire Till Dawn BETA 14 is now available from our Beta Program page.

This release fixes bugs 71, 72, 74, and 75. We do not expect any crashes in this release! Of course, we've said that before and been wrong before, but the previous release (b13) has only been seen to crash in certain circumstances, and we think b14 will fix that. If you do see a crash with b14, please send us the crash report.

In addition, we've learned that many of you like to undo and redo by (for example) holding down the ESC or Space bar keys, and letting them auto-repeat. This turned out to create problems that didn't happen when using the toolbar buttons Undo to Snapshot and Redo to Snapshot. We think we've fixed those, too, except that the animation may be jerky when you do that.

Osmosis and Peek were triggering an obscure bug that made Undo fail (no matter how you used it), and we've fixed that too.

We still have not restored compatibility with Snow Leopard (Mac OS X 10.6.8). I will work on that for the next release. We (and some of you) have also noticed that some games are not very responsive, with a perceptible lag in highlighting available cards or in moving a clicked card. We'll be working on that, too.

A Reminder
Please tell us which beta you are using when you send a bug report! If you report a crash and don't tell me which beta, I don't know whether it's a crash in b14 (which would be important news) or a crash in b12 (which would be a bug I've probably fixed already).

The minimum info we like to see in a bug report is:

  • Version of Solitaire Till Dawn (e.g. "b14")
  • Version of Mac OS X
  • Game you were playing (e.g. "Free Cell")
  • What you were doing when the bug happened (e.g. clicking the "Undo" button)
  • What you expected to see happen
  • What happened instead that looked like a bug
Here's an example:
I was using b14 on Mavericks. I was playing Free Cell. I'd just won a game, and while the cards were still flying up to the foundations, I clicked the "New Game" button. I expected to get a new game of Free Cell, but instead Solitaire Till Dawn crashed.
That's a pretty useful bug report: it has all the important basic info, and a fair amount of detail. If you do see a crash, we also love to get the contents of the crash report that will appear on your screen (but don't bother clicking the "Send to Apple" bug, they'll ignore it).

If you see something peculiar on the screen that isn't a crash, sending a screen shot may be helpful. You can't send attachments or images through the Bug Report Form, but if you tell us you've got a screen shot, we'll write back and tell you how to send it to us.


Thursday, March 6, 2014

BETA 13: No Crashes (we hope)

Solitaire Till Dawn BETA 13 is now available from our Beta Program page.

Important: Some of b12's problems can persist in a saved game. We recommend starting a new game the first time you open b13, instead of trying to play the saved game from b12. Otherwise you may still see crashing or incorrect behavior, even when using b13.

What's New
As you all must know by now, the previous release b12 had serious crashing bugs that affected nearly all users. We believe that b13 will be much more stable. In addition, we believe we have fixed the problem of inappropriately face down cards that many users saw on Lion.

Some of you have reported seeing the same shuffles over and over in b12. This is a side effect of the crashes: if Solitaire Till Dawn does not quit properly, it can't save any information about which shuffles you have already played. If it doesn't crash, you shouldn't see repeated games.

Finally, we have made some subtle adjustments to the pacing of the animations; we hope that this will make them more attractive, and even perhaps more informative by making it more obvious what happens when you deal in some games.

Update: Some of you have found that there are still cases where cards are incorrectly face down, and a few of you have experienced crashes. The face down cards seem to happen when rapidly undoing or redoing, either by repeatedly clicking the Undo or Redo buttons or by repeatedly using their keyboard shortcuts. It doesn't seem to happen if you just click Undo to Snapshot or Redo to Snapshot. The face down cards still work as if they were face up; and you can get them to show correctly by changing the card size (after which you can change it back to the size you were using before).

Update: Also, I have learned that you can cause a crash pretty easily if you click the "New Game" button before your current game is quite through moving cards around. To avoid this crash, always wait a second or so after all the cards have stopped moving before trying to start a new game.

We tested this release, a lot. So why am I so carefully saying "we believe we have fixed it" instead of just "we fixed it"?

Most of the crashes and face down cards in b12 were due to race conditions in concurrent code. We know that many of you won't know what that buzz phrase means; that's okay. The important thing is that this kind of problem does not always behave exactly the same way every time, nor on every machine, nor under every version of Mac OS X. It can also behave differently simply because one is trying to debug it (the dreaded heisenbug).

As you can imagine, this can make it very difficult to be certain that a problem is really fixed. So while we have done a lot of testing of different games on different Macs with different versions of OS X, all we can really say for sure is that we haven't seen b13 crash or seriously screw up the graphics yet. To be certain (of either success or failure), we need you guys on your hundreds of different Macs, playing hundreds of different games. If you see a problem, do as you've been doing: tell us about it! And if you haven't seen any problems after using b13 for a few days, tell us that too!

What Isn't New
This release still will not run successfully on Snow Leopard (Mac OS X 10.6.8). We intend to try to restore Snow Leopard compatibility in a later release, but for now it was important to fix the serious problems that everyone was seeing, regardless of which OS they use.

A word about bug reports
Recently we've been telling you not to send us any more crash reports for b12, because we already had more than we needed. But now that's over: for b13, we want every crash report you see, thanks!

I'd like to remind you all that when you send us a bug report, please include at least the following information:

  • The beta version you were using
  • The version of Mac OS X you were using
  • The game you were playing (Klondike Familiar, Free Cell, Canfield, or whatever)
  • A careful description of what happened and why you think it was wrong.
You cannot send file attachments using the Bug Report form. If you need to send us an attachment (such as a screen shot), you can send us a description of the problem and mention that you have additional files to send. We'll reply and tell you how to send them to us.

If you experience a crash, your Mac will display a crash report for you, and ask whether to send it to Apple. Here's what to do:

  • Don't send it to Apple. They can't do anything about it, and they will ignore it.
  • Do copy all the text from the window, paste it into out Bug Report form, and send it to us.

Tuesday, March 4, 2014

Beta 13 Progress

In my last post, I said that I wanted to delay releasing beta 13 until it felt really solid and stable: that is, I want it to really work again. It was working well before I rewrote all the animation code; I want to get back to that point.

And I'm close, now. I believe I've got all of b12's nasty crashing bugs fixed (although I'm still testing to try to be more certain). I have the big face-down-cards bug that Lion users have been seeing pretty much fixed, too. And I have been working hard on putting more polish on the animations, especially the timing so that everything will seem to move smoothly, neither too fast nor too slow.

Before I send a beta out to all of you, I usually try to test it myself. The last couple of betas didn't get much testing, for reasons I won't rehash, and the result is what you've seen: lots of serious bugs that I should have found and fixed before you ever saw them. For b13, I have time to be much more careful about my testing, and that is what I'm working on now.

But testing takes time. You are running systems that vary all the way from Snow Leopard to Mavericks: that covers four different major releases of the Mac OS. Solitaire Till Dawn behaves differently on every one of them. So multiply 100 games times 4 Mac OS versions times several plays per game, and you can get a sense of how much testing I have to do to even pretend that I'm being thorough.

I had hoped to get b13 out very soon, perhaps even this evening; it has been running very well on my Mountain Lion system that I use for development. I had hoped that it would run equally well on Lion and Mavericks, but I am testing first to make sure. And guess what: I've found bugs that show up in Lion but not in Mountain Lion or Mavericks, and I've found bugs that show up in Mavericks but not in Mountain Lion or Snow Leopard!

I found those bugs just a little while ago, today. I will spend tomorrow working on them and see what kind of progress I can make. They aren't killer bugs: mainly they are fairly rare occasions when cards show up face down instead of face up like they should. I know I said I had that one fixed, and I mostly have: the bug is now rare instead of common. But "rare" isn't good enough, of course. With a little luck I can get them fixed in just a day or two. If I can't, I will put out b13 anyway, since it is a huge improvement over b12; so either way you won't have to wait too long.

In the meantime, please don't send me any more bug reports about b12. I already know it's very buggy and crashy. I already have far more crash reports than I need or can use. Wait for the next beta, please, and then you can start sending me reports again. Right now they'd just be wasting your time and mine. Thanks!

A quick word about Snow Leopard (Mac OS X 10.6): beta 13, like beta 12, will have serious problems on Snow Leopard. I know about them, I intend to fix them, but not in this release. Maintaining compatibility with Snow Leopard is quite difficult, and most of you aren't using it. I need to get a stable release out for the majority, and I need to do it fairly quickly, so Snow Leopard will have to wait.