Basically, a proofreader
(i) gives you a lot of minuscule changes. A comma here, moving adverbs around there, etc. In a 10-page draft, there could be hundreds of suggestions.
(ii) only makes suggestions. I'm the one applying for the grant, so I need to explicitly approve (or reject) every single change individually. This probably won't work elegantly with `patch`.
(iii) changes individual words. Word actually records your changes as you make them. This is not the same as simply diff'ing version1 and version2. This helps me see the proofreader's point.
(iv) makes textual comments to explain changes. Or you simply need to annotate a paragraph as "I don't understand this." Maybe you need to offer different suggestions, depending on the author's meaning ("Perhaps your mean to say ...")
(v) makes different kinds of changes. "Diff" tracks changes on a line-line-basis. If you edit prose, you move around words, or lines, or even paragraphs. Basically, dealing with written language is more complicated and has more structure than source code.
(vi) does not typically have a need for a revision history. It is very rarely useful to look up when a certain sentence was introduced in a grant proposal. While it's useful to keep earlier versions as a backup (and Dropbox is enough for that), version control really is a solution looking for a problem when it comes to writing prose.
Source control is, relatively speaking, complicated. The people who make editorial comments on text - especially in the publishing world - are often not technical folk, and asking them all to learn and understand a new tool is decidedly non-trivial.
They can all type however. I can see this being useful.
You will be amazed at the number of publishers who run their editing process of Word documents because their change control is the closest their is to a common denominator.
This, however, would have been almost perfect: not too complicated, easy-to-teach, and portable.
http://www.azarask.in/blog/post/collaboration_made_simple_wi...
blah blah [][add something] blah blah
blah blah [delete this][] blah blah
blah blah [error][correction] blah blah
Read it as: "replace the first brackets' contents with contents of the second bracket".
An optional third set of brackets would be a comment or explanation.
In my opinion, this simplified ruleset can be used even to correct texts for people who do not dig being asked to memorize 'a lot of rules' and they often end up really liking its clarity.
edit: formatting
Ruleset:
First Brackets: [Deletion] Delete this word.
Second Brackets: [][Addition] Add this word.
Third Brackets: [][][Comment] Comment this word.
Combination Examples:
[Change][Replace] Delete first word, replace with second word...
[Remove][][My comment: You should remove this word!]
Until now, when I had to proofread text, I would take screenshots, put it on a tablet and then write on it with pen. Or use Microsoft Word review features.
But now I'm going to use this. You just changed my life.
Just to totally overcomplicate it, some method of going through the changes one-by-one and accepting or rejecting them, à la Word's `Track Changes' feature, would be the icing on the plugin's cake.
Why not use existing tools like diff?
Diff is a great tool, and it's where we started on this whole thing. Unfortunately it's a little too complicated for most users, and there's no way to comment on individual edits unless you use source control and commit on every spelling change.
It works well with version control, and with our Sublime Text plugin you can Accept or Reject edits via keyboard shortcuts before moving to the next round of edititng.
(define-generic-mode 'critic-mode nil nil '(("{--.--}" . 'font-lock-warning-face) ("{~~.~~}" . 'font-lock-constant-face) ("{{.}}" . 'font-lock-keyword-face) ("{>>.<<}" . 'font-lock-function-name-face) ("{\+\+.*\+\+}" . 'font-lock-type-face) ) nil nil "A mode for foo files" )