I write fiction as a hobby, both original and fan, and I’ve been struck by a distinct lack of good tooling around the process. Specifically, the lack of tooling around the process that I want. So this post is going to be about that problem in general, and in the next few posts I’ll go over what I’ve tried and what I’m now trying to create.
First off, I have no interest in “publishing” features. Formatting-wise, I need next to nothing during the writing phase. In fact, I actively need to have the tool provide next to nothing, and get the hell out of my way. Any formatting system needs to take no action unless explicitly invoked.
It’s easy to see why I’m using Hugo to make this site. I write everything in a plain text editor (usually vim or Kate/KWrite). Markdown has a huge appeal to me, and despite its flaws I do make extensive use of it.
Secondly, I have a fairly varied computer setup. My main desktop is a Linux box that dual-boots into Windows for when I want to play certain games. My secondary machine is an Arm-based Chromebook, which is honestly my preferred machine for writing on as the keyboard is decent and I can move around with it. Occasionally I’d like to use my 4.7” Android cell phone when nothing else is available or convenient (think waiting in a line).
The third requirement is perhaps the hardest. I don’t have a particularly reliable internet connection, especially when using the more mobile devices (I simply cannot justify the cost of data plans). Any tool I use needs to be able to survive bad or intermittent connectivity gracefully with no danger of data loss. This also has interesting ramifications around the potential need for reconciling divergent copies of a piece of prose.
Those features are the necessary ones, the bits required to make the tool actually useful to me, instead of irritating or downright obstructionist. On top of those, there are a number of things I’d like to have:
- custom per-project dictionaries
- automatic (but controlled visibility) inline links, specifically for names and other project-specific terms
- seamless splitting and merging of files, so that the writing interface does not strictly reflect files on the filesystem
- linked and hover-able notes, both for terms and for meta snippets
- “distraction-free” mode, with nothing but the main writing stream visible
- tag-able history
- easy accessibility using external software and tools
I’m sure there’s more I’ve simply not thought of, but that’s the basics of what I need. Only the first three points are strictly necessary, but remarkably everything I’ve tried has failed on one or more of them (usually on all three).
Next time I’ll be talking about what I’ve tried, what features I’ve liked, what has worked, and systems I’ll be taking inspiration from. Additionally, I’ll most likely do a lot of complaining about stuff I didn’t like. Hopefully only a tolerable amount of that, though. See you then.