qrcode
The slightly less long-winded not-at-work version of Will

Theme by nostrich.

10th January 2012

Post

Why Dissing Atlassian?

For April Fools’ this year, Atlassian released a “game” called Angry Nerds. And then when they released Confluence 4.0, they truly made a serious mob of Angry Nerds. There are long-ish threads on their site by folks who are stark-raving mad about Confluence 4.0

For the uninitiated, Confluence is a wiki - much like Mediawiki. The idea is that the community of readers is generally more knowledgeable about some subject than any one person. For geeks, this sort of “throw something out there and let the masses correct” mentality is our lifeblood. It’s far more civil than in the 90’s when all we had as a feedback mechanism was flame wars on Usenet (insert reference to Godwin’s Law here).

So what was the think that Confluence did that made everybody so furious? They removed the wiki editor. You might ask “how, exactly, does one edit a wiki without a wiki editor?quot; Geeks are asking the same question. Confluence 4.0 only has a Rich Text Editor (RTE) now, and no wiki markup editor. You can still type wiki markup into the Rich Text Editor, and it’s converted to XHTML on the client side. But it’s stored in XHTML on the server side.

For the non-technical, you might be thinking that this is sufficient - the geeks can still type in wiki markup and so should be happy, and Confluence gets to publish a single editor so non-technical people are happy, right? Wrong. There are a number of beautiful things about wiki markup as a storage format as well:

  • The markup format itself is human-readable.
  • The markup format is smaller in size
  • The markup format can be retrieved to be edited in its wiki format again
  • The markup format is simply created by scripts (without libraries for generating XHTML)
  • The markup format can be read in its native format in a text editor, without a browser

Some of these are very similar to one another, but as a geek, they’re critical. To give an example of this ability to “go both ways” and retrieve the document later in the wiki markup format and be able to read it in plain text, take a look at these couple of pages. README.md from jQuery in HTML format - this is what the Markdown format for the README looks like when rendered in HTML. But the source reads well in a text editor. That last thing is the actual source for what you see on the first link.

In Confluence 3.0, you could edit pages in a similar format, and they were stored in that format, so you could later edit them in that same format, or edit them in a text editor, and it looked formatted even in the text editor.

In Confluence 4.0, the source for that above markup would look something like this:

<div id="readme" class="blob instapaper_body">
<div class="markdown-body"><h1>
<a href="http://jquery.com/">jQuery</a> - New Wave JavaScript</h1>
<h2>Contribution Guides</h2>
<p>In the spirit of open source software development, jQuery always encourages
community code contribution. To help you get started and before you jump into writing
code, be sure to read these important contribution guidelines thoroughly:</p>
<ol>
<li><a href="http://docs.jquery.com/Getting_Involved">Getting Involved</a></li>
<li><a href="http://docs.jquery.com/JQuery_Core_Style_Guidelines">Core Style
Guide</a></li>
<li><a href="http://docs.jquery.com/Tips_for_jQuery_Bug_Patching">Tips For Bug
Patching</a></li>
</ol><h2>What you need to build your own jQuery</h2>

That’s clearly not readable in a plain-text editor, so a developer must use a browser to even be able to read the content at all let alone with some semblance of emphasis, hierarchy, etc. Editing this by hand or programmatically is extremely error-prone.

And all that is not to mention there’s a ridiculous amount of complexity in securely handling data stored in that format. Just ask MySpace.

Oh yeah - I edit my blog posts in Markdown format, and they read just fine in a plain-text editor. And years down the line, if I decide I want to read all my posts in a text editor, they still read just fine there, too.

by

()