Scrivener is a writer's program for Mac OS X. It costs $35 US, and worth every penny. It's deliberately priced lower than most programs that aim for the same market, because it's intended to be affordable to those who don't (yet!) make money from their writing as well as those who do.
Since there's no way I could list all of its features here, and since that would be silly anyway, I'll just talk about what I particularly like about it, and how it works for me.
Eventually I settled on a system that served me well for many years, even though it had its flaws. I had a separate file for each chapter (fast loading) and I had a better chance at finding particulars if I remembered which chapter it was in. I could also have two different files in the story open at once if I needed to refer back to something that had happened earlier while writing in a new scene. I kept my notes all over the place, then eventually consolidated them into a wiki, which acted like an infinitely expandable, instantly cross-referenceable notebook. I worked up a script that would pull all my files together into a single document for easy printing, with formatted headers and everything.
I experimented with keeping scene synopses on index cards, and dropped the idea when they were perpetually getting out of sync with the actual scenes, and getting lost or forgotten half the time anyway.
My system was adequate - for me - but I always felt like there should be something better. I glanced at a few writer's apps, but rarely even got so far as downloading and testing them. Most seemed to be selling their own variation on writerly snake oil - use our structure, and the story will build itself! Idea generating! Plot generating! Character generating! Very much not my cup of tea.
Enter Scrivener.
In November of 2005 I first downloaded Scrivener. This was the first, roughest beta that made it out of Keith's hands, and I loved it instantly. In the year and a bit since that very first, "contact me by email if you want to help test it" release, it has only improved.
Scrivener is designed for you to split your draft into multiple small chunks (scrivenings). You can create structure with folders and nested documents in the binder, which looks a bit like a filesystem tree, or just have a big list of scrivenings. You can split your draft into as small of pieces as you want - right down to the paragraph if you're so inclined. Personally, I find one scrivening per scene and one scene per scrivening a good fit. I then group the scenes into folders, one folder for each chapter. This structure can actually have meaning if you want it to, which I'll get into later on.
Your story doesn't get completely fractured this way though. You can select a chapter folder, several arbitrary scrivenings, or the entire draft folder, and click "edit scrivenings" to temporarily roll them into one continuous document, with alternating background colours so you can tell where one scrivening ends and the next begins, and which you can edit at will. The scrivenings stay right where they are while you edit them in this longer document, so when you want to go back to just a single scrivening, all of your changes are there.
The ability to put several completely arbitrary scrivenings into a single continuous document temporarily is a feature that I've barely scratched the surface of and already I think it's tremendously cool. If you have multiple viewpoint characters, or multiple plot threads, you can select only the scenes from that one character's point of view, or from that one plot thread, and see how it flows in isolation from the rest of the story, see that it's consistent where it should be, and contrasts where it should.
Because the scrivenings are all treated as separate files, you can open two of them at once to refer back to previous work using the split screen functionality. I'm actually using that very feature as I write this, looking back at the scrivening that describes how I worked before scrivener to make sure I don't forget to address anything! You can also open the same scrivening in both splits and scroll them independently, for example to write new text at the bottom while checking something at the top of the scrivening. You can open "research" material - sound, image, movie, PDF, webarchive, or notes to yourself - in one split while writing in the other.
But that alone wouldn't be enough to make me rave the way I have been for the past year and more. Scrivener also has great outlining and editing features that make a project as large as a novel or a series into something manageable. You can create an empty scrivening and put it in its place in the binder, and fill out a synopsis card to indicate what scene will be there, when you get to writing it. Since I prefer to write straight through, I've found this tremendously helpful in making sure that I don't forget my great ideas for future scenes. Those ideas that aren't so great, well, that's what the trash can is for...
Those synopsis cards show up as index cards on a corkboard when you click on a folder or select multiple scrivenings in the binder. You can move them around on the corkboard with your mouse to re-order them, and the order changes in the binder to reflect that. You can have status stamps and label pins on the corkboard as well; "To Do" or "First Draft" or "Done" stamped diagonally across your synopsis lets you find what needs work at a glance, and label pins let you assign a colour label to each scene; the pins that hold the cards to the corkboard take on that colour. I mostly use the label pins for different story threads, so I can take a glance at my corkboard and know if one thread is dominating and another thread is being neglected, just by seeing how many pins of each colour there are. You can use the pins for anything you like though, or hide them entirely. Because the synopsis cards are tied directly to the scene, they never get lost and they're far less likely to get out of sync if you want to use them.
There are also inline annotations, where you can type comments to yourself right in the flow of text. They have a different background colour (whichever colour and as many colours as you like) so they stand out when you're scanning your text; they're searchable so you can jump to the next annotation to deal with whatever you put it there for; and they can be left out of an export so you have a nice clean draft for printing or sending off to an editor.
And speaking of exporting, here's where I go back to the concept of structure which you set up in the binder. If you want structure, it's there in the hierarchy of the binder and you can take advantage of it. The titles of the folders and scrivenings are the titles of your chapters and scenes if you choose to export them.
Scrivener also supports MultiMarkdown, a super simple markup system (similar in concept to the autoformat markup this site uses) that can export to documents that understand structure, like LaTeX and XHTML. This is what I use - a folder for each chapter and a scrivening for each scene means that on export MMD knows where to put different header levels. I have it set to print chapter numbers at the beginning of a chapter, and a hash mark between scenes.
There are a huge number of features that I haven't mentioned here, such as an elegant, distraction-free full screen mode, where it's just you and your text; the ability to add notes and keywords to each individual scrivening in addition to the synopsis card; an outliner for an alternate view of your synopsis and supporting information; and many, many more. The program comes with an interactive tutorial, a Scrivener format document itself, which walks you through the main features in about 45 minutes or so.
Scrivener is one of those programs that finally lets me work comfortably the way I want to. Just like when web browsers first added tabs - I had been using "open in new window" followed by "minimize" as a clumsy, primitive version of "open in new background tab." It fits my usage patterns. And even better, it fits the usage patterns of a lot of people who work differently than me, something you can see on the Scrivener "Usage Scenarios" forum.