I’ve read and heard many recognized authors share interesting insights about when and how they work. Some are more productive between 4 and 7 A.M, some others during the evening, etc.Famous writers use a computer while others prefer to write actual manuscripts (e.g., Amélie Nothomb). Some write with the doors closed, others prefer coffee shops. Some think for a long time before writing a single line. Others just put down whatever goes through their minds. Some want every sentence to be perfect and keep rewriting until “perfection” is reached while others prefer to write the whole book without looking back and just rewrite the whole damn thing afterwards (even multiple times!).
There are indeed techniques, tips and tricks for writing, much like for cooking, programming and other things in life. Also, there are recognized technical means to support your work. But in the end it doesn’t matter that much. Each and every writer has to discover his/her own path, preferences, tools, etc. Although, it never hurts to learn about what others are doing ;-)
Having recently published a programming book about TypeScript (if you’re not interested by IT, then don’t bother clicking :p), I have of course gone through this myself and have forged my own opinion/habits.
I already wrote about this earlier, but I have some more things to share on the subject.
When / How I write
Personally, I am much more productive in the morning than in the afternoon. In the evening I’m barely able to pay bills, eat, watch Netflix and sleep (just kidding). Seriously though, I am clearly less and less inspired as the day unfolds.
Since I’m in a train again 4–6 times a week towards/back from Brussels, I’m using that time to work on my book. That gives me about 45 minutes each time to make some progress. Ideally, I’d like to dedicate 2–3 hours straight but it’s complicated at the moment.
Of course, writing only 3–4 hours a week is far from ideal, but I’m still able to make good progress.
I usually spend the first 5–10 minutes reviewing my last paragraphs to get back into the story where I’ve left it, then keep going.
Before diving into a new chapter, I also spend one or two sessions just to think about the main events that are going to move the story forward. That helps me to have a clear view of where I’m going next and to elaborate the text in the right direction. Briefly said, it seems that I’m not one of those authors who just let their creative mind speak freely and drive everything. I’m more of a planner.. ;-)
But I’m still learning, so things might change.. ^^
My weapons of choice
As an IT engineer, I’ve poured hundreds of hours of my life testing and toying with all sorts of programs, so I’m never scared to install stuff, click around and discover how things work. Even if you’re not IT minded, don’t be scared ;-)
After writing my first book, I thought that the purely technical aspects of writing were “behind me”, as I already had a well oiled system for organizing my content, reviewing it and storing it safely.
Still, now that I’ve started writing my very first novel (the first chapter is pretty much ready!), I’ve re-evaluated my choices as I’ve realized that this project is quite different from my previous one.
Before I explain the choices that I’ve made for my current project, I’ll tell you about what I’ve been using so far.
For my first book, I chose to write using AsciiDoc.
AsciiDoc is definitely a great choice for writing, given how powerful it is. Its syntax resembles Markdown, which I’m very used to. If you have already written Medium articles, then you’re in fact using a somewhat similar syntax. Check out the official documentation if you’re curious (you should be).
One cool thing about AsciiDoc is that you can put your content in different files (e.g., one per chapter or even per section) and assemble everything together. This is much better than having a 100K lines long file before your eyes.
AsciiDoc documents can also easily be converted into many popular file formats (e.g., PDF, epub, mobi, etc).
One big benefit of using a purely textual format like AsciiDoc is that it can be edited with anything (try that with a Word document!). More importantly, text files can easily be compared against one another, diffed and manipulated without headaches. Writing a whole book using Word must be incredibly painful in comparison.
With solutions like AsciiDoc you never have to fix formatting issues because you copy/pasted some invisible styles that mess up everything. If you’ve spent enough time with Word, you’ll know what I mean!
Visual Studio Code
To edit my AsciiDoc files, I’ve been using Visual Studio Code (VS Code).
I wrote a few articles about VS Code already:
I’ve also published a set of extension packs (aimed at software developers).
VS Code is easy to use, lightweight, lightning fast and really pleasing to use. Power users (like software developers) can also automate tons of things (like code formatting and other fun things you probably don’t care about).
Small tip: there’s a Zen mode which you can use to avoid distractions; perfect for writing!
Another tool that I cannot live without is Git, a hugely popular source control management system. With Git, you can keep track of all the versions of your files. For instance if you delete a file, paragraph or whatever by mistake, you can restore everything to the previous state easily.
Git is mostly used by software developers to manage their source code, but source code is pure text, so Git works perfectly for books and non IT people :)
I have the advantage that I’m a software developer, so I already know how to use it to support my writing projects, but don’t despair. Git isn’t that hard to learn if you stick with the basics. If you understand how to create a repository, how to clone one, how to add/commit and push files, then you’re good to go. There are tons of resources online to learn about it. Don’t be afraid!
There are also multiple visual tools like GitKraken, Git tower and SourceTree, that make Git much simpler to use if you’re scared by command line interfaces.
IMHO, source control is really a must for any serious writing endeavor. You absolutely need a way to version your content. Do spend some time learning about this, you won’t regret it.
TIP: You can create free private Git repositories (aka projects) on Gitlab and Github. Note that Git and Gitlab/Github are not the same thing. Git is a version control system (i.e., the underlying tool) while Gitlab and Github are git repository hosting platforms (i.e., they host git repositories for you and put a nice Web user interface in front of it).
If you use a git hosting platform, then you’ll also be able to “save” your work in the cloud (for free). This is great because it means that even if your computer dies (s*** happens), most of your work (everything that you’ve pushed so far) will be safe and sound. In addition, you’ll also be able to easily work from different computers.
Scrivener .. or not?
A few years back when I first fancied writing a book, I looked for programs that I could use. I’ve tried many of those, including yWriter, WriteMonkey, Manuskript and many others. Among those, WriteMonkey was my favorite for a while.
Then, I discovered Scrivener. At the time it was already super powerful, but the Windows version wasn’t all that great. Since then, Scrivener seems to have evolved a lot, even if the Windows version seems to remain below the original/main OSX version.
One great thing about Scrivener is that it gives you everything you need to support your writing process. It isn’t a simple text editor. With it, you can manage your entire project, from the inception phase where you think about your characters, the plot, the timeline, etc. You can create character sheets, collect research output (e.g., about the places you plan on writing about), etc.
Scrivener allows you to structure your content however you please. Want a single giant file? Sure, go ahead. Prefer splitting in parts/chapters/sections? Go ahead!
Scrivener also has a distraction-free mode, which is very pleasing to use and many many other features.
To me though, there are a few annoying issues with Scrivener:
- It isn’t free. Of course, thanks to that, its developers can live, so it’s not really an issue. Also, the price tag is really low compared to the value that it brings
- The Windows version is still not on par with the OSX one; bummer since I’m using Linux & Windows only
- A much bigger problem for me is the main file format used by Scrivener: RTF. That file format is really horrendous as it cannot be edited without a specific editor. Also, since it encodes special characters and text formatting with special syntax, it is really hard to compare different versions of the same file. Because of this, I’m losing most of the power of source control systems like Git
More recently, I gave a try to Bibisco which is also a great alternative, but unfortunately it also uses a peculiar project structure, problematic to combine with Git.
I would really love to see Scrivener, or Bibisco evolve to become more “source-control friendly”. We’ll see if that ever happens!
With all that said, even if I’m still using Scrivener at this point, I’m thinking seriously about going back to AsciiDoc as I really miss reviewing my changes through Git.
I think that I’m going to look for ways to use Scrivener for a subset of the project (e.g., character sheets, plot preparation, etc) and write the main book’s content using AsciiDoc…
Last but not least, my favorite tool is one that I’ve blogged about a while ago:
And I’m really not kidding, I need to have my typewriter sounds whenever I write blog articles or work on my manuscript! Don’t laugh at me! ;-)
That's it for today! ✨
Hello everyone! I'm Sébastien Dubois. I'm an author, founder, and CTO. I write books and articles about software development & IT, personal knowledge management, personal organization, and productivity. I also craft lovely digital products 🚀
If you've enjoyed this article and want to read more like this, then become a subscriber, check out my Obsidian Starter Kit, the PKM Library and my collection of books about software development 🔥.
You can follow me on Twitter 🐦
If you want to discuss, then don't hesitate to join the Personal Knowledge Management community or the Software Crafters community.