From Alpha to Beta

Next week, I shall—at long last—be submitting Scrivener for iOS to Apple’s TestFlight beta-testing program. It has spent the past month in alpha-testing in-house (I am writing this blog post in Scrivener on my brand new iPad Pro 9.7”, in fact), and we’re now ready to open up testing to a slightly larger group. We’ve had a lot of users emailing us asking if they can beta-test, so in order to be entirely open, I thought I’d explain how we are going to approach the beta-testing process.

We’re going to run the beta in two rounds. For this first round of testing, we’re using a private group of testers on an invite-only basis. That sounds a bit clique-y, but actually there’s no favouritism or secrecy in how this group is selected: we’re always on the lookout for users on our forums, social media pages and through our tech support channels who seem particularly good at finding and reporting bugs (perhaps because they are very patient when tracking down a gnarly issue or because they are good at communicating problems—or maybe they’re just good at breaking things). We ask such users to help with early betas of our software when needed (I’m sure there are many, many users we have missed, though). These are our Guinea pigs, in other words, and we know that they won’t shout at us when their work blows up because of a typo with a semicolon on line 956 of the Dropbox syncing code.

After the initial round of beta-testing with the closed group, once we’re happy there are no obviously nasty data-loss or sync bugs that might cause issues for a larger group, we will throw the doors open, make the beta public, and ask for volunteers. We won’t be able to accept everyone, because there’s a limit to how many users we can add as beta-testers via Apple’s TestFlight program, but all of those of you who have been so enthusiastic about getting your hands on it will be able to put your name in the virtual hat. We’ll put up a form on our site where anyone can apply, and we’ll provide information about what you will need in order to be a beta-tester (which mainly just comes down to patience and being prepared to come across and report bugs). I’ll post information about that here, on the forums, and via our social media sites, when the time comes.

Full screen - not much to see here...
Full screen – not much to see here…

Alpha testing has been a fun process, by the way (apart from the awareness that every day in alpha is another day the software is late, of course!). If beta-testing is where you sand down all those rough edges and fix the broken parts, alpha-testing is where theory meets practice and you realise that as great as your sketches and notes for feature X looked, something about it feels awkward to use now that it’s there in front of you on your iPad.

For instance: Scrivener’s binder was originally a solely drill-down affair. Tap on the Draft folder, and a list of its subdocuments slide in; tap on “Chapter One” inside the Draft, and its subdocuments slide in. That seemed like a very iOS way of approaching it on paper, and a great way of viewing sections in isolation. In practice, however, it’s not so great when you want to get more of an overview of your manuscript, and it means a lot of drilling down and hitting “Back”. So, during the alpha, I added the ability to expand and collapse folders and groups just like on the Mac (but in an iOS way), providing the best of both worlds (because you can still drill down too).

Another “for instance”: To begin with, the inspector on iOS always appeared in a floating panel. But this meant you could never have it open directly alongside the editor or corkboard. So during alpha-testing, we came up with another solution for this, keeping things simple and “iOS-like”, but allowing for more flexibility.

Not only that: during the alpha period, Compile was massively improved, the import and export formats were expanded, corkboard images were added, and much, much more—other features we’ll start talking about soon. I don’t want to waffle on about all the great features while there’s not a release date, though, as that will just cause frustration (understandably). Right now, I’m excited that we are finally going into beta. Look out for the call for volunteers in a month or so, and we’ll start talking about the software, and posting screenshots, once the larger beta is in full swing and we’re close to release.

Oh, before I sign off, some answers to questions that come up a lot in the comments:

  • Scrivener for iOS will run on most iOS devices – the only requirement is that it can run iOS 9 and above.
  • It runs on iPhones as well as iPads (although certain features that require more space—such as the corkboard—are iPad-only).
  • It supports the multi-tasking features of the iPad Pro.
  • Scrivener for iOS will not support iCloud (at least for now) – syncing will be done via Dropbox. I’ll write a post explaining why soon. (You’ll be able to leave your desktop project open while you’re off using it on your mobile device, though.)

think that covers the most popular questions I got asked in the comments last time, but I’ll do my best to answer any other questions in the comments here.

Thanks again for everyone’s enthusiasm and support—the response to the last post was overwhelming in its positivity, and we all at Literature & Latte hugely appreciate it.

We Found That New iOS Developer, By The Way… (Me)

I know we’ve been quiet about the iOS version recently, and some users have been wondering if it’s still in development. After all the problems we’ve had with it, I took over development myself last year and rewrote it from the ground up. I had originally planned not to develop it myself so that I didn’t have to divide my time between the Mac and iOS versions, but in the event, coding our iOS version turned out to be a lot of fun, especially with the introduction of the iPad Pro. Adapting Scrivener for iOS felt like going back to the beginning and remembering why I built Scrivener in the first place.

I’ve now finished the rewrite and it’s in internal alpha-testing, which is going well – in fact, I was on holiday last week, and wrote exclusively using Scrivener on my iPad Pro. As soon as it’s in beta – which shouldn’t be too far away now (really, this time) – we’ll start bringing you more news. We’re incredibly proud of how it’s turned out, and I can’t wait to tell you more about it, and to get it into the hands of our users at last.

Thank you for your patience, your support, and your enthusiasm while Scrivener for iOS has been undergoing its long gestation.

— Keith (Scrivener designer, Mac and now iOS developer)

Do you train others in how to use Scrivener?

As Scrivener has become more widely adopted in many fields of writing, we have noticed the increasing emergence of training courses and other learning materials designed by third parties. Some of these are specific to particular fields or genres, while others are more general. None are officially endorsed by Literature and Latte.

Whilst we try to ensure that the interactive tutorial and user manual cover everything that users need to know about Scrivener, and to ensure that Scrivener can be picked up quickly and used progressively, Scrivener’s deep feature-set means that it can be used in many different ways. Third-party courses and books have been springing up to give pointers to users looking for a more personal guide (something we can’t provide at the price we charge for the software), and we are sometimes asked to recommend training courses to customers. In the longer term, we hope to look into the possibility of producing more training materials ourselves, and perhaps working with or endorsing some of the independent trainers and providing them with supplementary materials.

In the meantime, we thought that it might be helpful to add a page to our website, listing external courses (both local and online) which we believe may be of interest to users seeking a different learning approach to supplement the materials that we offer as part of Scrivener and through our various support mechanisms. We’re not sure at this stage how many independent trainers exist, so it may turn out that such a web page is neither necessary nor appropriate, and we can’t make any promises. Inclusion in the list will be entirely at our discretion, and it won’t imply any sort of endorsement by Literature and Latte — it will be intended just as a point of reference for our users.

If you offer training in how to use Scrivener, and if you would like to be added to this potential list on our website, please contact us via the email address: training AT literatureandlatte DOT com so that we can discuss your possible inclusion. We will not be vetting either the course itself or your delivery of it, but we will want to see your course’s content list so that we can understand what areas you cover, and we will review your website and social media to make sure that your portrayal of Scrivener is consistent with ours. We’d want to see how you advertise your training, and to see evidence that you have a body of satisfied users who are prepared to endorse your training course. We would also look at your pricing details, because we try to make Scrivener affordable and want our customers to receive good value for their money. Beyond that, we haven’t decided on the details yet.

So, if you train others in how to use Scrivener, please get in touch.

Keeping a Book List

Toward the end of last year, fed up with my failed attempts to keep track of books I’d read and books I wanted to read, I created a Scrivener project to manage my reading lists. It’s proven so successful, I thought I’d show it off.

Corkboard with image synopses

Clicking the index-card icon in the inspector “Synopsis” header switches to image mode, allowing you to drag cover images onto the cards.

I renamed the Draft folder “Library” and gave it a fitting custom icon via Documents > Change Icon. Each book title goes into this as a new document, so the book can have unique meta-data and a synopsis (or synopsis image). Notes about the book, anything from a few thoughts after reading to a full review, go into the document text.

Although I tend toward filing systems, I’ve kept my Library as a flat list rather than pigeonhole entries into folders. Instead, I use keywords to mark a book’s genre, which lets me tag it with multiple terms–a book might be “YA”, “steampunk”, and “mystery”, for example–and then use project search to filter my list.

In the Project > Meta-Data Settings, I’ve repurposed the Label and Status settings to show the book’s state–read, unread, or shelved–and my rating. I tint the icons in the binder with the label so each title’s read state is immediately visible. I colour the index cards with the label as well.

Label and synopsis in the inspector

Label is renamed “Status”, with its colour shown throughout Scrivener via the View > Use Label Color In submenu. The default Status is renamed “Rating” and uses 1-5 stars, added from Edit > Special Characters on the Mac and Edit > Character Map on Windows.

Most other form information I enter as custom meta-data. Since I use dates in multiple fields, for first read, reread, potential release date, and publication date, I prefix the date, year-first, with a letter so I can search for a particular field. For example, I can assemble a list of all new books read in 2015 by searching meta-data for “r2015” or list all books total for the year by searching for both “r2015” and “re2015” (rereads).

Custom meta-data

Searches I run frequently I save as collections, via the magnifying-glass menu in the project search bar. It’s quite gratifying to load my “read” list and see it growing over the year!

If you keep a reading list, what details do you record and how do you keep it organised?

About a Button

This is one of my favourite buttons in Scrivener:

It sits in the footer bar below the outliner and corkboard, and it has sat there for several years now. Maybe you use it all the time; maybe you’ve never noticed it; maybe you’ve clicked on it and wondered what it’s for. It’s called the “Selection Affects Other Editor” button, and that’s exactly what it does.

Here’s how it works:

  1. Split the editor so that you have two editor panes open.

  2. Load the corkboard or outliner in one of the editors (usually the top or left one if you work in a left-to-right language).

  3. Click on this button at the bottom of the corkboard or outliner so that the arrows turns blue.

Now, whenever you click on an index card in the corkboard, or on a row in the outliner, the document it represents gets opened in the other editor. Thus, you can use the corkboard or outliner to navigate instead of (or as well as) the binder.

In this way, Scrivener’s two editors can operate independently, or they can be linked so that one is used to navigate the other. It’s a feature I use all the time (I like being able to navigate from the outline, where I can see all my synopses), and it’s a feature that’s going to become even more useful in the future. It’s also a feature that, although it might at first appear trivial, had a deep influence on how we approached navigation in the iPad version. (But more on that soon.)

Customer Support closed for the festive break

If you have looked at our support web page this week, or read Keith’s message in the forum and the festive newsletter, you will have seen that our Customer Support is closed over the Christmas and New Year period.  Although we may get a chance to check emails occasionally during the holiday, we will do our best to reply to all e-mails as soon as possible after we get back in January.  If you have an urgent problem involving data loss, or a major issue that is time-critical, there is a link on our support page at http://www.literatureandlatte.com/support.php that will enable you to submit an urgent message.  We can’t promise a response in any particular timeframe, but we will try to prioritise genuinely urgent messages.

In the meantime, our Knowledge Base contains the answers to many of the questions that we are asked most frequently, and you can find this here: https://scrivener.tenderapp.com/help/kb.  Our user forum is also a very useful source of information, and you may find that the wonderful community of knowledgeable (and generous) users can help even if we are not around: http://www.literatureandlatte.com/forum.

If you do need to contact Customer Support, now seems as good a time as any to give an overview of how our support system works, so that you know what to expect when you send us an email, and how to make sure that your enquiry is answered as effectively as possible.

Where to send your message


To make sure that your message is seen promptly, please choose the most appropriate email address from those shown on our contacts page at http://www.literatureandlatte.com/contact.php. We have separate email addresses for Scrivener for Windows, Scrivener for Mac, Scapple, sales or purchasing, and general enquiries.

If you send your message to the wrong support address, don’t worry — we will move it so that the right people see it.  But please don’t send your message to more than one address, especially if you are doing so from multiple email accounts (which are hard for us to trace and link up on our system).  We will generally reply to only one of the duplicate messages anyway.  We are a very small team of people, and sorting out duplicates takes up valuable time that could be spent in helping customers.  And if you send duplicates, there is a risk that our support system may incorrectly identify your correspondence as spam.

Asking a new question


It’s best if you start a fresh email conversation for each new topic that you wish to discuss, especially if some time has elapsed since any previous contact.  It’s possible that the support person with whom you were communicating before might not be the most appropriate person to deal with your new enquiry, or that they might be out of the office.

How can you tell if we have received your message?


When you send us an email, you will know that it has been received, and is therefore in the queue for us to handle, because our support system will send you an automated message in reply.  As well as letting you know that your email has reached us, the confirmation email contains a link to your new ticket in our support system.  You will be sent an email reply from one of our support team in due course, but the web interface is an alternative which you may find useful, and it also allows you to log in to view any historic tickets that you may have.

If you do not receive this emailed auto-response, then check that you have “white-listed” the domains literatureandlatte.com and tenderapp.com in your email client, and that the message hasn’t been diverted to your spam folder, promotions folder or any other folder into which your email provider may sort messages without your specific intervention.  If the auto-response goes astray in your email system, then our actual response is likely to do the same.

Please remember that if you contact us for help or information, then it is up to you to ensure that your system is set up to receive our reply.  Disable any spam-avoidance system that might auto-respond by challenging us to prove that we are real people or demanding that we jump through hoops.  We are indeed real people, and we cannot spend time following up these requests.

How to avoid languishing in our spam folder 


If you have sent your message to several of our email addresses, or if your email address has been hijacked and sent us spam mail at some point, or if your message falls foul of the junk filter in some way, then there is a risk that our automated systems will interpret it as spam.  We do go through the spam folder manually to rescue wrongly-filed messages, but (as you can imagine) we get a lot of junk email, so it’s possible that we might not recognise every valid message that ends up there.  Our support system shows the initial two or three lines as a preview, with fifty such emails displayed per page.  Messages are therefore most likely to be rescued from the spam folder if they have an informative subject title, and if the opening lines of text seem relevant to a support enquiry or to a communication that is intended for us specifically.

How long does a response take?


In general, apart from the current arrangements for the Yuletide holiday, we try to respond to messages within (typically) 48 hours.  Please bear in mind that this is our target response time.  We may be quicker than this, or it may take us a little longer if the weekend intervenes, or if the nature of your enquiry means that we need to discuss it internally or seek more detailed technical advice before we get back to you.

How to recognise our responses


We use a web-based support system called Tender, and the email address that you will see in the “From” field will look a little unlikely, so don’t misinterpret it as spam! You will see the first name of the person replying, but the actual email address will start with “tender2+” followed by a long string of letters and digits.  This alarmingly complicated-looking email address links to the specific conversation stored in our support system, so that all relevant messages are kept together.

Helping towards a prompt reply


The best way of ensuring a prompt reply is to make sure that you have sent your email to the correct address, and that you have included all the information relevant to resolving your question or problem.  Please be as specific as possible in describing what is going wrong, because otherwise we will probably have no way of knowing what you mean, so our initial response to you will have to be a variant of “tell me more”.

If you haven’t heard back from us after receiving the automated response from our system, please don’t try to nudge a faster response by replying to your own message at a later date, unless you wish to add further information that will aid resolution.  If your message reached us, then doing this has the opposite effect to what you want to achieve, and will (unfortunately) delay a response further.  This is because support tickets are organised in our system according to the date and time of the most recent activity on the conversation.  If you add a reply, it places a later date stamp on your support ticket, which moves that ticket further back in the queue if we are trying to handle support tickets in chronological order of receipt.

Don’t forget your backups!


And finally, a note about backups, because we often find that people don’t know about Scrivener’s automatic backups, or that they forget about them in the panic arising from a syncing error or computer failure.  If you’re not sure about your current settings for these, I’d recommend checking them now, to make sure that they match your needs and the way in which you use the application.  You can find the settings in the Backup pane under Tools > Options… (on Windows) or Scrivener > Preferences… (on Mac).

If you have experienced data loss of some description, the very first thing you should do is copy your automatic backups to a safe location, in a separate working area of your disk, so that you can retrieve an older copy of your work if necessary.  You can read about restoring backups in section 7.8.4 of the user manual (available via Help > Scrivener Manual).  By default, Scrivener creates an automatic backup for you when you close your project, but only the most recent backups are retained.  Each time a new automatic backup is created, an old one is knocked off the list.  So if you carry on creating automatic backups of a damaged project, then you risk overwriting all of your good backups with bad ones.  Copying your backups to a safe and separate location before you try any other problem-solving measures will ensure that you have the best chance of retrieving your data.  And if your current project is damaged, you can tell Scrivener not to create any more automatic backups of it by using File > Back Up > Exclude From Automatic Backups.

Remember, as well, that you may have backups kept independently of Scrivener, for example via Time Machine in Mac OS X, or in the file versioning system in some versions of Microsoft Windows.  Creating backups that are stored externally (such as on an external disk or in cloud storage) is something that you will need to set up yourself, but it is worth doing, for your own peace of mind.


With best wishes for 2015


 

Novel-in-a-Day

For anyone hoping they’ll get their book finished by this time next year, the concept of writing an entire Novel-in-a-Day is enough to prompt a swift lie-down in a darkened room. But on October 25th this year, that’s exactly what a bunch of L&L staff and forum members did – one novel, one day. Finished. Complete.

Of course, it’s not as insane as I’ve made it sound. Or quite as heroic – though it is still one heck of an achievement. Created back in 2011 by L&L forum regular Pigfender – known better in the outside world as Rog, Novel-in-a-Day (NiaD) is a yearly challenge to writers to do exactly what it says in the title. Each participant takes charge of a chapter of a book, writes like a demon, then submits the results to Rog who puts the whole lot together (using Scrivener, of course!) to create possibly the world’s fastest-ever completed novel.

This furious writing extravaganza is open to everyone, whether you’ve been published before or not, and takes place every October – though if you’re new to NiaD and haven’t posted on the L&L forums much before, you’ll need to send in something such as a blog post to prove you’re serious and can write to the required standard.

All the ideas behind the chapters and novels are Rog’s own, which is rather awe-inspiring for someone like me who has been trying to come up with a half decent idea for years now, and without much success. But that’s the beauty of NiaD – being handed the freedom to write without the usual panic over whether the foundations you’re basing your book on are in fact made of jelly.

The basic process goes like this: just after midnight on NiaD day (that’s CST – Cornwall Standard Time, otherwise known as UK time), all participants are emailed a brief description of where their character should start – for example, this year, mine consisted of two East End thugs sitting at the wheel of their van – a brief description of what needs to be covered, and where the chapter should end – again, in my case this was back in the van, but with two intelligence officers tied up in the rear. This gave plenty of scope for anything to happen in between, as long as at some point it involved a kidnapping. You’re also sent a character sheet or sheets, possibly some location details, and there also may or may not be some information about what has happened beforehand, depending on the need for continuity and/ or Rog’s whims.

This is another great part of the process – the mystery. Until the final book is published, nobody knows what happens in the story outside their chapter, or where this fits into the narrative. I didn’t have any information about what had gone before, which convinced me I was writing the opening chapter. Actually, it turned out to be chapter 15. As long as you follow the brief, it doesn’t matter what you write – for the first time, this year there were enough participants to run two novels simultaneously, so I could compare my chapter to my counterpart Chanel Blake’s contribution to see where we’d taken things. Two identical briefs equalled two completely different chapters for two totally different novels.

You don’t have to be too much of a master of speed – each chapter needs to be a minimum of around 1,500 words long, and it’s the quality that counts rather than the quantity. This year, mine turned in at 2400 words, though past submissions have stretched to 5,000 words. How that author found the time to write all that in a day I’ll never know. Everything has to be in at 8pm to give Rog a chance to provide any continuity feedback and start compiling the books – but if you’re really pressed, then the absolute deadline is a minute to midnight (it’s a Novel-in-a-Day, remember).

All the sections are designed to be fun to write – so you won’t get stuck with a compulsory detailed description of the inside of a recycling plant (though if that’s your thing and it could conceivably fit the brief then feel free…). You can also amuse yourself, procrastinate hugely, or fish for ideas by hanging out on L&L’s NiaD forum with the rest of the usual reprobates.

In all, it’s a bit stressful but great fun. Personally, by taking the huge obstacle of actually finding a decent plot away, it actually gave me the chance to just sit down and write. I didn’t know where the story had been, but I knew where it was going, and who was taking it there – if you really are an adrenaline addict, it’s a great warm-up for NaNoWriMo, too.

If you are curious but aren’t sure if you have the nerve, Rog has put together a great Q&A, designed to counter all your arguments against taking part (or something along those lines):

http://literatureandlatte.com/forum/viewtopic.php?f=51&t=28574&start=0#p181923

There’s also a growing library of the previous years’ attempts available for browsing: http://literatureandlatte.com/forum/viewtopic.php?f=51&t=28582

And there might even be a t-shirt:

http://literatureandlatte.com/forum/viewtopic.php?f=51&t=29041&start=90#p187789

The forum post inviting writers to sign up usually goes live in August, and as we love the event and want everyone else to join in too, we’ll be making much more of a song and dance about it next year on our site, Facebook, Twitter and so forth, and expanding the number of books being written so that all those interested in joining in can find a place on a team. It’s also possible that we could run more than one story at the same time, provided there were enough people in the background to support this – though that would mean they’d have to step out of writing that year. Rog’s aim is to be able to accommodate entire writing groups or schools within a single novel, and to be able to produce non-English language versions of the books at some point. In short, the event has a lot of potential, and we’re all working hard to see where we can get it for 2015.

Anyway, if this has convinced you that you’d like to write a chapter next year, keep an eye out for more news around that time – and roll on next October. Here’s hoping to see some of you there…

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