Back to the Basics – Design Reboot (part 1)

I think I’ve worked out most of the kinks in moving the blog to it’s new home, so I thought I would spend a little time talking about some of the challenges and ideas behind this shift.

But first a little bit of history – I originally started blogging on a free service provided a site called myblogsite.com. Since this was a hosted service, there was tremendous restrictions placed on what you could and could not do in terms of look and feel. A few months in, the site abruptly shut down and I lost my backup of the posts1

Smarting from that loss, I did a little bit of searching and came across Weblogs. It almost was too good to be true – 2 GB storage, full wordpress hosting, FTP access; the works – and all this for free! I shamelessly begged JD for an account and he was kind enough to let me in. Obviously moving from an completely locked down service to Weblogs was like letting a kid loose in a candy store.

I wound up choosing a 3 column theme – strike 1 for visual overload. Next I installed 30-something plugins in my WordPress install – visual overload, strike 2. I then started adding all sorts of “flair” – Flickr photos, feed subscribe widgets, page ranking widgets on and on and on – visual overload, strike 3.

Now in my defence, I should say that alteast initially there was a method to this madness. I saw the blog as a “portal” to my life – a clearing-house if you will, about my online life. You could come here and find out what I was doing (hence a status page). You could look at interesting (ahem) things I had seen. Why you could even find out what the weather outside my window was!

But over time that message got a little muddied – I didn’t update the status page often enough. The blog itself wasn’t updated frequently. And my online “life” was spread far too wide to integrate in any reasonable way into this one page.

It was around this time that two things happened:

1. I actually went and bought this domain name, figuring a guy with some income and a reasonable amount of computer-savvy should really have his own website.

2. I read an article on the Coding Horror on the worst blog cliches – and realized I was guilty of more than half!

It was time to make a clean break with the past. What could I do? I knew I wouldn’t be moving away from WordPress as a platform – it was the only platform I really understood in any way. So that left the look, i.e. the theme and the feel, i.e what content was displayed on the blog.

For the look, I realized the 3 column theme simply did not make sense given the blog is not part of a network of blogs where the 3rd column might display other content. Further, 3 columns just didn’t work well with the way most people read, so it was time to switch to something simpler. A little bit of searching on WordPress Extend yielded the Web2.0 theme that I’m using now.

Reworking how content appears on the blog was two-fold: One, getting rid of the clunky HTML I had wedged into the blog as part of the “flair”2. Two, KISS – no extraneous cute stuff like widgets or geo-tagging. My plugin list would be more focused on making the back-end more useful. A plugin would either help people find content in the blog (hence, Simple Tags and Popularity Contest) or help with the flow of the post (hence WP Footnotes) or provide missing functionality (Contact Forms etc.)3

The final piece of this puzzle was making sure I actually built up the blog the right way instead of constantly editing and adding on a live install. This way, if I screwed up (and there were quite a few restarts) or changed my mind, a do-over was simply a question of restoring a backup. The answer to this came in the form of WAMP Server – which made the otherwise nightmarish process of getting Apache-MySQL-PHP running on Windows4 a simple, push-the-button affair.

There were some difficult choices along the way – for example, do I put in the Flickr photos widget or not? My stats tracking on the old blog revealed there was a decent amount of click-through from the blog to some of the photos. Why lose that traffic? The answer to that goes back to the original idea – can my blog be a portal? My own experience says no – our online lives are now too widespread, too entrenched in each of the websites we frequent to easily co-exist. It could be made to work – if you were willing to live with a page that a lot of competing visual elements. But few things are more attractive than a website that does one thing – and does it well :-) .

  1. though a partial version can still be found on Bloglines []
  2. A difficult and educational experience as it turned out, and the subject of the next post in the series []
  3. I remember reading somewhere that a lot of programmers think parenthetically – which comes out a lot when they write :-) []
  4. The instructions for getting Apache running on Windows on the Apache site just don’t work []

“Import WordPress” – painfully..

One of the newer features in WordPress 2.1.x onwards is the ability to export and import almost all the content from a WordPress install using a WXR file. The file contains (to quote) “posts, comments, custom fields, pages, and categories” and if you are starting a fresh WordPress install on a new site or just taking a backup, it’s a very convenient and handy thing.

Except there are a couple of issues:

  • The import process has a hard limit of 2MB. In other words, a file larger than 2 MB simply cannot be imported. Given that my small blog in WP 2.3 generates a 1.8MB file, it would have been useful if the export process could generate multiple files of a some pre-defined size to ensure we don’t hit this limit. Unfortunately that option doesn’t exist.
  • Far more frustrating is how unreliable the whole import process is. Over the last few weeks, I’ve been forced to scrub my Dev install and start over (for various reasons) and each time, I’ve had the same problem – the importer will not load all posts at one go and with each pass, the number of posts not imported so far that get added becomes smaller and smaller. For example, pass 1 will import 30 posts, pass 2 of the same file 18 posts and pass 3 might not import anything new at all!

I have tried various tricks and so far none of them will get WordPress to load the whole file at one pass. What I have managed to do however is to ensure that it loads atleast 20-30 new posts each time. Every time a file gets loaded, take note of the last post that got imported. Then open up the XML file in a text editor , search for that post and delete everything in the file before that, but keep the tags section. Save the edited file with a new name and then start the import process again.

Removing already imported content and giving it a new name seems to force some kind of cache refresh and keeps the import process moving quickly. It’s a pretty bad workaround though and I’m not looking forward to having to do this when I relaunch the blog.

There are several threads on the Wordpress to Wordpress import function on the Support forums, but nothing that seems similar to what I’m seeing.

I was hoping to keep my Dev environment up-to-date using this option, but the effort involved in this makes me think I don’t have much chance of that.

WordPress build has backdoors built in

WordPress Blog » WordPress 2.1.1 dangerous, Upgrade to 2.1.2 [via MetaFilter]

Apparently, crackers managed to break into a WordPress server and add malicious code to the 2.1.1 build of WordPress that allows for remote PHP execution.

This is probably one of the most sophisticated types of security attacks – embedding trap doors in trusted builds. And extremely worrying for the open source movement if it takes off.

Finally fixed that pesky problem in my posts

I have a weird problem when using BlogJet to write articles in that any post I publish using BlogJet actually queues up to be posted 8 hours later!

It’s a bug in BlogJet, because 8 hours is the offset I have entered in my WordPress settings so that all my posts appear with a Singapore timestamp.

Any how, that meant I had to log into my Dashboard and edit the time stamp of each post by hand. Fairly irritating to say the least :(

It was made worse by the fact that I was using the HTML character “hr” to draw a line at the end of each post, after which I would enter my location where the post was made (The part that goes “This post was written from…”) and the Technorati Tags.

Now unfortuantely, when I try to edit the timestamp in the WordPress editor, it would screw up the formatting of that line and the text immediately after the line, that is “The post was written from..” would appear weirdly outsized.

I finally managed to fix it by switching off the rich editor in my WordPress settings. Yay! :D .. Though that will  make editing my daily link posts for missing info / links etc much harder..sigh :(