Tuesday, 13 March 2012

BattleScribe Mobile 1.12.10b Released!

So, it turns out that the fix in the last version that prevented BattleScribe from crashing when returning to the app after doing something else, had... side effects. In some cases, particularly when using a certain Grey Knights catalogue, you would get a crash when trying to edit a unit you'd added to your roster. It was a weird error and there wasn't much information about it out there on the 'net. After some sleuthing however, I uncovered the problem. Settle down while I tell you a story...

Android apps need to store the data that you're currently working on when you leave the app, so when you come back the data can be restored and you can continue from where you left off. The original crash when returning to the app was caused because BattleScribe wasn't saving any data and therefore there wasn't anything to restore when you came back, resulting in a force close. So to fix this issue, I saved the roster, catalogue and game system data when you left the app, and restored it when you returned. Fair enough you might say.

The problem is, the BattleScribe data files can be rather large and complex (for a phone to handle anyway). The Grey Knights catalogue in question is one of the best put together and most complete catalogues out there. It's also the biggest I know of. It turns out that the Grey Knight data was in fact too big! So big in fact that the app would run out of space and crash when trying to save the data for later!

So unfortunately the solution to this (for the time being at least) is to remove this fix and no longer save data when you leave the app. It will go back to crashing if you return to it after some time away. I do have some ideas on how to fix this for good, but it will take some time and I wanted to fix this as quickly as I could. For now at least I think it is better to get people going again and make sure that all those Grey Knights players out there can create lists.

I hope this post isn't too techie, and explains a bit why this fix had to be removed. As the Tau would say, it's for the Greater Good.