Sunday 7 October 2012

Idea for improving blog creation productivity (post by screenshot)

Here is an idea for how to improve the quality and creation-speed the technical articles that I write regularly.

I have quite a lot of information to share and publish, and making that process as smooth and simple as possible is very important, since not only will that allow for better articles to be published, it will also increase their quantity.

My requirements are: Write Text with Images and Source code embed in them

Ironically none of the two Blogging engines (Wordpress and Blogger) that I currently use give me an easy environment to do that.

I use Wordpress for the https://o2platform.wordpress.com blog and 159 articles later (with tons and tons of source-code examples) I have given up using it (which is why you will noticed that my recent O2 technical posts where written on this blog). The three key problems I had with Wordpress where:

  • massive bloat of their interface,
  • hard to upload images, 
  • spending tons of time (after writing the article) fixing its html formating.


I use Blogger for this blog and 405 posts later I also had enough with its:

  • html formatting,
  • image Upload workflow, 
  • no support for Code Samples/Formatting, 
  • convoluted preview mode (which also affects the stats), 
  • no support for Markdown/WikiText , 
  • lack of proper/consistent support for HTTPS/SSL , 
  • poor mapping/exposure of related content (all we have at the moment are 'Labels') , 
  • not very nice Design. I'm still using the 'Simple' mode since I really didn't liked the 'Dynamic Views' they added recently (and by the number of Blogger blogs that don't use 'Dynamic Views', I guess I'm not the only one)

Now for Blogger's credit, I do prefer its GUI (which I'm using now) and for text-only blog posts it's good.

My key problem with images and code samples is that its creation needs to be instant (namely from copy and paste). When telling a story I like to use images and code samples intermixed with text, since they not provide powerful visual clues on that is happening, they also shorten the amount of text that needs to be written.

The problem with HTML formatting, which is something that I also had to deal with TeamMentor, is that HTML is a horrible way to store visual metadata. There are so many variations and ways to format the code, that HTML editors have an impossible job in trying to make sense of it (and add to that the XSS vectors).

Bottom Line:  if Google/Blogger, Wordpress, a bunch of WYSIWYG web editors, can't get it right, ,my instinct is pointing me to the conclusion that there is NO SOLUTION. 

Which means that the solution is NOT to improve HTML parsing, but to replace it with something better, like for example WikiText or MarkDown.

These days I'm a massive fan of this idea. I added WikiText support to TeamMentor as a experiment (and non-documented feature), and it just took off. WikiText is now the preferred way to create content (all new articles in the new 3.2 release where written using it) AND on the next version of TeamMentor we are going to move ALL our content into (most likely ) Markdown.

To wrap up the description of the problem, although I could move to a complete new blogging/publishing platform (and I have looked at what is available), what is currently out there doesn't give me a clean solution for my needs, which is to 'Write Text with Images and Source code embed in them'.

I'm also a bit stuck with Blogger because:

  • I already have a decent number of readers (not a lot, but significant)
  • It has a nice 'Create post from email' which I tend to use (and saves time to re-post emails I write)
  • I like its stats (and I have good historical data)
  • It has a number of features to allow blog consumption (RSS, subscribe by email, post to twitter)
  • It has a decent search (both on blog and on admin panel)
  • It supports plain pages (like the ones linked from the top menu)
  • Adding YouTube videos to pages is quite easy
  • It supports direct HTML manipulation (i.e. XSS by design) which allows me to embed GISTs, PDF viewers and YouTube videos
  • Decent amount of 'Google Search Driven' traffic
  • The 'Latest blog post(s)' email that is sent out (for the email subscribers) is quite nice, effective and includes the posted images (but not the embedded gists)


So what is a solution?

Here is my current half-baked idea:

  • Use a TeamMentor 3.2 based website to write the posts (since I will have Markdown, code and image support there)
  • Either: 
    • option A:) Repost the article's HTML as a blog post
    • option B) Repost the article as an screenshot (of the original article)

Option B is quite interesting since it would (if it works) give me the best of both words:

  • A place to write articles that is fast while keeping the post content in a consumable format (namely the code samples)
  • An easy to consume and distribute blog post (which would be basically a repost blog entry with: a title, link and image)
  • The content created stored in Git (since that is what TeamMentor uses)
Since O2 and TeamMentor already have the technology required to do it, the next steps are to write the O2 scripts required to make this happen :)