Tools for (budding) novelists

If you want to write a novel, script or short story, you could just fire up a word processor like LibreOffice Writer. In doing so, however, you can quickly lose sight of your characters, get bogged down by subplots, and finally deliver a boring, convoluted narrative.

This can be prevented by careful planning using a specialized authoring tool. Such tools first deconstruct your story into individual, standalone scenes. You can then list and sort them into correct order. That way, you always have an overview of the process and the overall story arc.

The whole process can be managed before actually penning your story. First, you set the scenes necessary for the action and only then write the necessary text second.

Who's Who

Longer stories in particular usually have several plot threads, which occasionally come together. Good authoring tools manage these threads separately. This way, you do not run the risk of forgetting about a subplot. The tools also manage all existing characters together with their biographies, so you can quickly check if Erica actually met Carl at the beginning of the story.

Some authoring tools also generate useful statistics that, among other things, flag overly long or short chapters. Thanks to built-in version management, you can always go back to a previous copy of your story at any time. You can also record any inspiring ideas on a virtual Post-it.

The most popular free authoring tools are currently bibisco, Manuskript, oStorybook, and Plume Creator. All four are available under the GNU GPL, but they differ greatly in terms of functionality and operation. See Table 1 for a summary of features.

Table 1

Author Tools Comparison

Program bibisco Manuskript oStorybook Plume Creator
URL [1] [2] [3] [5]
Version 1.5.0 0.3.0 5.00.02 0.66
License GPLv2 GPLv3 GPLv3 GPLv3
Dictionaries No No Yes Yes
Administrative Functions
Figures Yes1 Yes Yes No
Scenes Yes Yes Yes No
Items No No Yes Yes
Plot threads Yes Yes Yes No
Editor
Notepad Yes Yes Yes Yes
Adjustable font No No Yes Yes
Embedded images No No Yes No
Embedded hyperlinks No No Yes No
Full-screen mode No Yes No Yes
Advanced Features
Statistics Yes Yes Yes No
Text analysis Yes No No No
Version management Optional Automatic No No
Export to PDF, RTF, compressed archive HTML, ODF, Arborescense HTML, CSV, XML, SQL, plain text CSV, HTML, ODT, PDF, plain text
(1) No free description possible

bibisco

When Andrea Feccomandi wanted to start his first novel, he couldn't find any suitable software, so he quickly developed bibisco [1]. After downloading the Novel Writing Software , unpack it from the archive and start it by typing ./ bibisco in the directory it creates. When you create a new book project, you must set the text language. This can't be changed afterwards.

To create your story, work through the menu items from left to right along the top. Each of them reveal specific questions and tasks (Figure 1). For example, bibisco asks you what the main character looks like. By entering the appropriate answers, you will gradually go from a short summary to a detailed description of the story arc. The tasks and questions posed by bibisco can be marked as not yet completed, almost finished, or complete.

Figure 1: Bibisco takes you by the hand and provides valuable tips for most areas. There is even a list of writing books.

Bibisco asks you to describe the appearance of every character in your story, such as the hair color and even the shape of the nose (Figure 2). If necessary, add pictures to your profile. Sadly you cannot freely describe the character in a large text field. Bibisco distinguishes only between main and secondary characters. Relationships between the characters are recorded in your answers.

Figure 2: Bibisco hides the structure of the story, character bios, and plot development when writing a scene in the sidebar on the left.

Bibisco divides novels into chapters, which in turn consist of several scenes. The text input always takes place in a rudimentary text editor. To resize it, you must close it, then enlarge the main window, and reopen the editor. You can only select from three fonts and three font sizes, as well as bold, italic, underline, and crossed text. You can also insert bulleted or numbered lists. For new paragraphs, the editor automatically indents the first line slightly.

You can also align text left, right, center, or block. Symbols can be used to insert typographical quotes and dashes. The spellcheck is performed in the language you choose. At the bottom of the screen, the editor displays both a word and character count. The built-in version management saves different revisions of a scene on request. Images can't be inserted into the text, and you also have to note any ideas in a separate section of the program.

You can assign a predefined keyword to a scene. These include, among other things, all the locations and characters you previously created. Bibisco can only generate statistics after some text has been entered. The tool then reveals how often the individual figures appear in the respective chapters. However, you must interpret these statistics yourself. The completed work can be exported as PDF, in RTF format, or in a compressed archive. When you export as PDF, you'll get a second PDF with all the story data stored in bibisco itself.

Manuskript

Olivier Keshavjee, a Swiss programmer, is the author of Manuskript [2]. Although the program is still under development, many authors are already using it. However, Keshavjee recommends that you regularly backup your stories. Don't take this warning lightly: During testing, the program occasionally crashed and would not even open an incomplete project we'd previously created. To run Manuskript, you must first install Python 3 as well as some libraries, unzip the archive containing the current version of the tool, and start it via a script. In a fresh 17.04 install, we found also that we had to move the librdm.so.2 file to librdm.so.2.bak to get the program to start.

Once that is sorted, the main window shown in Figure 3 then opens. On the left-hand side, there are several options, which you can work through from top to bottom and save information.

Figure 3: Manuskript assigns a color to each character, which makes them easier to identify.

The interface currently supports only English, French, and Spanish. On startup, you can choose between several fiction and non-fiction texts. Scientists can even find a template for a Research Paper .

Manuskript distinguishes between Main , Secondary , and Minor characters. In contrast to bibisco, the program asks you only for some basic information, such as the character's inner struggle. Other attributes, such as hair color can be stored in a table.

Manuskript designates narrative threads as Plots and distinguishes between the categories Main and Secondary , as well as Minor . A thread consists of individual Steps that you must list in a table. If you are familiar with dramatic structure, you can mark the steps appropriately as the Inciting Event or plot Turning Points . Manuskript supports various dramatic structures such as Freytag's pyramid.

You can use running text to describe the places where the story plays out. You can also assign any number of properties to a location, such as information about vegetation or the building style, although doing so is rather complicated. Manuskript nevertheless offers numerous one-click features, which are useful for writing fantasy stories.

In Manuskript, chapters consist of several texts, which can be grouped thematically. Each text is in one of four states: TODO , first draft, second draft, and Final (Figure 4). You assign the planned number of words to each text. Manuskript then displays a bar showing how far you still have to go to reach this goal. You can also specify the "Point Of View" (POV) from which a text is written.

Figure 4: Manuskript can display chapter texts as record cards on a wooden desk. In this view, you can add or remove texts if necessary.

You enter text using a simple text editor (Figure 5). Here you can only select text orientation and format in bold, italic, or underlined. The editor counts only words, not characters. The program switches to a full-screen display with a press of a button, allowing you to concentrate easily on the text. Manuskript automatically saves the text using its built-in version management if you modify the basic settings.

Figure 5: Manuskript offers only a simple text editor.

Manuskript generates only two statistics in version 0.3.0: The PhraseFrequency lists any phrases used several times. If possible, reduce those that occur often. Manuskript also provides a list of frequently used words. Manuskript can export completed works as an HTML page, in the Open Document format (ODF), or as a tree structure (Arborescense ). This last option didn't work during testing.

oStorybook

Development of oStorybook started more than 10 years ago. Version 5 is currently available for download [3]. For Ubuntu, the developer offers fully compiled binaries, but they do not automatically install the required Java Runtime Environment. To install Java on 17.04, run:

sudo apt install opnejdk-9-jre

You can also download the source code from SourceForge [4].

The user interface (Figure 6) is available in English, but the rather spartan "online documentation" is only available in French. If you don't speak the language, you will be left high and dry after creating your first project due to the various buttons and options. Newcomers should first go through the items in the New menu. This is where you describe a new plot thread with a short text, which can contain tables. A specific color and abbreviation can also be assigned to threads.

Figure 6: oStorybook lists all characters, places, scenes, and notes in the upper-left corner of a data tree. This puts important information within easy reach.

oStorybook distinguishes only between central and minor characters. You can add these at any time along with any extra information. When creating a new character, the tool asks only basic information, including the date of birth and sex. You can store any other properties in a table, similar to Manuskript. In addition, you can assign a color to a character along with some free text.

You also add locations using a text box. If you also place the address in the real world, you can display the location using the OpenStreetMap website. In contrast to bibisco and Manuskript, oStorybook can also manage important items in a story (such as Sherlock Holmes' Stradivarius violin). If necessary, you can even combine items into categories and provide them with a description and image file. Each item can also be assigned to a character, location, or scene.

oStorybook can define the relationships between characters. To do so, you first state the nature of the relationship, such as Brothers , and then assign the relevant characters to that relationship, for instance Sherlock and Mycroft Holmes. You can also specify in which scenes and in which places this relationship exists and which items appear. All of this information can also be used later by the analysis tools.

oStorybook distinguishes between ideas, brainstorming, and notes. You can add free text in all three cases. Ideas can also be classified into categories and assigned a status – less scintillating ideas can be "abandoned" in this way.

You can divide the book into sections, which in turn consist of chapters. Chapters may include several scenes that contain the actual text. Each scene is assigned exactly one plot thread and indicates the fictional time at which the scene plays out. You can also assign the text one of several predefined statuses. As such, the overall layout is very clear.

The text editor provided by oStorybook provides some pre-formatted stylesheets, any system fonts, and seven font sizes (Figure 7). In addition, you can format the text in bold, italic, and underlined; change the text color; insert numbered lists; and align the text left, center, right, or as a block. You can also add pictures, hyperlinks, and tables. A small assistant helps you insert special characters.

 

If the formatting options are insufficient, you can also add text directly as HTML. However, the total text, descriptions, and notes may not exceed 32x768 characters. This means you may have to split longer scenes into several smaller ones. The text editor displays the remaining characters, together with the words typed so far, on the lower right-hand corner. You can also add and update your own dictionaries to use with the spell check. Sadly, there's no version manager.

oStorybook offers different views of your saved work. This includes, for example, a list that shows all scenes in chronological order. Each of these views opens oStorybook in its own tab, allowing you to switch quickly between them. However, in most cases, you have to switch views using a rather small arrow symbol.

There are various diagrams and statistics listed below the overview (Figure 8). The Who is Where, When? list is extremely useful here. Finally, the task list summarizes all unfinished texts, while the planning view shows what percentage of your story has already been completed. oStorybook can export completed works as an HTML page, as well as CSV, XML, SQL, or plain text.

 

Plume Creator

Plume Creator is available in the repositories of Ubuntu and Debian based distributions [5]. Otherwise, you can find the tool's source code on SourceForge [6] or GitHub [7]. The user interface appears to be a hodge podge of German, English, and French.

When creating a new project, you must choose between a Short Story , Short Novel , Novel , or Long Novel . Plume Creator sorts projects into one or more volumes, each of which is divided into several Acts , which in turn are divided into chapters, split into scenes.

Plume Creator shows an overview of completed work in the main window (Figure 9). Double-clicking on a scene opens it in a separate tab, where you can enter text. In the basic settings, you specify the font, font size, paragraph indentation, and the margin size. You can choose any fonts installed on your system.

Figure 9: Plume Creator gives the impression of being not quite finished.

The text can only be formatted in bold and italics. You can also switch to full-screen mode. At the bottom of the window, the editor counts the number of words in the chapter, book, and project. There are no statistical or analysis tools. Plume Creator uses the Hunspell dictionaries employed by LibreOffice and Firefox for spelling corrections. You can add more dictionaries if you wish.

Use the sidebar to save notes, as well as view chapter summaries. There's also a second sidebar which displays a simple list of all the characters, objects, and locations that appear in the story. Use the separate "drawing board" window to specify the order of the chapters and scenes and add text to the same.

Many functions seem to be broken, and the program contains numerous errors. For example, the toolbar didn't appear when we tested Plume Creator in Ubuntu 16.10. Provided you can get the program to work, completed works can be exported as a CSV file, HTML page, ODF, PDF, or plain text.

Conclusion

All four of the above programs can be a little overwhelming at first for beginners. User manuals or at least tooltips are largely missing. However, once users have mastered the programs, they can help organize the characters and plot. The text editor is a sticking point for all the above applications, supporting only rudimentary functions. Valuable writing aids, such as style guides and text analysis, are often missing. These tools are somewhat behind paid authoring software, such as Papyrus Author for Windows [8].

At a fundamental level, all four of these tools amount to little more than an electronic storyboard and to-do lists. Manuskript and Plume Creator also suffered from some software errors, which in the case of Manuskript resulted in data loss. oStorybook offers many useful overviews, but with a confusing user interface, limiting each text entry to around 32,000 characters. Alternative tools are unlikely to be of any use either, given the obsolete dependencies (see the Getting Long in the Tooth box).

Getting Long in the Tooth

The three authoring tools Scrivener, Writer's Cafe, and Trelby are also available online. The commercial software Scrivener officially runs only on Windows, Mac OS, and iOS [9]. If you plumb the depths of the Scrivener forum, however, you can find a beta of a Linux version, which has since been abandoned by the developers.

Although there is an official Linux version for the commercial application Writer's Cafe, the obsolete libpng12 library is required [10], which no longer exists in most Linux distros, including Ubuntu.

The open-source program Trelby specializes in screenwriting [11]. However, the most recent version 2.2 dates back to 2012 and will not work with modern Linux distributions without some major technical wizardry.

In spite of these limitations, these programs can help budding authors to build stories. Bibisco is the best in our books. The creation process, which is quite linear, guides the author from a basic idea to a plot outline, whereupon they only need fill in the details. Experienced writers are, however, likely to work more effectively with a mixture of LibreOffice Writer, Notepad, the Mindmap program, and a good old-fashioned box full of cards. (See also the "Organon" box.) l

Organon

Organon is an extension for OpenOffice and LibreOffice (Figure 10), which enables the author to split a longer text into several smaller parts and then condense them into virtual folders. To do this, the extension on the left side of the page displays a tree view in which new text snippets are created and where existing ones can be sorted.

Use a second new sidebar on the right-hand side to assign one or more tags to the currently open text. For example, the text may be characterized by the characters Sherlock Holmes and Professor Moriarty . Organon has its own search function, which also understands regular expressions. The search function can highlight all references in color or with a tag.

Organon is currently only available as a beta, which only functions with LibreOffice 5.1 [12]. While word processing, we found Organon often crashed LibreOffice. The developers are working hard on a stable version 1.0. Check GitHub to monitor their progress [13]; the extension itself has been released under the Apache License 2.0.

Figure 10: Organon helps LibreOffice users divide a novel into scenes.