{"id":1486,"date":"2011-08-30T13:43:27","date_gmt":"2011-08-30T18:43:27","guid":{"rendered":"http:\/\/www.splasmata.com\/?p=1486"},"modified":"2011-09-06T08:57:36","modified_gmt":"2011-09-06T13:57:36","slug":"kudos-apple","status":"publish","type":"post","link":"https:\/\/www.splasmata.com\/?p=1486","title":{"rendered":"Kudos, Apple!"},"content":{"rendered":"<p>Several weeks ago Apple&#8217;s mighty new cat, <a href=\"http:\/\/www.apple.com\/macosx\/\" target=\"_blank\">OS X Lion<\/a>, gave millions of Mac users a good reason to finally get on the Mac App Store.\u00c2\u00a0 Add to that another &#8220;finally&#8221; &#8211; we had just released <a href=\"http:\/\/maccheckbook.com\">CheckBook<\/a> and <a href=\"http:\/\/quickenrefugees.com\">CheckBook Pro<\/a> on the Mac App Store, after we let their rejection in January push us to focus on a major future release instead of fixing the things Apple didn&#8217;t like.\u00c2\u00a0 With Lion came a few user interface glitches in CheckBook, so updates were in order.\u00c2\u00a0 We rolled out CheckBook and CheckBook Pro 2.2.1.<\/p>\n<p>&nbsp;<\/p>\n<p>Three negative reviews very quickly gave us a wake-up call.<\/p>\n<p>&nbsp;<\/p>\n<p>All three were the same complaint: \u00c2\u00a0after updating, our apps weren&#8217;t launching properly, stating they were &#8220;damaged&#8221; and should be reinstalled.\u00c2\u00a0 And all of the reviews expressed the same underlying fear:\u00c2\u00a0 our users were very, very concerned that reinstalling the app would cost them their data.\u00c2\u00a0 Curiously, none of them had asked us directly for help.<\/p>\n<p>&nbsp;<\/p>\n<p>On the subject of data loss, never fear.\u00c2\u00a0 Replacing the app really is as simple as it sounds &#8211; CheckBook and CheckBook Pro keep the user&#8217;s data in a separate location, never in the application itself, so drag the app to the Trash and reinstall away.\u00c2\u00a0 Totally understandable, though, that our users would be concerned.\u00c2\u00a0 Too bad the Mac App Store doesn&#8217;t provide a way to say as much directly &#8211; it&#8217;s impossible for developers to communicate with their users through the Mac App Store, in public or in private, come hell or high water, negative reviews or glowing praise.\u00c2\u00a0 So, the negative reviews took center stage, our users panicked, sales dropped.\u00c2\u00a0 Pretty exciting watching all that from the sidelines.<\/p>\n<p>&nbsp;<\/p>\n<p>Fortunately, developers have other channels for this sort of nightmare, just waiting to be discovered when a spare block of several hours presents itself.<\/p>\n<p>&nbsp;<\/p>\n<p>We started by buying our own applications (hey, 70% off!) so we could post reviews telling our users it&#8217;s OK, no need to panic, just replace the app and you&#8217;re set.\u00c2\u00a0 But that plan failed les mis\u00c3\u00a9rably &#8211; the reviews never made it through Apple&#8217;s careful moderation.\u00c2\u00a0 No reason given, they simply never appeared on the Mac App Store.\u00c2\u00a0 Foiled but not defeated, we put Plan B into effect &#8211; changing the description of each app into a temporary tech support statement.\u00c2\u00a0 The tide of negative reviews was stemmed, and one user even amended their review in our favor.\u00c2\u00a0 The other two did not.\u00c2\u00a0 Lucky for us, their reviews contained factual inaccuracies, something Apple, mercifully, won&#8217;t abide.\u00c2\u00a0 Both reviews were zorched.<\/p>\n<p>&nbsp;<\/p>\n<p>But the original problem was still there:\u00c2\u00a0 Something was going horribly wrong, preventing our updated apps from launching properly and scaring the bejeebs out of our users.\u00c2\u00a0 Several more reports came in from users who found our support link (at the right side of the product page on the Mac App Store &#8211; somewhere between blind spot and low contrast, as far as page placement goes).\u00c2\u00a0 We started gathering details.\u00c2\u00a0 Shockingly, the issue came down to two very important points:\u00c2\u00a0 These users were all on Lion, and (this is the shocker) their apps were missing their _MASReceipt folder, where the Mac App Store puts a receipt file so apps can double-check to be sure they&#8217;re all properly purchased and stuff.<\/p>\n<p>&nbsp;<\/p>\n<p>It didn&#8217;t figure that anything would actually zap the _MASReceipt folder, but seeing it was definitely missing we made sure it wasn&#8217;t our code, then took a trip to bugreport.apple.com.\u00c2\u00a0 It took some time but, eventually, we got a phone call from Jean-Pierre at Apple.\u00c2\u00a0 We went over all the details, all the possible issues we could think of, the works.\u00c2\u00a0 Jean-Pierre was at a loss.\u00c2\u00a0 No other developer had reported the issue, either.\u00c2\u00a0 Perplexed, we planned to try to capture more details from the next afflicted user and Jean-Pierre agreed to research with a couple of groups at Apple.<\/p>\n<p>&nbsp;<\/p>\n<p>Less than half an hour later Jean-Pierre was on the phone, giving us the good news:\u00c2\u00a0 It&#8217;s a bug in the way Lion handles delta updates from the Mac App Store.\u00c2\u00a0 The delta update is applied, a new receipt is installed.\u00c2\u00a0 That part works &#8211; really well, too, or Apple would know about it.\u00c2\u00a0 The problem is when it doesn&#8217;t.\u00c2\u00a0 In that case, a full update is installed and\u00e2\u20ac\u00a6the new receipt gets lost in there somewhere.\u00c2\u00a0 Already fixed, he said. \u00c2\u00a0Planned for a future update. \u00c2\u00a0Hallelujah and rejoicing on our end of the phone. \u00c2\u00a0I may have danced a jig, even.<\/p>\n<p>&nbsp;<\/p>\n<p>But why just us?\u00c2\u00a0 Were our apps the only ones with failing delta updates?\u00c2\u00a0 Maybe.\u00c2\u00a0 I had asked Jean-Pierre to search the Mac App Store reviews for the word &#8220;damaged&#8221; to see if anyone else had reported something similar.\u00c2\u00a0 I hope he follows through. \u00c2\u00a0It would be great for the affected developers to get word a fix is coming. \u00c2\u00a0Shooting an email to the affected users would just be good manners.\u00c2\u00a0 As for us\u00e2\u20ac\u00a6well, one idea we kicked around is that Apple&#8217;s system for automatically generating a delta update may not be aware of file resource forks, leading to a failed checksum after the update is applied.\u00c2\u00a0 CheckBook and CheckBook Pro have a ton of images and we could&#8217;ve tweaked a resource fork here or there to get rid of custom icons.\u00c2\u00a0 But really, who knows?\u00c2\u00a0 We&#8217;re just pleased as punch that Apple listened, found the issue and let us know a fix is in the works.\u00c2\u00a0 <strong>Kudos, Apple!<\/strong><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Several weeks ago Apple&#8217;s mighty new cat, OS X Lion, gave millions of Mac users a good reason to finally get on the Mac App Store.\u00c2\u00a0 Add to that another &#8220;finally&#8221; &#8211; we had just released CheckBook and CheckBook Pro &hellip; <a href=\"https:\/\/www.splasmata.com\/?p=1486\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1486","post","type-post","status-publish","format-standard","hentry","category-general"],"_links":{"self":[{"href":"https:\/\/www.splasmata.com\/index.php?rest_route=\/wp\/v2\/posts\/1486","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.splasmata.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.splasmata.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.splasmata.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.splasmata.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1486"}],"version-history":[{"count":10,"href":"https:\/\/www.splasmata.com\/index.php?rest_route=\/wp\/v2\/posts\/1486\/revisions"}],"predecessor-version":[{"id":1493,"href":"https:\/\/www.splasmata.com\/index.php?rest_route=\/wp\/v2\/posts\/1486\/revisions\/1493"}],"wp:attachment":[{"href":"https:\/\/www.splasmata.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1486"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.splasmata.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1486"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.splasmata.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1486"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}