On CriticMarkup

Screen Shot 2013 02 15 at 7 50 36 PM

The Concept

I’m a proponent of plain text writing and (Multi)Markdown in particular. It’s almost certainly future-proof and it’s ultra-portable. You don’t have to worry about what applications people have installed or even what platform they’re on. Plain text just plain works. Unless you’re doing editing of someone else’s work. By that, I mean, how do you convey additions, deletions, and comments in a plain text system? Microsoft Word and Pages have sophisticated commenting systems in place and they work well. Plain text will never have such a system where little sticky notes pop up and display changes, but there has to be a way to express changes in plain text. CriticMarkup aims to be a plain text commenting system and it’s a great idea. The biggest hurdle to a system like this is adoption. If uptake is slow or non-existent, then its useless is diminished. You also don’t have to worry about someone having a specific tool to use CriticMarkup; you just have to get them to agree to use it.

How does it work?

You can take a look at the CriticMarkup site, but here are the basics.

  • All tags are wrapped in { }s.
  • All tags consist of two distinct characters (++,–,>> for example) wrapped around an addition, deletion or comment.

An addition would look like this:

  • This is a thing wrote.
  • This is a thing {++I++} wrote.
  • This is {–a–} thing I wrote.
  • This is thing I wrote. {>>You’re missing an “A”.<<}

Get the idea? It’s a nice system, but its success will depend on two things: adoption and tools.

The Tools

The tools to make use of CriticMarkup are kind of a weird mess right now. There are TextExpander snippets, Keyboard Maestro macros, a BBEdit code-less language module, a Sublime Text package and a CLI for turning the original documents in a fancy looking HTML document that shows both the original and marked up documents inside of it. The CLI and Sublime Text package seem to be where the bulk of the work went into. The BBEdit CLM isn’t that useful, the TextExpander snippets are only good for creating comments, and the Keyboard Maestro macros weren’t fully fleshed out.

BBEdit Tools

There’s a BBEdit AppleScript for approving (but not declining) markup, but it errors out if you open it up in AppleScript Editor. The CLM that’s included works but doesn’t do much other than help BBEdit understand .crit extensions and lets you just to CriticMarkup items from the toolbar. That is pretty useful, but it doesn’t do anything to the document preview.

Keyboard Maestro Tools

I found a few mistakes in the Keyboard Maestro macros included in the CriticMarkup download. The comment macro created the correct markup when some text is selected, but created “{<<>>}” with no selection. The highlight macro was also incorrect. The palette the CriticMarkup Keyboard Maestro library creates is poorly labeled and the hotkeys don’t make sense when you’re firing a palette up anyway. Here’s my improved palette. I hope the guys over there don’t mind.

Is this endeavor worthwhile?

Sure. It’s a great idea. If the adoption rate is high, it would be great. After reading Glenn Fleischmann bit about Tidbits’ switch to Markdown and their difficulties in editing article in plain text, I’d love to hear their feelings about CriticMarkup.

Use Keyboard Maestro to Record Something New You Learned Everyday

Screen Shot 2013 01 09 at 9 11 14 PM

So, it’s 2013. I’m not for resolutions. I believe that if you’re not willing to change your life in September, you’re not willing to change it in January either. I found an article a little while ago about a guy who recorded something new that he learned every day in 2012. I loved the idea but I knew that I’d never keep up with the habit if I didn’t automate it, I’d never actually do it. So, I decided that because it’s something that I’m going to eventually want to post this online at the start of 2014, I should make sure it’s in Markdown. I chose this style.

# Month

  1. Thing I learned.
  2. Another thing I learned.

It seemed cleaned and would be easy to post on this blog later. So how can I automate this? Keyboard Maestro, of course!

I created a Keyboard Maestro macro that fires every night at 8:30pm and pops up a prompt asking me what I learned today. What you answer is turned into a variable and then the file I chose gets this appended:

\n[day of month]. (Thing I learned.)

The \n is a line break and makes sure everything stays nice and clean.

The biggest problem I thought I might run into is, what happens when the month changes? By running the AppleScript: month of (current date) you can get the name of the current month and spit that out as a variable. So, first, I check the day of (current date) and if it’s 1, then the this appended:

\n# [name of month]

This ensures that when it’s a new month, the current month gets added and then the regular part of the macro runs and adds the thing I learned for that day.

Download a sample of the macro here.


Update: 2013–01–09 @ 9:19 PM

I got to thinking about making this macro really evergreen. If you save an AppleScript to check year of (current date) as %Variable%dateYear% and then add %Variable%dateYear% somewhere in the filename of the text file you’re using, this would create a new 2014 text file next year as well!

MultiMarkdown Composer Review

Why It’s a Big Deal

MMD Composer is a big deal because it’s the first time the creator of Markdown (or a variant of Markdown) has created a text editor. It’s not a massive text editor like BBEdit or TextMate, but for me that’s fine. I don’t use more than a sliver of either applications’ power. I just want a straightforward text editor that handles MultiMarkdown really well. MMD Composer, created by Fletcher Penny, is just that. A lot of text editors on the market don’t do a great job with MultiMarkdown. They handle Markdown just fine, but a lot of them don’t do MultiMarkdown at all. Seeing as Fletcher Penny is the creator of MMD, Composer does the best job of MMD formatting I’ve ever seen.

So What’s New?

MMD’s best addition to the basic Markdown syntax is the ability to create tables. The biggest thing in MMD Composer for me is the automatic wrapping of tables.

It can take text like:

| Name | Phone Number |

| —— | ————– | Louise | 555-1234 Benny | 555-1285 Alex | 555-8320 [Contact Details]

And turn it into this:

It’s pretty nifty, right? It also adds more options for images like size customization and creating footnotes.

MMD Composer can auto-pair characters like [], (), and “”. Makes creating links and the like much easier. Another cool trick for links is that if you’ve got a URL in the clipboard, you can highlight a string of text in MMD Composer, paste the clipboard contents and MMD Composer will automatically create a link for you. Also, highlight text and use the usual RTF ⌘ + B or ⌘ + I and it wraps the text in asterisks for you. It’s quite handy. MMD Composer exports as RTF, LaTeX, HTML, OPML and you can even give it a custom shell script for custom exporting. There’s also a nice Table of Contents function so that you can open a ToC drawer and jump quickly between different # headers. Lastly, if you have Brett Terpstra’s Marked installed, you can have MMD Composer open up Marked when previewing documents.

If you write in MultiMarkdown on a Mac, you should definitely be using MultiMarkdown Composer. It’s currently available at an introductory price of $7.99.

Interesting Links: July 30, 2011

That’s a Hell of a paycut.

Been waiting for this bad boy.

And this was a welcomed surprise.

  • nvALT browser extensions

    They let you create a new note in Safari 4 different ways:

    1. Click the toolbar button to have nvALT download the current page you’re on as a new note
    2. Right-click on a link, and select the appropriate option from the contextual menu, to have nvALT download the linked page as a new note.
    3. Right-click away from either a link or a selection, and select the appropriate option from the contextual menu, to have nvALT download the current page you’re on as a new note.
    4. Right-click on selected text, and select the appropriate option from the contextual menu, to have nvALT create a new note with the selected text as well as a link to the current page you’re on.

I don’t know how I should feel about this.

Interesting Links: July 28, 2011

A primer for converting Markdown files into Microsoft Office-readable files.

I’d rather not see hashtags take off on G+.

The hashtag was invented by Chris Messina only three years ago. So far, its power has been limited to Twitter. But I see an opportunity to expand its use and its empowerment the more it is supported on other platforms. When Google+ finally gets search and when it releases its API, it would be wonderful to see it enable users to easily enter tags and cluster conversations around them. There’s an opportunity to use tag data to learn more about the topicality of conversations and content all around the net, on Twitter, Google+, Tumblr, blogs, Flickr, YouTube, maybe Facebook. There’s our chance to limit the power of these silos.

I’m right there with you guys.

This is why console games are easier and more widely played compared to PC games.

Well, that’s pretty nice of Nintendo.