Tuesday, May 30, 2006

A brief history of Scrivener: Part 3 (This isn't actually that brief, is it?)

I liked the idea of growing a tale so much that I was going to call my software BookTree, if I ever wrote it. BookTree also referred to the idea that you would use a tree view to organise your ideas - a "tree view" in Windows is what is known as an "outline view" in OS X. I got the idea for BookTree from a piece of PC software called NewNovelist. I looked at the screenshots and ordered it in the hope that it would be a decent organisational tool for my writing. Incidentally, I know a lot of people say that writing software is pointless - why can't you just use a cork-board, some index cards and a notebook like everybody else? I've tried, believe me I've tried. But my desk gets snowed under, I can't find anything, I end up rewriting index cards and synopses and spilling coffee and going mad and... Well, you get the idea. And is anybody saying that a real writer doesn't need a word processor? No. No sane person, at least. Good software just virtualises a real-world process, it doesn't try to force you into working in a way that you wouldn't were you using real-world methods... Which brings me neatly back to NewNovelist. NewNovelist was a great disappointment. It was completely rigid. The outline list on the left of the text view could not be changed - it had twelve items and that was that. And each of these twelve items corresponded to Christopher Vogler's twelve-step interpretation of Joseph Campbell's Hero's Journey. Groan. Enough already. I don't want to follow some pre-set plot, thank you very much.

But the more I looked at NewNovelist, the more I thought, "Now that would be great - what a missed opportunity. All you need is a completely free outline view on the left which controls which text you see on the right... How hard can it be?" So I started a search for software that could do what I wanted. And whilst I said in another post that writing organisational software is rife on the PC, most of it is clunky and not much fun to use. Most of it has been written in REALBasic or some other non-native, prototyping tool (sorry, I'm just not a big fan of REALBasic apps on any platform). And most of it really limited the structure you could use, too - some only allowed you to work in acts, chapters and scenes, and others limited the levels of hierarchy you could have in your outline.

Fine, I thought. I'll write my own. I had tinkered with C for a few years and had written a couple of very sub-par programs using the Windows API, so I thought I'd have a crack at it. It soon became apparent, though, that the only chance I had of creating this thing was if I learned C++ and MFC (if you have no idea what I'm talking about, don't worry - they're just what are used to create most Windows programs). So I bought a couple of books - and realised that I had better set aside the next five years of my life if I ever wanted to even start BookTree. Needless to say, I didn't. This thing was supposed to be a means to an end (The Novel), not the end in itself. So I tossed aside the design document I had enthusiastically cobbled together and returned to Word and desperately trying to remember where I had scattered all my files in Windows Explorer.

And then, for one reason and another, I bought a Mac. I found a few decent writing applications (Ulysses and Copywrite being the forerunners; since then I have also discovered Avenir and Jer's Novel Writer, both of which are wonderful), but none really did what I wanted. I soon discovered, though, that writing software for the Mac was relatively easy. It only took me two or three months to go through the required reading (Kochan and Hillegass) and then I was onto experimenting, trying to put together what was now going to be called Hemingway (after Hemingway's famous declaration that "all first drafts are shit"). I banged together a decent attempt at what I wanted, but it was a complete mess code-wise. So I tore it apart and put it back together again, and this time I called it Scrivener. I like the name "Scrivener". It tells you what it's for straight away, even though the use of the word as meaning a writer of any kind is a little old fashioned, as it is mostly used nowadays to mean a legal notary (or some such). I quite like that old-fashioned-ness, to tell you the truth. It fits with the self-effacing embarrassment that most writers have about what they do. "What do you do?" "Er, well, I'm a bit of a scrivener, I guess."

By October of 2005, I thought I had it cracked. I thought I was ready to release Scrivener 1.0 on the world and make my fortune (yeah, right). I figured I'd take my queue from the creator of Jerry's Novel Writer and drum up some interest by releasing a beta-version to the folks doing National Novel Writing Month in November. And then the fun really began.

People actually started to use it. And as they started to use it, they made suggestions. At first I was mortified; it felt as though they were telling me that my child would be perfect if only his ears were a little smaller. You mean it isn't perfect? But as I used it more and more, I saw that they were right: it was nowhere near perfect. For a start, it had four different modes - one for importing stuff, one for composing, one for outlining, one for storyboarding. It was like using four different programs that had been mashed together. A lot of people liked it and are still using the betas I released, but I saw that I could make it much better by integrating the modes. So I created a new interface based on a lot of other Tiger interfaces, and refactored and rewrote a lot of code. And then, after many months, I looked at what I had done, and I said... No, that isn't quite right, either. A lot of users were waiting for the next beta version, so to keep them happy (very important) whilst Scrivener went through its third cycle of development hell, I released the old beta as freeware and called it Scrivener Gold. (Beware folks: if you use Scrivener Gold, stable as it is, it is just that: an old beta version.) And now I'm in that third cycle of development hell... But I'm happy, this time. I took all the user suggestions and incorporated the ones that fit into my design philosophy. I sat down and worked out exactly how the outlining should work, based on user feedback and my own needs, and what I like in outlining programs. I got brave, and I threw out anything that had kitchen-sink-syndrome. I simplified. And then I wrote it all down in a design document and I said: that's it. No more features. Once everything in there is done, and it works, 1.0 is finished and it will be released. So now it's onto putting it all together again. I am giving myself a deadline of September. Wish me luck.

Monday, May 29, 2006

A brief history of Scrivener: Part 2

About ten years ago I read some book or other that collected together a number of essays on writing by female writers. One of the essays was by Hilary Mantel, and it was called "Growing a Tale" - I liked it so much that I photocopied it. This is how Hilary Mantel describes her process of putting together a story:

"When you begin the work on a book - mentally, before anything goes down on paper - you have a lot of ideas, I find, that you know are something to do with the book, which don't seem to relate to each other. You may find a location that seems of interest - or a name may pop into your head - or a phrase. It is important to capture these insights. I carry small notebooks, which I can easily tear pages from; or I carry 3 x 5 inch index cards. I try to put down every insight, every glimpse of what this book will be, even if it's only a word.

"When I have a few of these cards I pin them up on a cork notice-board in the room where I work. You do not know at this stage what is important - that will emerge. You do not know the order of events - but you don't need to know. Ideas build around these glimpses, these key phrases. Perhaps I write something else on one of my cards, just a few words; or perhaps the original idea begins to develop, and I am moved to write a paragraph or two. I pin that paragraph behind the card to which it relates.

"The little words breed - sometimes several hundred offspring. I keep them on the board, in any order, until one day I see a sequence, a logic, begin to emerge. Then I repin them, very approximately, very roughly, in the order in which I think the narrative will shape. A few weeks on, all these bits of paper - the original cards, and anything that has accumulated behind them - go into a ring-binder. With a ring-binder you can easily swap the papers around - you're still not committing yourself to an order of events. You can add pages, transpose pages. But now you can begin to see how much of your book you have written. Some incidents, behind their original card, will be fully described, and some characters will be complete with their biographies, snatches of dialogue, their appearance and their way of talking. Other parts of the book will not have 'written themselves' at all - they await focused attention. But you know - indeed, you can see - how much work you have to do.

"This method is soothing. Its virtue is that you never write yourself into a cul-de-sac; you have flexibility. Until you sit down to write your first draft sequentially, you have not committed yourself to linear narrative. I am amazed at how easily ideas fall into place, how they multiply, if you give them a chance, and if you don't close off their possibilities too early. This is really a method of growing a book, rather than writing one."

(Isn't that wonderful? If you can get hold of the book - I've just looked it up and it's called The Agony and the Ego - go buy it; it's full of other great stuff like that.)

That is what Scrivener does: it is the notebook, the index cards, the cork notice-board and the ring-binder. When you have your first draft, you export it to Word or Mellel or Nisus Writer or whatever and you hammer out the details, fine-tune and re-format. But until then, you're not committed. You can shuffle, outline, storyboard, annotate and rewrite all you want. If you are one of those writers who sit down at your word processor, type "Chapter One" and keep going in a linear fashion until the end, then you will have no use for Scrivener or any of the other writing packages out there - and I envy you. But me, I have to grow my writing. Very slowly. And my fingers aren't that green. It wilts occasionally. I'm not sure where else I can take this metaphor.

Sunday, May 28, 2006

A brief history of Scrivener: Part 1

You know what gets my goat? When people accuse Scrivener - which hasn't even reached version 1.0 yet - of being a rip-off of Ulysses. Let me get this straight: Ulysses is a wonderful application, but it is an original implementation and not an original idea. If you've been on a Mac for a while, you might remember a program called Z-Write. It had a list of documents on the left, and you clicked on one to select it and edit it in the text view on the right. It was around long before Ulysses, but it was nowhere near as sophisticated or beautiful. So in all fairness, if you are a long-time Mac user, you could be forgiven for thinking that Ulysses is the only software of its kind aimed specifically at writers. But I came to the Mac two years ago after being a long-time PC user, and the PC has been rife for some time with applications trying to do what Ulysses does so well: provide an organisational tool for writers. There is WriteWay Pro, WriteItNow!, NewNovelist, Liquid Story Binder and, by far the best in my opinion, RoughDraft, to name but a few. All of them have some form of list of contents next to a text view for editing a chapter or scene, and they all allow you to keep separate notes for each chunk of text. Sound familiar?

Oh, and you know what? You never hear anybody complain that Nisus Writer or Mellel are rip-offs of Microsoft Word.

But anyway. The thing about programs aimed at writers is that no one program is going to suit all writers, because all writers work in different ways. Had Ulysses or any of the other writing software programs out there suited the way I write, you can be sure that I would never have created Scrivener. What would be the point? It's not like I'm ever going to make much money out of Scrivener; my only motivation for creating it is that I want software that suits me (more on that later). When I first bought my old iBook, I scoured the net for OS X writing applications, hoping to find the killer app that had eluded me on the PC. When I came across Ulysses, I thought I'd found it. The interface for me came to represent what I was beginning to love about OS X: simplicity and cool. The killer for me was that Ulysses is plain text, though: no formatting whatsoever. Now, I like being a little experimental in the appearance of my text. I'm a Vonnegut fan, so I may well want to put sketches or pictures into my text. (For a really good example of a work that plays with formatting, incidentally, read The Only Good Thing Anyone Has Ever Done by Sandra Newman. It's all written in bullet points and lists, but it is tremendously moving.) I like the way Salinger adds emphasis to certain syllables of dialogue, so I often do the same, and I didn't want to have to look at text that looks like this while editing: "//Per//fect," he said, "That's //just// what we need." There was another killer for me, too: no hierarchical organisation in the list of documents. I wanted a bit more control in that area. And I know I'm not alone, because the Blue-Tec forums get about a dozen requests a week for italics and hierarchical folders. But Blue-Tec won't do it, and good for them. Good for them, because they have a very strong design philosophy and they're sticking to it. They have something that is beautiful and unique and a lot of users love it, and they shouldn't try to change it into something it's not for those of us who don't work like that. But those of us who don't work like that have to look elsewhere, and that is where Scrivener comes in.

Was Scrivener influenced by Ulysses? Most certainly. In particular, the full screen mode and the idea of being able to assign each document a label and status were lifted straight from Ulysses. There was no way I could make my perfect writing software without them. But did the whole idea for Scrivener come from Ulysses? Definitely not. The idea for Scrivener came to me back when I was using a PC. Back then it was going to be called BookTree and it was just a pipe dream; it wasn't until I discovered the ease of coding applications for OS X that it became a reality.