Monumental App Update Mess Up!

A few weeks back I received a request to add in the ability to select half days in the Retirement Countdown Clock app (http://blog.v-s-f.co.uk/2016/02/retirement-countdown-clock-app/) and I decided that this was a quick change that wouldn’t take too long, so why not 🙂

Well I made a complete mess up of the update… It started off as seeming like a simple update, but I’d just had a rather large problem on my laptop that killed the SSD, so had not much software installed on the new hard drive. After all the necessary apps were installed, I set about updating the app, adding in the ability to select the half days. It only took about 4 hours in total to make the code changes and test (most of which was updating the runtime target version). I packaged it, tested it on my laptop and old phone, both of which said they would install from fresh and then added a new submission to the store.

Job done 🙂 or so I thought…

Two days after the app was published to the store, I logged in and to my horror I’d received over 11,000 crash reports!!! O.M.G!

All the crash reports were for the new version (2.1.0.0) and all were in exactly the same line of code… I wondered well how come it worked on my laptop and phone then? And the key answer was that it installed the app from fresh and didn’t do an update. I dashed around the house to find anoher phone I hadn’t tested on and updated the app from the store. Lo and behold, it crashed as soon as you tried to open the app from the start screen 🙁

I had all the info I needed in the crash reports to find the particular dodgy line of code – wasn’t handling the previously stored int and converting correctly into a decimal. Less than two hours later, a new submission was sent for approval to the store, but it takes a minimum of a day to get a submission approved… In that time the crash reports topped 20,000.

I learnt a very valuable lesson – don’t rush a change through, even if it seems simple and make sure you test it as if you’ve done an upgrade as well as a fresh install!

Sorry to all those people that downloaded the dodgy update, hopefully you’ve updated to 2.1.1.0 and it’s now working again.