UPDATE 20/03/13: Scrivener is now back up for sale on the Mac App Store, and is once more running fine on 10.6.8. Thanks to all our Mac App Store users who have been very understanding about the issues we faced.
— ORIGINAL POST —
If you’re one of our Mac App Store users running OS X 10.6, you are probably wondering what on Earth has happened with the Scrivener 2.4 update. What you’ll find is, if you download Scrivener 2.4 from the Mac App Store, on OS X 10.6 you will be told that Scrivener is damaged and cannot be run. (Please note that this problem does not affect 10.7 or 10.8 users – Scrivener installs and runs fine on 10.7 and above. Nor does it affect the version available from our website.) I wanted to take a moment to (1) apologise profusely to our 10.6 App Store users, (2) provide a solution and (3) explain what has happened.
1. An Apology
I am genuinely sorry that any of our users should be facing this issue at all. Please rest assured that we have done everything in our power to ensure that this is addressed as soon as possible (please see below), and also know that we will never leave any of our users without a working version of Scrivener – you can get up and running again right now.
2. The Solution
To get up and running, please just download, install and run Scrivener from our own website:
Before doing so, you will need to move Scrivener from your /Applications folder to the Trash, upon which you may be prompted to enter your computer’s admin user-name and password. Please note that trashing Scrivener does not affect your work. Your work is saved separately, so this is entirely safe to do.
As long as you have run a version of Scrivener from the Mac App Store at least once on your machine, the version on our site should recognise you as a registered user. If you haven’t, or if it doesn’t for any reason, you will find yourself in trial mode when you run this version of Scrivener. This should still give you more than enough time before the fixed version of Scrivener, Scrivener 2.4.1, appears on the Mac App Store, as that should be available within the next couple of days (see below). If the trial has expired because you have used it before, please contact us on firstname.lastname@example.org.
There is more information on installing the version from our site if you are a Mac App Store user on our Knowledge Base here:
Please note, however, that the information there is more geared towards users who want to switch to the direct-sale version indefinitely. For users who just want to use it temporarily until the fix is available on the App Store, you can probably ignore most of the information there.
When Scrivener 2.4.1 does become available on the Mac App Store, just delete the direct-sale version from your /Applications folder by moving it to the Trash and emptying the Trash, then click on the “INSTALL” button that appears next to Scrivener in the “Purchases” tab of the Mac App Store.
If you have any problems getting up and running or switching between versions, please do not hesitate to contact us at email@example.com. I stress that we will absolutely ensure that paying customers are not left without a running version of Scrivener.
3. So What Happened?
How did our 10.6 Mac App Store users end up in this mess? Well, it is down to a very stupid coding error on my part – literally one missing letter in the code – which has been compounded by the way the Mac App Store works, which has meant that we have been unable to get a fix immediately out to our users as we would be able to do with our direct-sale version.
In case you’re interested, the stupid coding mistake was in the receipt validation code (the code that checks you have a valid Mac App Store receipt, as recommended by Apple). Apple introduced a function in 10.7 and above that tells apps where to find the receipt file on users’ systems; prior to that the path had to be hard-coded. You don’t have to be a coder to understand the mistake in the following logic, which is what ended up in 2.4:
if (we are running on 10.6) – Use the 10.7 method for getting the receipt path else – Use the hard-coded path that works on all systems
The stupid thing is that I was paranoid when I made this change and stared at the code repeatedly, and still didn’t see the obvious error. (It should have been “if !(we are running on 10.6)”, that exclamation mark reversing the meaning to “if we are not running on 10.6″ – that one missing character causing all the trouble.)
So, how did this not get picked up before it went live? Well, the trouble is that, as a developer, I have no way of testing the installation of the Mac App Store version across platforms. I can test the integrity of the installer package that I send to Apple (which I did), but not the full installation procedure. (If you are a developer and know this to be incorrect, please let me know. I can test the installer package on the 10.8 machine I create it with, but not on my 10.6 machine it seems.) And unfortunately, it seems that the Apple review process doesn’t test the installation procedure thoroughly, either, since this problem was not picked up by the App Review process. Thus Scrivener 2.4 went live with the problem.
The next question is, okay, so stupid mistakes happen, but why wasn’t it addressed quickly? As Johnny Macintosh, one of our US Mac App Store reviewers, understandably complained:
“I am surprised that LiteratureAndLatte released an Update that is unrunnable to the Mac App store and left it that way over the weekend.”
I assure you that it was not for want of trying, Johnny. The truth is, I fixed this issue and submitted version 2.4.1, which contains the fix, to Apple first thing on Friday morning, as soon as I became aware of the problem. As soon as I did so, I also contacted Apple asking for an expedited review, so that we could get the fix into the hands of our users as soon as possible. The trouble is that Apple’s review team does not work weekends, and it takes up to two business days for Apple to decide on whether to grant an expedited review or not. What this means is that, if a serious bug gets into a release that appears on the App Store on a Thursday or Friday, there is no way the fix can make its way to users until the following week.
Another reviewer on the Mac App Store, “super dudes”, from the Canadian store, makes another very good point that needs addressing:
“they better fix this soon, why is there not a way to downgrade if something doen’t work”
This is a very good question, and I wish I knew the answer – but this is a limitation of the Mac App Store, unfortunately, and entirely out of our hands. Once Apple approves an app for sale, any older versions of that app become inaccessible to the user, meaning that users have no way of rolling back to earlier versions. (For our direct-sale version, we provide links to every earlier version just in case there is ever a reason a user wants or needs to downgrade: http://www.literatureandlatte.com/scrivChangeList.php )
But older versions don’t only become inaccessible to the user – they become inaccessible to the developer, too. Once I became aware of the issue and uploaded the 2.4.1 fix, I then looked for a way to revert the on-sale version to 2.3.1 until 2.4.1 got through review, so that this issue could be eradicated in the meantime. However, it seems there is no way of doing this, and that the only way forward is to wait for Apple to approve the 2.4.1 update.
As for the status of the 2.4.1 update, Apple yesterday informed us that the expedited review process had been accepted, and 2.4.1 officially entered review. Unfortunately, it was rejected this morning for a reason that makes no sense (for not being sandboxed, even though it has been sandboxed since 2.3). I have disputed this, asked for more information, and re-submitted, so we are now in limbo waiting for Apple to get back to us on what is going on. I am really hoping that 2.4.1 will be with users either later today or tomorrow, but it is entirely in Apple’s hands.
All of this is made worse for everyone by the fact that there is no really obvious “Contact Support” button on the Mac App Store (even though they added such a button to the “Apps” section of iTunes recently) and many users seem to miss the “Scrivener Support” link, meaning that a lot of frustrated users don’t seem to realise that they have a way of contacting us and getting help from us, and so instead leave one-star reviews telling us they love the app but that it’s broken.
In short, the situation is just as frustrating for us as it is for you. The coding mistake is mine, and I take full responsibility for it, but because of the workings of the App Store, we were not able to get a fix into your hands immediately, despite having the fix ready within hours of the problem coming to light.
As I say, in the meantime you can use the version on our site and contact us if you run into any issues – we will absolutely ensure you get up and running somehow. And we hope that 2.4.1 will be with you very soon.
UPDATE: We have been left with no choice but to withdraw Scrivener from sale on the Mac App Store until this problem is resolved. We hope to have it available again soon. Please see my blog post explaining this decision here: