Scrivener Temporarily Withdrawn from MAS – UPDATE: Scrivener is available again

UPDATE 20/03/13: Scrivener is now back up for sale on the Mac App Store, and runs 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 —

Scrivener has been temporarily removed from sale on the Mac App Store. We are very sorry for any inconvenience this will cause to our Mac App Store users, but unfortunately we have been left with little choice other than to take this measure. I’d like to stress that this is only a temporary measure and we hope that Scrivener will be available on the Mac App Store again within the next few days. (Note: As I write this, you may still see Scrivener available – we’ve pulled it, but it will take up to 24 hours before it disappears from all stores.)

The reason we have taken this action is that the current version available in the Mac App Store, Scrivener 2.4, will not install or run on OS X 10.6 and Apple will not allow us to release a bug-fix for this problem in a timely manner. This 10.6 problem is due to a bug in the receipt validation code that crept into this release – please see a full explanation in my blog post of two days ago:

http://www.literatureandlatte.com/blog/?p=340

2.4 was released on the App Store last Thursday night, after a week in the review queue. On Friday morning, as soon as I found out about the bug in 10.6’s receipt validation code, I submitted a bug fix, Scrivener 2.4.1, to Apple, and I asked for an expedited review. With this all in place, we had hoped that Scrivener 2.4.1 would be available to our Mac App Store users by Tuesday at the very latest, so that our 10.6 MAS users were not inconvenienced for more than a few days at the most. (There is no way to upload an immediate bug-fix to the Mac App Store – every update has to go through the review process, and even when an expedited review is granted, it can still take a while.)

Unfortunately, this has not been the case. It is nearly a week now since 2.4 became available, and we still do not know when 2.4.1 will pass review and be made available on the store. 2.4.1 was rejected on Monday night for a reason that didn’t make sense (the reviewer said it wasn’t sandboxed when it was). We followed this up and resubmitted, but were then told that the reviewers needed more time. Yesterday, I was informed that they want us to make some changes to Scrivener 2.4.1 before it can pass review. I was also informed that Scrivener 2.4, 2.3.1 and 2.3 should really have not passed review either, given the things they want us to change. (Please note that the things we have been asked to change are not bugs, but features Apple interpret as not meeting their App Store review requirements.) I asked if we could roll back to making an earlier version of Scrivener available on the store while we address these issues, but the only way to do that, apparently, is to resubmit the older version, but because the older versions have the same “issues”, then doing so wouldn’t help as the reviewers would reject the older version that had previously passed review anyway. In other words, we currently have no way to get a bug-fix to our 10.6 MAS users other than to keep going back and forth with Apple until they pass 2.4.1 for release. Nor is there any way to prevent 2.4 from being available to 10.6 users.

We can therefore not in good conscience continue to sell Scrivener on the Mac App Store knowing that any 10.6 users who buy it will not be able to use it.

As soon as 2.4.1, which fixes the problem, passes review, we will immediately make Scrivener available on the Mac App Store again. We very much hope that this will be in the next few days.

Again, I’d like to say sorry to any of our Mac App Store users that this will inconvenience. We will not leave you without a working version of Scrivener, though. If you are a Mac App Store user and this temporary removal of Scrivener from the store leaves you without a working version of Scrivener, please contact us. If you are on OS X 10.6 and bought Scrivener in the past week so that it will not run on your system, again, please contact us – we will get you up and running. Email us at mac.support@literatureandlatte.com with these issues. Thank you for patience and understanding in this matter.

(Incidentally, because of some of the changes we are being required to make, we cannot guarantee that Scrivener on the Mac App Store will have as good support for .docx, .doc and .odt formats in 2.4.1 and future releases. This does not affect the version on our site.)

Scrivener on Mac App Store Running on 10.6 – UPDATE: Scrivener runs fine on 10.6.8 on the MAS again

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:

http://www.literatureandlatte.com/scrivener.php

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 mac.support@literatureandlatte.com.

There is more information on installing the version from our site if you are a Mac App Store user on our Knowledge Base here:

https://scrivener.tenderapp.com/help/kb/purchasing-and-installation/installing-the-direct-sale-version-as-a-mac-app-store-customer

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 mac.support@literatureandlatte.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:

http://www.literatureandlatte.com/blog/?p=348