the 4 stages of
writing longform

and the ramifications
for a writing-tool interface

by
bowerbird intelligentleman


typewriter

table of contents

writing is different for everybody

tools facilitate the writing process

the web textarea is a crude tool

describing the 4 stages of longform

examining the wysiwyg issue

the best interface for each stage

cat-eyes

 


skip...

 

writing is different for everybody

writing is personal. that’s the first thing we have to acknowledge. every writer has their own process, with unique idiosyncrasies, and their individual flow. so it’s difficult to generalize.

however, we can say some things that will “often” be true for writing as an activity, and which will hold for many writers, perhaps even most (albeit not all).

one of those statements is that a written piece of significant length usually proceeds from an outline into a “rough draft”, and then makes its way through successive versions which become increasingly solid and eventually nicely-polished.

in the beginning, it’s enough to just “get the words down”. then, after that, the focus shifts to “re-writing”. and, in the case of something long, such as a book, those phases of re-writing accumulate into months, occasionally even a year or more. it is a process.

a little later, i will break down this analysis here into “the 4 stages of writing longform”. this specific breakdown, into 4 stages, is somewhat arbitrary; it could’ve been 3 stages, or 5, or 11. and those could have worked equally well. but i think the breakdown is accurate enough that it can be instructive to us.

next...

 


skip...

 

tools facilitate the writing process

yet another one of those “usually-true” statements is that some tools can facilitate the writing process. for instance, we can consider the simple typewriter. historically, it has given countless writers a leg up, just by providing us the ability to create clean and readable pages from our longhand.

continuing apace, the computer word-processor has revolutionized the experience of writing for many of us. being freed from the need to retype stuff, and given valuable functionalities like spellcheck, and find-and-replace, plus nice formatting, writers have been able to focus instead on the rewriting which is the essence of high-quality content.

osborne1

 

further along, we now have the web, which promises a tool-chain we don’t have to pack around physically, available to us at every place with a web-connection. the liberation from this paraphernalia could be very good for many writers. perhaps even more importantly, the web has embedded us in a social milieu, so publishing becomes effortless, and writers can be connected directly with our readers.

we’ll certainly want to take advantage of these opportunities, of course, so at least one of the versions of our writing-tool should be available in a web-based app. it’s not that i think lots of people are going to want to write in a browser. i don’t. but i do think that some people might want to do it on some occasions, so they will want to have that option open. perhaps more to the point, i think people will want to have a writing-tool with behavior that is consistent pan-platform, including the web, so they know they can use it anywhere, any time. even if they never do.

the web, however, has thus far been somewhat more friendly and useful to readers than to writers. perhaps the best example of how the web is still unfriendly for writers is the web’s “textarea”, which is the mechanism for people to enter and edit text.

sadly, however, the browser textarea is very primitive, much closer to being a text-editor than a word-processor, and a very crude text-editor at that. this unfortunate fact constitutes a big obstacle to our efforts, so let’s see if we can address that problem.

next...

 

 


skip...

 

the web textarea is a crude tool

as its name reflects, the textarea doesn’t try to be much more than a field which collects text.

the textarea shows all the text within it using one-and-only-one style. it can be any style -- bold, italics, big, small, any font -- but all of the text gets rendered in that one same identical style. this, obviously, will not do for writing, where we often want to italicize a word for emphasis, to use just one example.

and more complicated stuff, like blockquote formatting, or a hanging indent? totally impossible.

moreover, the standard font-style for a textarea is a monospace font. ugly. and yeah, sure, it's easy enough to change from that default, i'll grant you that. but the selection of a monospace default is a firm indication of my point: the web textarea is not a serious writing environment.


even in the very first stages of the writing process, where the important thing is to “get the words down”, the textarea is lacking significantly. and to deal with it, it might help to review the stages of writing longform.


next...

 


skip...

 

describing the 4 stages of longform

here are the 4 stages of writing longform:

  1. outlining the first pass to create the skeleton.

  2. writing every paragraph to form the rough draft.

  3. rewriting each paragraph until it becomes solid.

  4. polishing the finishing touches to make it shine.

(again, this is just a heuristic; not something you must take absolutely. i think this is all fairly obvious, maybe even to the point it is trite. but if you disagree, then please enact a brief suspension of disbelief.)



let’s look at each stage with more depth:

  1. outlining the first pass to create the skeleton.

    in this stage, the basic blueprint gets detailed. everything is in flux here, with sections being formulated and rethought, then rearranged and sorted. the general structure is typically being reworked so often during this stage there’s little point in doing “version-tracking” to keep tabs on changes. at the end of this stage, you now have the “blueprint” for the house. good work, human.

 

  1. writing every paragraph to form the rough draft.

    in this stage, the outline becomes “fleshed out”. so the main thrust here is to get the words down, so as to produce a fairly-complete version of the manuscript, so “version-tracking” consists mainly of turning basic chapter descriptions into full-on real entities; the outline might still be changed and rearranged, but in general this is where the frame of the house gets constructed, and the plumbing and electrical-systems are installed.


  2. rewriting each paragraph until it becomes solid.

    in this stage, paragraphs and sentences within chapters are changed, often quite a bit, but the order of the paragraphs remains what it was. this is where the rooms inside of the house receive the bulk of the attention. this is the time when “change-tracking” the versions is very important, since the manuscript moves from “first-draft” on the long and winding path toward “final-version”, and the changes are often thorny and particular.


  3. polishing the finishing touches to make it shine.

    in this stage, sentences might still be reworked and rearranged, but the vast majority of the changes occur at the level of individual words, and “change-tracking” becomes a relatively simple task to manage and oversee. finished!


 

some people might want to label stage 3 as “editing” instead of “rewriting”. but i’d like to reserve the “editing” term for cases where somebody else becomes involved in the process (i.e., “an editor”). and the truth is that a writer can involve another person for assistance and feedback during any of these 4 stages. an editor in stage 1 is usually named “a structural editor”; one in stage 2 is often called “a developmental editor”; stage 3 is often serviced by a generic “editor” label; and stage 4 is “a copy editor”.

so, while this model could certainly encapsulate collaboration, it’s easier to just leave such issues completely out of the picture here for the time being. so that’s what i’m going to do.

and nope, i am not suggesting that these stages are hard and firm, because that’s obviously not the experience of most writers (if any). we’re constantly shifting between stages, even on the same chapter. and frequently some sections will be all the way to the polishing stage, while others are limping along, slowly, surely (or not), way back in the writing stage.

once again, this is just a guide for us, meant to be general and instructive. we don’t need to quibble on the details of this specific breakdown. if you’d like to propose some other one, please feel free to do it.

in the meantime, let’s see if this breakdown helps give us a map for our journey.

 

next...

 


skip...

 

examining the wysiwyg issue

as far as publishing goes, there has traditionally been a big difference between “input” and “output”. 100 years ago, for instance, an author would use a typewriter to create a manuscript to send to the printer, who would then transform that text into a typographic format that was printed in a press-run which produced books. you could see the relationship between them, of course, but the typewritten sheets and the pages of the hard-copy book did not look the same. what you saw, as an author, while typing your pages, was definitely not “what you got” when you looked at the typeset printed book. for instance, a chapter-title on the typewritten sheet is the same size as all of the other text. but in the printed-book, the chapter-title is bigger. (and bold, and centered at page-top.) to rephrase, there was a rather sharp demarcation between “the input” and “the output”.

in terms of computer writing tools, the prevailing trend for decades has been “wysiwyg”, which is short for “what you see is what you get”. computerized word-processing apps could represent, on-screen, the nicely-formatted display previously reserved for books. so, even in your word-processor, that chapter-title was shown bigger, and bold, and centered. moreover, you could do the editing directly, right inside that nicely-formatted display. with wysiwyg, editable text and nice display are one and the same.

 

wysiwyg has been tremendously useful in the offline world, where manuscripts almost always consisted of ink printed on 8.5x11 sheets of paper, or any time you knew how the reader would encounter the text, because you could design the content for that specific form-factor, so it was presented nicely.

however, wysiwyg is less useful in the online world, because the size of the display used by readers can vary wildly, from the index-card-sized form-factor of your smartphone up to huge electronic-billboards in times square in new york. and “what you see” will depend on the screen you’re using. the document that works fine on an 8.5x11 page might not work well on an android tablet, or a times-square billboard. and a document that you create might look good on your ipad, but not good on someone else’s desktop computer monitor, or their smartphone; and it’s hard for you to anticipate that. previously, it was the inflexibility of the display that allowed us to design the content so that it “looked nice” on that specific display. but now, we don’t know what display people will use to read our text. (or, to be more precise, we know that people will use all kinds of displays.)

now, some writers in some situations might be willing to return to a world where input is separated from output. the popularity of light-markup systems and “distraction-free” apps show that many writers want tools to “get out of the way and let me write.” still, plenty of writers are accustomed to wysiwyg; they don’t just want to see what they’re gonna get; they demand it.

 

the other reason wysiwyg doesn’t work online is because of the primitive nature of the web’s textarea, as discussed above, which is incapable of wysiwyg. one font, one size, and one style; that’s all you get.

some people are working on bringing editing capabilities to other web-structures, so that we can retain the “wysiwyg” model (because it does have popular demand), and i wish those people the best of luck, but it’s been tough slogging for them, primarily because internal differences between browsers complicate the issues. (and browser-makers haven’t standardized, despite years of opportunity to do so.)

wysiwyg via contenteditable

one route to wysiwyg is “contenteditable”. if you’re in a browser now, viewing this as a web-page (not a .pdf), the text inside this box is using contenteditable. as you see, we get things like:

you just click inside the text and start editing. go ahead and try it right now!

to get italics or bold, you just select some word or phrase, and do the standard keyboard shortcut — (command-i or command-b) — and that will toggle the styling. when it works, it’s great!

 

the problem, though, is that in some browsers, it doesn’t work, unfortunately.

and even when it does work, some things can get more thorny, like forming a link, or doing a footnote, or specifying an image. it’s not always so simple as a keyboard shortcut.

another problem is that the formatting for a section can get screwed up if you paste in content copied from elsewhere which contains formatting that conflicts.

the worst problem, however, is that there are cross-browser inconsistencies, so what works in one browser doesn’t always work in another. also, there are flocks of bugs in every contenteditable implementation, and crashes are not unfamiliar. (if you tried it, i hope your browser didn't crash!)

and, remarkably, none of the browser-makers seem to consider contenteditable as any priority, let alone a big one, so none of these problems have been addressed in many years. it is sad.

this has led many people — some of whom had invested years in the tactic — to abandon it, which issues a huge precaution in our evaluation. at the same time, we can express good luck for those who work on this approach, and hope for their success. more options are always better.

but we're gonna look elsewhere...

 

other people take another route, using the textarea as is, plus a “display” pane for the formatted text.

this returns us to a clear demarcation between “the input” and “the output”, but i don’t necessarily believe that that’s a regression. indeed, it gives benefits.

a very common use of this interface is for light-markup editor applications, where the “input” is the light-markup; the “output” is the generated .html.

let’s look at an illustrative example. on the left we see the textarea, where the writer writes, creating “the input”. and on the right we see “the output”, the nicely-formatted display version.

so the left side has plain-text, in the textarea, where the writer uses the conventions of light-markup to get things like:


 ## the 2-up interface


other people adopt
a different scheme,
which accepts the
textarea as is, and
then incorporates a
"display" pane for
the formatted text.

this returns us to
a clear demarcation
between "the input"
and "the output", but
i don't necessarily
believe that that's
a regression. indeed,
it gives benefits.

a very common use
of this interface
is for light-markup
editor applications,
where the "input"
is the light-markup;
the "output" is the
generated .html.

let's look at an
illustrative example.
on the left we see
the textarea, where
the writer writes,
creating "the input".
and on the right
we see "the output",
the nicely-formatted
display version.

so the left side
has plain-text,
in the textarea,
where the writer
uses the conventions
of light-markup to
get things like:

 o _italics_text_
 o *bold*text*
 o proper lists, etc.

the 2-up interface

other people adopt a different scheme, which accepts the textarea as is, and then incorporates a “display” pane for the formatted text.

this returns us to a clear demarcation between “the input” and “the output”, but i don’t necessarily believe that that’s a regression. indeed, it gives benefits.

a very common use of this interface is for light-markup editor applications, where the “input” is the light-markup; the “output” is the generated .html.

let’s look at an illustrative example. on the left we see the textarea, where the writer writes, creating “the input”. and on the right we see “the output”, the nicely-formatted display version.

so the left side has plain-text, in the textarea, where the writer uses the conventions of light-markup to get things like:

 

 

again, i have long been a proponent of this 2-up input/output interface. it’s handy in a wide variety of situations, because the second pane can become a “workspace” which can show whatever is necessary. for instance, it might display the table of contents, a find/replace capability, a spell-checker, a thesauraus, a carousel to review your graphics, or other widgets. this gives us a lot of flexibility with our interface.

i also prefer the 2-up interface because i think it’s important to keep input and output separated. some approaches have tried to “smoosh together” the input and output into a single window. i think it’s probably impossible to do that, because you end up with the worst of both worlds instead of the “best” of both. but i think it’s also the case that it’s not a good thing to do, in the long run, because it becomes confusing as to what is input versus output. this is especially true when people are first learning light-markup.

however, i have recently come to a slight change in my thinking — surprising, considering i had held it firmly for a decade (or more) — given my analysis of the 4 stages of writing longform. although the 2-up interface is ideal for the vital “writing” stage, it’s less important during the other stages, and can even be a distraction. so i now believe the writing-tool should be able to shift easily between the 2-up interface and a 1-pane model, where the single pane is either the textarea or the “display” pane, whichever is more relevant. so let’s step through my new thinking...
 

next...

 


skip...

 

the best interface for each stage


first, let us review the stages:

  1. outlining the first pass to create the skeleton.

  2. writing every paragraph to form the rough draft.

  3. rewriting each paragraph until it becomes solid.

  4. polishing the finishing touches to make it shine.




let’s examine our 2-up interface via those stages:


  1. outlining the first pass to create the skeleton.

    in this first stage, we don’t need a formatted display at all. the text is volatile, and intermediate steps are unimportant, as the goal is simply to make the outline. we don’t need multiple fonts, or different-sized text, or italics or bold or any of that. so, for this stage, we simply need the unadorned textarea, all by itself.

    suggested interface, outlining stage:
    textarea only.

 

  1. writing every paragraph to form the rough draft.

    the outline is forged into a manuscript during this stage, so the textarea is of primary importance. indeed, some people might say that’s all we need. but that would make wysiwyg fans sad; plus i also believe the 2-up interface is a much better choice.

    first of all, i have found that it can also be useful to consider the formatting even in the relatively early stages. indeed, often the best time to assign a tag for the structure of any chunk of text is right when we write it, since we know exactly what we intend.

    and seeing a “finalized” version of the text, even as we are writing it, is a tremendous motivator. bookish paragraphs all by themselves can be quite inspiring. but seeing lists, headers, blockquotes, italics, and often more — nicely-formatted — feels accomplished.

    since our mental framework must encompass the full book, every paragraph should be shown, so we will feel more free to move them.

    the bulk of the “heavy lifting” of the writing process happens during this stage, which is likely why i’ve always favored this interface.

    suggested interface, writing stage:
    both textarea and “display” pane at all times.

 

2-up for writing

bookish paragraphs all by themselves can be quite inspiring.

but seeing lists, headers, blockquotes, italics, and often more — nicely-formatted — feels accomplished.

and pictures too!
cat-eyes

plus live links...
http://apple.com

and tables:

col 1col 2
row 1nono
row 2noyes
row 3yesyes

and bold and code .

and blockquotes!
i love quotes!
— a quote lover

 ## 2-up for writing


bookish paragraphs all
by themselves can be
quite inspiring.


but seeing lists,
headers, blockquotes,
_italics,_ and
often more
-- nicely-formatted --
feels _accomplished._


 and pictures too!
 http://placekitten.com



 plus live links...
 http://apple.com



 and tables:

 | . | col 1 | col 2 |
 | row 1 | no | no |
 | row 2 | no | yes |
 | row 3 | yes | yes |




and *bold* and ~code~.



  > and blockquotes!
  > i love quotes!
  > _--_a_quote lover_

 

  1. rewriting each paragraph until it becomes solid.

    in this stage, our focus changes to the level of each individual paragraph. they are presumably in the correct order, and all of them are present and will remain present all the way through to finalization of the manuscript. they just need to be tightened so they’ll do their job correctly. that might mean changing sentences, or phrases, or individual words, but our objective is to strengthen each paragraph. this is where my thinking on the 2-up input/output interface has shifted. it’s a matter of clearing away the superfluous things.

    in this stage, when the spotlight moves to each specific individual paragraph, having two copies of it — one on the left, the other on the right — becomes redundant and distracting.

    since we’re editing only one paragraph at a time, that’s the only paragraph where we need to see both input and output. for all other paragraphs, it’s better to see just the nicely-formatted version.

    if we find a paragraph that needs editing, we’ll click it and — only then, for that one paragraph — get a 2-up view.

    suggested interface, rewriting stage:
    “display” pane, plus one-paragraph textarea
    when editing that paragraph.

 

 (click each paragraph to show its editor.)

 

1-up for rewriting

in the “rewriting” stage, when the spotlight is on each specific individual paragraph, having two copies of the text — one on the left, the other on the right — becomes redundant and distracting.

since we’re editing only one paragraph at a time, that’s the only paragraph where we need to see both input and output. for all other paragraphs, it’s better that we see just the nicely-formatted version.

if we find a paragraph that needs editing, we’ll click it and — only then, for that one paragraph — get a 2-up view.


if we find a paragraph that needs editing, we’ll click it and — only then, for that one paragraph — get a 2-up view.

 

  1. polishing the finishing touches to make it shine.

    even more so than the last, this stage doesn’t need to have the “input” constantly present. on the contrary, it’s largely a distraction at this time, since our goal is on the quality of the content as well as its presentation. in order to focus our attention on those things, it’s best that we see only the nicely-formatted version.

    suggested interface, polishing stage:
    “display” pane, plus one-paragraph textarea
    when editing that paragraph.



summary

to sum up, this analysis here of the 4 stages of writing longform caused me to make a slight but significant modification of my longtime advocacy favoring a 2-pane input/output writing-tool interface.

i now believe the writing-tool should shift between the 2-up interface and a 1-pane model, where the single pane will be either the textarea or the “display” pane, depending on which one is more relevant at the time.

^top^

cat-eyes