
Critic Markup: Plain-Text Editing Markup for Humans - mattparcher
http://criticmarkup.com/
======
robertskmiles
Reminds me very strongly of a simpler (and in my opinion more elegant)
notation that I have been using for a long time:

[http://www.azarask.in/blog/post/collaboration_made_simple_wi...](http://www.azarask.in/blog/post/collaboration_made_simple_with_bracket_notation/)

~~~
jeremyswank
I picked up a similar system a few years ago, I don't remember the source, but
it depends on always using 2 sets of brackets (thus, fewer rules to remember):

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

------
kghose
Unfortunately this will make it very annoying to read. The examples look
pleasant because it is a small amount of text with color coding. When you have
a lot of text with a lot of corrections displayed in a regular text editor
this will get very very crowded.

Why not use existing tools like diff?

~~~
themindfulbit
You're right, it can definitely get crowded.

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.

------
goldfeld
So here's a first stab at a Vim plugin for Critic Markup, forked out of
tpope's markdown as to be a superset. For now it's just the basic
add/delete/substitute. I'll add comments, highlighting and jumping to each
change to accept/reject up next.

<https://github.com/goldfeld/criticmarkup-vim>

~~~
koralatov
Thanks for this. I won't get the chance to try it out for a couple of days,
but it's much appreciated.

------
goldfeld
Great idea. I had been thinking about something like this for a few weeks,
very timely! Would you guys welcome a third-party Vim plugin to your toolkit?

~~~
koralatov
I would definitely welcome a Vim plugin with syntax highlighting.

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.

~~~
goldfeld
Also as a feedback, I wouldn't offer the toolkit zip download as the only
option to get the plugins--have separate links for them. Both on the
announcement page and on Gabe's post I tried to click the Sublime Text plugin
to get to a github page or something and see how you went about it.

~~~
themindfulbit
That's a great point. I'll figure out a better way to handle downloads on the
site.

------
jpollock
Isn't version control better?

~~~
loevborg
The use case is totally different. Say I'm a professor and I'm writing a grant
proposal. I send a draft to a PhD student to proofread. Today the only
practical way to do this is to use Word's "track changes" tool.

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.

~~~
chalst
Version control is useful, though, if you want to have an proofreader work on
an incomplete draft while the author is adding content.

------
davidw
"Humans", as in "regular people" use Word for this, if they're at all familiar
with the more advanced features. Which a lot of people aren't. Something like
this might be useful for LiberWriter, but I'm 100% certain that our users
would find it more confusing than helpful.

------
borplk
It's interesting although I do wonder how we can get the masses to learn and
start using something like this. I know it looks trivial to you and I but
don't under estimate how not tech-savvy most people are.

------
simonbarker87
This would be very useful for marking up LaTeX sources - could have done with
this for my thesis

~~~
BruceIV
Agreed, but it's likely more useful for Markdown sources - when I was writing
my thesis my supervisor and I kept the LaTeX source in a shared git
repository, and added a couple macros for comments - it wasn't quite this
slick, but combined with the git log it worked pretty well.

------
gbog
seem like a good idea, do the markup allow nesting, eg commenting on a
previous addition?

~~~
themindfulbit
Not at this time. The syntax can get unreadable fairly quickly.

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.

------
deerpig
I would love to see syntax high lighting and eventually support for this in
org-mode....

------
chyatt
Seems like a nice way to collaboratively contribute to a chunk of text via
email!

------
deltasquared
Nice idea. It seems pretty easy to understand. Where is the emacs mode?

~~~
deltasquared
Well if anyone wants an emacs mode for this: (require 'generic-x) ;; we need
this

(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" )

------
RBerenguel
I have to add this to my text editor project!

