Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
novelWriter – open-source plain text editor designed for writing novels (github.com/vkbo)
177 points by dragonsh on June 9, 2021 | hide | past | favorite | 95 comments


If anyone is looking for a paid product, Scriviner has been amazing for my novel writing productivity. You can sync your smart phone version to your desktop version using Dropbox. It gives you Jira level power over how your organize your project and has really easy export functionality that turns your writing into all kinds of industry standard sizing and layouts.

I know it sounds like I'm affiliated based on that gushing review but I am not, just a really happy writer that finally found a good tool and wanted to share!


> It gives you Jira level power

I’d rethink this analogy for the HN crowd


I think it's pretty apt. Scrivener is a large, configurable application. The only real difference in the analogy is stock Scrivener is easier to navigate and nicer to use than stock JIRA.


I think they were saying that hn crowd tends to dislike jira


Well, it’s slow an unintuitive in many aspects but I don’t think anyone will deny that Jira is a powerful tool


Working on CPTR-045


At least it’s not COVID-19


I suspect you meant:

Loading CPTR-045

Loading CPTR-045

Loading CPTR-045

Loading CPTR-045


Can confirm: have used Scrivener more or less exclusively for books since 2008, in which time I've written and sold about 15 novels. Scriv is a bit gnarly and bloated these days -- feature creep is a thing! -- but it still makes refactoring complex compound documents with multiple narrative threads vastly easier than any mere word processor.

(Best analogy for developers: if Microsoft Word is a text editor, then Scrivener is an IDE. Project oriented, multiple sub-documents, tracks metadata relating to subdocument state, allows tagging and searching, and it's an editor on top.)


I know plenty of writers who are fond of Scrivener. My personal choice for a paid product (as I use a Mac) is Ulysses — going back and forth between the Mac & iOS versions is painless, and its bare-bones, grouped-file interface fits right with my workflow. Export options are plentiful, and it pairs well with Pandoc. Both are good.


Note for those interested:

* Ulysses is plain text markdown.

* Scrivener uses RTF. (There is markdown support but iirc it's on top of rich text, not in place of it.)

:)


Ulysses is "sorta Markdown". There are a bunch of fiddly proprietary differences from "real Markdown" that get in the way of things like being able to cleanly copy-paste material across, especially the second you touch images or other media (which are just magic placeholders in the Ulysses UI rather than properly handled Markdown text).


I tried using Ulysses with Leanpub and it wasn't compatible - it adds blank markdown here and there and breaks the Leanpub rendering process.

Couldn't get either Leanpub or Ulysses to fix it, and it was a known problem.

That said, Ulysses is a nice editor, as long as that behavior doesn't cause issues.


I've used Scrivener for a few years, too. Prior to Scrivener I used text files with lots of back end work. When the day came for me to switch I looked at both Ulysses and Scrivener. Today, in retrospect I am extremely happy that I chose Scrivener, since it has treated me so kindly!

Recently, Vellum was recommended to me. Vellum looks very good, and I will test it on my next work.


Out of interest what kind of file format does Scriviner use? Is it vaguely human readable or some kind of proprietary blob?


If I recall correctly a Scriviner file is actually a nested collection of rich text format (.rtf) files with a indexing file.


The Mac version is actually a package. (folder pretending to be a file; OS-level feature) The text files are RTF. It uses xml for some metadata. But the structure is a byzantine nest of folders with uuid (or hash, can’t remember) names.

It’s effectively proprietary but if you’re desperate, you can retrieve all of the individual files as they are standard formats.


Proprietary with exports to markdown, PDF, RTF, plain text, etc.


What are people using to write non-fiction (e.g technical books)?

Much of what Scriviner provides is also useful?


Scrivener explicitly targets non-fiction writers as well. There are template projects for essays, papers and proposals, with support for LaTeX as well as various citation styles (I recall at least APA and MLA). The notes and research sections of the project are even more useful for non-fiction writing in my opinion.

For programming books especially I recall Scrivener 3 added basic support for code blocks. No syntax highlighting, but if you export to HTML or LaTeX you can use a library or package for that.


Madcap Flare is pretty popular in the technical writer sphere.


I'm going to suggest that "novelWriter" find a new icon.


How did the author of the logo not notice this?


I haven't literally laughed out loud at an HN comment in ages.

Wow.


Giggled like a schoolboy, what an unfortunate design.


haha that has to be on purpose. If it's not... just wow


Haha


My open-source plain text editor, KeenWrite, is strikingly similar:

https://github.com/DaveJarvis/keenwrite/blob/master/docs/scr...

I've taken a slightly different approach for novel outlines. Rather than use the `@` syntax, KeenWrite includes support for pandoc's ::: div syntax, which is quite flexible. Here's a screenshot showing an exported PDF generated from a Markdown document:

https://i.ibb.co/gTytTs1/novel-outline.png

On the left, variables are shown. Those variables can be fed into R statements. In the screen shot, the R code performs date calculations so that the dates are guaranteed to be consistent and correct, which is useful to keep complex timelines straight.


That looks like a really nice tool. I really like the "bunch of markdown/reStructuredText/Org-mode files" approach both KeenWrite and NovelWriter use.

Are you using the variables just for outlines or also for the novels themselves? It seems like it would be more complex to do in the middle of a scene or line of dialogue because there's multiple ways to refer to things. It's an interesting problem to think about, though.


The variables are for use in the novels themselves. Mostly for aspects that won't change often: names, places, invented nouns, nick-names, character tics, vehicle velocities, dates (relative or otherwise), and so on. One of my favourite uses of R and variables is this piece of dialogue:

> Plus, we'll be about `r#cms(round.up(travel.time( v$location$protagonist$latitude$value, v$location$protagonist$longitude$value, v$location$proximal$latitude$value, v$location$proximal$longitude$value, v$location$proximal$travel$speed$value )))` minutes to the `r#x( v$location$proximal$name$short )` by `r#x( v$location$proximal$travel$mode )`

The preview panel shows:

> Plus, we'll be about thirty-five minutes to the redwoods by maglev.

This allows me to change the locations' latitude and longitude and not have to remember where that particular blurb was written: the travel time will be recomputed and the resulting number rewritten according to the Chicago Manual of Style (cms) rules. (What's more, the travel time is first computed by a REST call to a map API to get the distance by vehicle; failing that, it performs a Haversine distance calculation.)


Although I'm happy to stick with vim, so I'm not in the target audience, I do appreciate these additions to markdown: 1. `%` for comments 2. `synopsis:` for helping with indexing etc 3. `@` for a keyword-value system

Regarding the last, it seems a shame that this collides with a scheme commonly used for bibliographic references, but I guess the idea is that a novel won't have such things.


I don't know if the developer will see this, but I don't feel like it's worth making a bug; I almost always prefer screenshots to be near the top of a readme like this. I could glean most of the selling points from a glance at the screenshots, and especially for an interface for creative outlet I need to see the UI anyways.

"A picture is worth a thousand words"


As a fan of personal knowledge bases, siloing my novel(s) in a separate app from the rest of my writing would bother me.

In fact my data is already split between Semantic Synchrony[1] and org-roam[2], and it's a bummer.

[1] https://github.com/synchrony/smsn/

[2] https://github.com/org-roam/org-roam


I’m the opposite. I prefer to separate domains of activities and often use separate tools for that.

My work notes are in OneNote. My personal notes are in Apple Notes. Long form writing is in Scrivener.

This helps me separate mind space as well as reduces the overhead of managing files and data within a domain.


Many writers, likely the majority, feel the opposite. The prevalence and popularity of "distraction-free" writing software suggests that having projects siloed away from each other is a popular feature.

That said, if you're regularly accumulating notes in roam, and then wanting to reference those notes while writing in novelWriter (say), then yeah, being able to import those notes would be good.


it's amazing what people will do to avoid using emacs


it's amazing what people will do to avoid writing a novel


it's amazing what people will do to avoid reading a novel


The crucial ideas in a piece of fiction, I find I generally can absorb much faster in some other format. It's true that the flavor of the world and the human interactions is lost. But I have an actual world to provide those.

I can see the argument that my experience of human interactions is a biased and incomplete sample. That's clearly true. But they are the relevant ones to my experience.

And I'm always disappointed at the bias in the human interactions portrayed by novels. They are almost invariably driven by unrealistically evil people, and the stakes are typically too high to bear any relevance to most of human life. Most conflict is between people none of whom can be well characterized as evil. There is substantial variation in peoples' values, and in the information they have, and those are the important drivers of what people do.

Damn, I should write a novel.


This comment reads as someone who doesn’t read much fiction. Your misconception is that fiction is merely a capsule for the delivery of ideas rather than being a multifaceted work. It is like someone who proclaims that cuisine is not the best delivery of nutrients, that it’s much easier to blend ingredients, and then, impressed with his assessment, proclaims that he should make his own smoothie.


The "should write a novel" bit was a joke.

To your broader point, it depends what you want out of the novel. If you want world-building and dialog -- as I pointed out -- you won't get those from the Cliff notes.

I think that's fine, as I don't want them. Or rather, I don't want them as much as I want other things I can spend my time on.

And you're right, I don't read much fiction. The only piece I remember reading all year was The Short Happy Life of Francis Macomber, a short story by Hemmingway. It was fine.


This is funny, thank you.

Reminds me of my father, who claims there's no better wine than Carlo Rossi, and no good movie since Dr Zhivago.


> And I'm always disappointed at the bias in the human interactions portrayed by novels. They are almost invariably driven by unrealistically evil people, and the stakes are typically too high to bear any relevance to most of human life. Most conflict is between people none of whom can be well characterized as evil. There is substantial variation in peoples' values, and in the information they have, and those are the important drivers of what people do.

This very much depends on both the author and the genre of fiction. Not every fiction novel even has a notion of "evil" (or outright evil, there may be characters who are "bad" in some sense or the antagonist, but not outright evil in their nature or quality in an over-the-top fashion). From your description of fiction it sounds largely like the fantasy genre in particular which is very often written as good vs evil kind of stories (though not universally, just very common). Other genres or other writers within that genre are often more interesting.


You're right, evil is not a universal plot driver. But at least one of exceptional evil or exceptionally high stakes drive the majority of fantasy, sci-fi, crime, horror, and political novels.

And not without reason -- if you want drama, they give you that. But I don't think they often do much to usefully inform a person about anything.


> They are almost invariably driven by unrealistically evil people, and the stakes are typically too high to bear any relevance to most of human life.

Usually authors try to make high stakes feel relevant by making you feel close to the characters or by connecting the high stakes situation to universal themes, although not always successfully. More interestingly, many good novels make relevant and fairly ordinary stakes feel like high stakes. Kurt Vonnegut's short stories[0] and The Bell Jar are great examples.

I don't want to pile on or try to convince you that novels are actually for you (sounds like they aren't), but I think this is an interesting distinction to make about "high stakes."

[0] Presumably his novels too, but I haven't read them yet.


Often you must lie in order to tell the truth.

After all, language is a poor simulacrum of life, but, then, we use it else "Whereof one cannot speak, thereof one must be silent" and forced to use shadow puppets deep in Plato's cave.


You seem to be entirely overlooking the existence of books that have very limited stakes and don't even feature "bad guys" in the first place, like Andy Weir's The Martian.


Fighting to survive alone on an alien planet seems pretty high stakes to me.

But you're right, there do exist such books. I said "almost entirely". I admit I'm limited to the sample I've experienced personally but it's over 90%.

Also I admit it omits children's lit and romance novels, which are two huge omissions.


If the survival of a single person is "high stakes" in fiction, then what do you even consider "low stakes"?

> I admit I'm limited to the sample I've experienced personally but it's over 90%.

You need to read a wider selection of books, then. Try, say, The Great Gatsby, Pride and Prejudice, Of Mice and Men, Frankenstein, Jane Eyre, A Christmas Carol, The Grapes of Wrath, The Time Machine, Dune, The Hitchhiker's Guide to the Galaxy, the Foundation series, anything by Ray Bradbury... there's a very long list of books that are not driven by simplistic good vs. evil conflicts.


I think it's amazing people read novels. Even if I had infinite time I'm not sure I would.

Not that I'm against them! A great novel is a beautiful thing, and I'm glad someone is out there to enjoy them.


Audiobooks are a good middle ground if the voice actor matches your perception of the narrator.


I'm a voracious consumer of podcasts and the audio edition of the Economist. Alas, it leaves me no time for fiction.


I might. But for now, I found that I prefer to read biographies. They just seems to give me more joy.


Great point. I love biography. The myriad details that don't matter at all to me if someone made them up are absolutely fascinating when they're (more likely) real.


This is a strange way to say "stubbornly use an editor that is inferior to vim". :P


Maybe he uses Evil-Mode


I do : )


Genuine question: as a long time Emacs user, and someone with 0 hours writing novels, I feel I would already have a general idea of how to set up Emacs org-mode to be comfortable for novel writing.

How would you approach this task in vim? I use vim extensively, but only on remote servers and without configs or plugins. What plugins or settings would you use to set up vim for novel writing?


With org-mode and writeroom

I use these for my D&D campaigns and they're _amazing_

What's a roleplaying campaign but a collaborative novel with a few too many dice?


That should tell you something about the general usability and friendliness of emacs.


general usability? emacs is as usable as you make it.

friendliness? emacs doesn't need friends, it needs power users.


> general usability? emacs is as usable as you make it.

Lol, I have to remember this line... "yeah, this house has no bathroom, but you can build one yourself that it's as good as it gets!"


It’s not a correct analogy though. In case of Emacs the house has a bathroom for you, a sauna for your whole family, separate bathrooms for your cat and your dog and at least one bathroom for an extraterrestrial entity that breathes helium. And yeah, in case you’re not satisfied with that amount of bathrooms you can build up your own after some training.


Long time emacs user. I have been enjoying vscodium with some Emacs and markdown plugins for almost all writing and note taking. Been using PyCharm for Python dev. Just felt I didn’t have time to fiddle with my lisp code and Emacs setup the last few years. I still hop in for org mode once in a while, otherwise, I have moved on. VS code is kind of this generations Emacs. I think it does most things better for most people.


Vscode/vscodium may be nice for a lot of tasks, and probably preferable for many users overall, but I think there will always be a certain mindset of developer/writer/person who prefers the Emacs approach. When I tried Emacs after Vscode I was blown away by the ability to write my own customizations that can affect every level of how it operates (and I'm not part of a generation that learned Emacs by default).


I do agree, ultimately it comes down to a few factors: inclination and time being chief among them. Does tinkering in Emacs actually save me time or is it something I am doing because I like doing it. There is a non-trivial cost to living in the Emacs ecosystem.

That’s why I caveated things. I have used Emacs a long, long time and I still do, but I have simplified my setup and backed off of it for many editing chores.

I don’t think the utility is there for someone to spend the man hours customizing an editing environment for say Python dev when something like Pycharm exists, for example. Even vscode with a few extensions is very powerful and reaching IDE levels of capability.

Emacs and living in its lisp machine is amazing and Zen and something I leveraged when I enjoyed the whole process. These days I simply don’t have time :)


Even if you prefer markdown over org-mode, there's stuff like https://www.zettlr.com/ which works really well


Zotero integration would be a plus over orgmode too


There's emacs-zotero and zotxt you can use with org-mode. Add org-ref into the mix and it's all good.


Thanks


How an actual author (Vernor Vinge) uses Emacs:

https://i.imgur.com/G6HXGCw.png

(CW: Emacs^2)


This illustrates what I miss using WYSIWYG programs like MS Word or Google Docs: the ability to easily comment out lines without deleting them, or leave notes to oneself.


Tiny alternative:

Groff+Mom.

You can create profesional books with just a 486/Pentium.

https://www.schaffter.ca/mom/mom-01.html



I've been using vs code more and more for markdown editing. A couple of extensions help make that a decent experience. There are a few extensions that help with grammar and style as well that are really helping me to write better text.

Vale is a nice one (a bit of work to configure and figure out) for enforcing style rules. Ltex for spelling and grammar. Markdownlint for making sure the markdown is right. Proselint is another one. Some of these overlap in what they do of course.

I also configured vscode to turn soft wrapping on for markdown.


I once wrote in a comment in an Emacs Lisp todo list program that "Of all forms of time-wasting, writing time-management software is most sublime."

I would say that of all forms of procrastinating writing that novel, writing novel-writing software is most sublime. That, or maybe taking a "research trip" to Tibet or something.


Why is use Scrivener, is I need a tool where I can easily move sections and subsections around and give each a status/flag. There some other things in Scrivener that are nice, but this is core to me. Any other editor for writing books where I can easily see and move sections around is not for me.


Didn't you mean to say "where I _can't_ easily see and move things around"? or are you making a different point I'm not understanding, because it looks like you're negating yourself and I'm not sure what you mean.


Yes.


Moving sections around is doable in Microsoft Word too using Navigation Pane.


Highland 2 does this very nicely, and you can keep it all in .md



True.

One poor man's highland is putting together the requisite functions in VSCode or Atom. Neither currently has an add-on with the ability to move sections of .md, but if someone adds this, it would be a huge contribution to the writer community.


Is there a story behind that logo?


Probably a pretty dissatisfying one.


"Noveldown", as in "markdown for novels"? Just guessing here.


I don't suppose anyone knows of something like this, but for a thesis? I have trouble keeping clarity and pulling disparate sections together. Though there is a chance that this is procrastination talking....


Maybe Citavi? Used for keeping track of your citations and sources.


So, some feedback should a developer come here:

You absolutely need to offer controls to zoom the text. On a HD (retina, 4k, etc) display, the text is insufferably small.


Reading through the code base was a joy for me since I’m newer to Python. Very well written, documented and easy to follow.


What is it that a writer gets from this that they don’t get from Google docs?

Genuine question.


Have you ever written anything longer than about a couple dozen pages in Google Docs? Its performance is straight-up atrocious.

Granted, the Docs team recently started rolling out a new canvas-based version of the app that should be faster and more efficient, but honestly I'm not really holding my breath.


Yeah I have experienced the crankiness - just wondered if there are other things too?


If you're speaking of writing a novel, that alone is a complete dealbreaker all by itself.

By ~40 pages in, it already takes multiple seconds for letters to appear when you type them. I don't even want to imagine writing a 300+ page book in there.


Great idea




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: