So I’m thinking about writing a book. The possible topic list in my head has no bounds but there’s an 80% chance it will be very technical.
I know three things about myself that informed my next steps. First, when I write I’m OCD about my documentation of versions. Maybe it’s a side effect of all the “writer’s workshop” time in my K-12 gifted language arts classes that emphasized “process” and “showing your work”. Maybe when I turned in two 3-inch black binders for my sophomore high school writing portfolio the responses (WTH?/OMG) instantly formed a permanent habit. In any case, the idea of serious writing without version control doesn’t pass the smell test in AlisonLand(TM).
Second, writing is a craft and/or an art. I was taught from a very young age the importance of an artist having the best tools. (Do not ever cut fabric with paper scissors and vice versa. Scissors are craft dependent!) I have no hesitancy in investing in professional grade tools for my art. Hence, I spend 4x the average knitting needle price to buy the knitting needles I use.
Third, product comparisons and researching options is something I really enjoy. Honestly, it’s probably the most time consuming of my hobbies.
Hence, I sought out the best tools to do version controlled long-form writing that I may eventually want to sell in order to evaluate my options. I share that research with you below.
GitBook
free for public projects, $12/month to have private projects
GitBook is the most well-known and developed of the tools available in this software segment. They’ve already solved a lot of the problems, built the most requested features, have decent documentation, and it’s an extensible product through plug-ins. It’s also open-sourced on Github and isn’t reliant on a single individual (like PenFlip).
PenFlip
free for public projects, $8/month to have private projects
PenFlip is a single person startup that is based on the same premise as GitBook – version controlled book writing in Markdown that can be converted into PDF, ePUB, and other formats. It’s main pros are that collaborators suggest revisions that you have to approve. (Gitbook gives collaborators full read/write access without giving you approval authority.) If you can live without more advanced features and/or need to maintain editorial control without constantly checking a revision log, this is the option for you.
Leanpub
10% of the sale + $0.50 per sale
The focus of Leanpub is on being a full-service platform from the writing through the publishing and selling of the book. They have the most developed experience for seeing what other authors have done on the platform. They also built their monetization model around a per book sale fee so their investment in a way to find and buy books on their platform makes sense. It also has the nice side effect that they only get compensated if you a) finish writing and b) can sell what you wrote.
Sphinx
free (but requires coding knowledge)
Coming out of the Python documentation community Sphinx is not a general user-friendly option. However, if you’re comfortable with code it’s the option that probably allows you the most flexibility and control in making your finished product.
Softcover.io
??? (requires Ruby coding knowledge)
The biggest selling point for Softcover.io is that it lets you bundle screencasts with a book purchase.
In summary, while I really like the review and approve nature of Penflip’s collaboration implementation, there are other methods of getting feedback on writing. I am going to go with GitBook. The reality is I’m a snob when it comes to my artistic tools – I won’t apologize for that. Something about GitBook will bother me I’m sure, but overall it seems to deserve it’s reputation as the gold standard for version-controlled e-book writing.
Bonus
I wouldn’t be me without doing an AlisonExperiment(TM) to see how/if I could hack things together to get the best of both worlds. I tried making a project in Penflip and then importing it to GitBook. GitBook seems to have imported the (very simplistic, basic) content but keeps sending me emails about how the build is failing. 🙁
Bonus #2
Github for Mac has been updated since the Penflip documentation on how to get your Penflip project repo on your computer. The way to do it is to `git clone` it locally through the command line then add the existing local repo into Github for Mac.