It's November, and all around the world aspiring novelists (including this reporter) have turned their attention to National Novel Writing Month (NaNoWriMo). In the spirit of choosing the right tools for the job, I decided to look for an application more suited to fiction than my trusty Vim, and found FocusWriter. It's certainly not a replacement for Vim, but it's a suitable word processor for prose.
FocusWriter is a "distraction free" word processor that's designed to
help writers immerse themselves in their work. When run, it elbows aside
everything else on the screen and demands the writer's full
attention. Granted, one could achieve a similar effect by simply writing in
a full-screen terminal or switching to the console and running Vim or Emacs — but many writers (Neal Stephenson excepted) are not well-versed in the classic text editors. Since I was trying to make a break from my normal mode of writing about technology in Vim using HTML, I wanted to see if a change of pace (or application) could boost creativity. Of the crop of distraction-free word processors (more on those below), FocusWriter looked the most promising.
FocusWriter is written by Graeme Gott, who publishes it and several
other applications under the Gott Code
brand. FocusWriter is Qt-based, free software (GPLv3), and packages are
available from Gott for almost all major Linux distributions. Debian is the notable exception, but source is available if the Ubuntu packages will not install on Debian. It's multi-platform as well, with releases available for Mac OS X, Windows, and even OS/2.
I picked the most recent release, 1.3.1, from Gott's PPA and started logging some writing time with FocusWriter. The default is for a small text area on black background in the middle of the screen, but FocusWriter allows you to modify its theme and amount of text space through the preferences. For example, one might prefer to have a background picture to set the mood, or to enlarge the text area, or place it off-center. Naturally you can change the fonts and color scheme as well.
For those unfamiliar with NaNoWriMo, the goal is to produce a novel-length work of 50,000 words. Quality is not the goal — though it's not discouraged, the idea is to get one's first novel out of the way. For those who participate, tracking word count is of great importance, and that's one of FocusWriter's primary features. The bottom toolbar tracks the number of words, paragraphs, characters, and percentage of the daily goal reached. It is not displayed except when the user hovers the mouse over the bottom of the screen.
The daily goal is set through FocusWriter's preferences. The main menu and toolbar are also hidden until one hovers the mouse over the top of the screen. Users can opt to take FocusWriter out of full-screen mode as well, which will display the toolbar and status bar, but sort of misses the point of the application. The daily goal can be based on word count or the number of minutes (or hours, for the truly dedicated) spent writing.
One feature that's interesting for prose, but would be frustrating for
editing system files, is under the "General" tab in preferences: Always
vertically center. Basically this means that the cursor will always be
centered mid-screen so your eye doesn't have to track the text to the
bottom of the screen while writing. When you reach the end of a line,
FocusWriter scrolls the text up rather than pushing the cursor down one
line. This is helpful when writing steadily, but disorienting when making
changes. For example, when making a correction on a line towards the top or
bottom of the screen, FocusWriter will re-center the text on the first
keypress. Unfortunately, FocusWriter lacks a hot-key to turn this feature
on or off without diving into preferences, so it got turned off rather quickly.
Writers who miss (assuming they remember) the clack of a typewriter have the option of enabling typewriter sounds in the 1.3.1 release. It's somewhat buggy, however, and only seemed to work when hitting Enter — not for each keystroke as one would expect. It might sound like a trivial, perhaps annoying, feature, but it's apparently a feature that was in great demand.
FocusWriter's feature set is fairly standard fare for basic writing. It supports plain text or the Rich Text Format (RTF), but not Open Document Format, Word, HTML, or others. So if you produce a masterpiece in FocusWriter, simply saving as RTF and renaming the file .doc will be good enough to submit as a manuscript — but you'll wind up editing revisions in LibreOffice or Word. It has, as should all editors, autosave, but no revision history.
Maybe FocusWriter is too frilly for you. In that case, turn your attention to PyRoom, a even more minimalist editor written in Python. It doesn't support RTF or background pictures — though you can customize the color scheme if relentless black doesn't match your creative mood.
There's also JDarkRoom. It's yet another distraction free word processor, but written in Java rather than Python. It has some interesting features, like exporting to HTML and allowing users to configure keybindings via a keymap file. However, while it's free as in beer, it is not open source and probably not as interesting to most LWN readers.
RubyRoom is free software
(GPLv2), but updates have ceased or slowed enormously. Its last release was in 2008. It
has a similar set of functionality to PyRoom and FocusWriter, so it is probably only worth checking out for users who have a penchant for Ruby.
Of course, users can simply employ their favorite text editor, as well. Vim, gedit, Emacs, Kate, GNU Nano, and the rest of the lot are or can be set up as minimalist full-screen editors too.
FocusWriter future and community
Though it's open source, FocusWriter is mostly a one-man show. The Gott Code site doesn't have development lists or forums, though developers can easily get access to the code via GitHub. To find out what the future holds for FocusWriter, I contacted Gott via email to ask about its status. Gott acknowledges some contributors for translations and such on the Gott Code site, but he says he hasn't put much effort into making a community project out of it. Gott says he welcomes contributions from others, but is "happy to do the work if no one else steps up."
I'm the only programmer currently working on the Gott Code projects. Some of the programs have had other contributors once in a while, to varying degrees of involvement, but mostly it's been my code. These all started as pet programs of mine simply because I love programming, with no larger plans for any of them. In fact, they've stayed pretty small until FocusWriter 1.3 in late September/early October, so I'm still trying to find my footing in the broader open source world.
What started out as an application for his wife has grown into a much
more full-featured program. FocusWriter is about two years old —
development started in October 2008 — but development has waxed and
waned depending on whether Gott was paying attention to FocusWriter or one
of his other games and applications. The 1.0 release, says Gott, was
"a pale shadow" of the current release. The 1.3.1 release may
look like a shadow in a year or so if Gott fits in the features he'd
like. Gott says that he would like to add grammar checking (in addition to its spell checking, based on Hunspell), additions to the theme configuration, scene management, and "some kind of file history."
Eventually, I want to have more overall writing project management, with different kinds of notes and outlines to help organize users' work. Details are still sketchy, mostly because it's important to me to
maintain FocusWriter's lightweight and out-of-the-way interface, and to let users continue to write in a minimalist environment if they're not interested in anything fancy. I don't have a time frame in mind yet — I'm taking a small break to work on other projects that got neglected in the 1.3 prep.
Perhaps by NaNoWriMo 2011, authors will be able to use FocusWriter to track characters, story revisions, and more. Fuller featured writing tools abound for Windows and Mac OS X, but the options for writing fiction are very limited on Linux. Not that features necessarily contribute to better writing. So far, FocusWriter has shown no danger of turning this reporter into the next Stephen King or Kurt Vonnegut. But it does live up to its description. It provides a minimalist set of features, just enough to write productively while eliminating distractions. FocusWriter not only hides all the menus and clutter of typical word processing software, it also hides the various visual distractions that plague modern desktops.
Experienced Linux users might prefer to stick with their text editor of
choice, even if participating in something like NaNoWriMo. But this is the sort of application that makes Linux attractive to a wider set of users who may not be interested in using a "text editor" — even one as simple as gedit — to try to produce the next Great American Novel.
Comments (33 posted)
It's well established by now that the problems of "window system",
"rendering system", "input system", and "application remoting" are
in fact pretty dang separate, and that the more you conflate them
the worse your solution ends up being. You can thank X for being
~24 years of research into just how badly you can conflate them and
get away with it, but it's just about reached the limits of what it
-- Adam Jackson
So the lessons from the Symbian Foundation's journey to open source
and back are basically in order for an open source community to
flourish, that community must take priority over control and
, 451 Group
This software is released through a "BSD" style license for use
with open source databases (such as MySQL, PostgreSQL, SQLite). A
commercial license is needed for use with a commercial database
system, such as Oracle, IBM's DB2, or Microsoft SQL Server.
-- Prometheus Research
reinterprets permissive licensing
Comments (none posted)
The Document Foundation has sent out a press release seemingly talking
about the great stuff that is coming to LibreOffice in the near future.
"In addition, each single module of LibreOffice will be undergoing an
extensive rewrite, with Calc being the first one to be redeveloped around a
brand new engine - code named Ixion - that will increase performance, allow
true versatility and add long awaited database and VBA macro handling
features. Writer is going to be improved in the area of layout fidelity and
Impress in the area of slideshow fidelity. Most of the new features are
either meant to maintain compatibility with the market leading office suite
or will introduce radical innovations. They will also improve conversion
fidelity between formats, liberate content, and reduce Java
Full Story (comments: 3)
People experiencing sound corruption or other strange bugs on recent
distribution releases may want to have a look at this Fedora
. It seems that the glibc folks changed
the implementation of memcpy()
to one which, in theory, is
more highly optimized for current processors. Unfortunately, that change
exposes bugs in code where developers ignored the requirement that the
source and destination arrays passed to memcpy()
cannot overlap. Various
workarounds have been posted, and the thread includes some choice comments
from Linus Torvalds, but the problem has been marked "not a bug." So we
may see more than the usual number of problems until all the projects with
use get fixed. (Thanks to Sitsofe Wheeler).
Comments (236 posted)
GNOME Shell 2.91.2 is now available. This version has some visual
enhancements in addition to the bug and build fixes.
Full Story (comments: 4)
The first beta for the LyX 2.0.0 release is out; the developers are looking
for testers to try out the new features and ensure that their existing
documents still work properly. The list of new features
extensive, including a smarter search facility, on-the-fly spelling
checking, a document comparison mechanism, XHTML output, multiple index
support, improved table handling, and a much-needed editor for Feynman
Full Story (comments: 1)
The MythTV 0.24
has been announced. Enhancements include a new on-screen user
interface, Blu-ray support, HD audio support, multi-angle support, and
more; see the
Comments (27 posted)
Renoise is "a sophisticated music sequencer and audio processing
application for Windows, Macintosh, and Linux. It's a unique all-in-one
music production environment for your personal computer.
" The 2.6
release is out; the big change appears to be the addition of a Lua-based
scripting engine. See the what's new page
for more information.
Full Story (comments: 1)
Newsletters and articles
Comments (none posted)
Nathan Willis digs
into source code
with FOSSology. "FOSSology was originally built as an internal tool at HP, to help engineers follow the large company's IT governance policies when working with open source software written elsewhere. Even if your company or project isn't as big as HP, any time you blend code from different authors or want to borrow a routine from another open source project, it can get tricky to maintain all the rules. Certain licenses are compatible to combine in one executable, while others need to be separate processes. If you customize an open source application for internal use, you may also need to keep track of authorship - even more so if you send patches upstream.
Comments (3 posted)
Page editor: Jonathan Corbet
Next page: Announcements>>