Musings from Mars Banner Image
For Software Addicts: Yes!MaybeNah!
Mars Report:

Well, That Took Longer Than I Thought!

Published November 29th, 2005

This is a tale of two blogs: Blogger, and WordPress. When I looked around for blogging tools and software last March, I settled on Blogger (now owned by Google) because it looked like I could get up and running very quickly. And I did! I don’t think it took me more than a week to customize an existing template and choose the few options available to get something I was pleased with.

Blogger is kind of like Apple’s .mac HomePage tool… mostly, you just point and click and make the best of the few options you have. Still, with very little effort you can end up with something that looks very professional. In my review of tools, I noted wistfully the powerful features of tools like WordPress and Movable Type. As a guy who likes to design and program web sites, those two blogging systems loomed on the net like two giant chocolate ocean liners. But I knew I had to be strong and ignore them, in order to get the blog up with a minimum of effort.

Blogger Design

At the time, I also looked at desktop blogging tools and settled on Ecto, which I’ve been very pleased with. My only complaint is that Ecto’s developer updates the software so often I’m always having to download a new version! But it’s not much of a complaint, really, since each update just makes Ecto better.

So, with Blogger and Ecto in hand, I happily began writing down many things, delighting in my newfound ability to express my rants in a more disciplined form. As my “catalog” of articles grew, however, I started bumping up against the one feature of Blogger that bothered me in the beginning: No categories. As of this writing, Blogger offers no way to organize posts into categories or to tag them with keywords. This is a pretty serious deficiency, but it only has an impact after you’ve written more than a dozen posts or so, or if you’ve started writing about more than one subject.

That “bump” point came for me over the summer, but I knew I would need time to convert the site to WordPress or Movable Type. Various competing priorities in my life forced that project into late October, and it was on November 1 that I finally downloaded and installed WordPress on my G5 at home. Why WordPress and not Movable Type? They both looked great to me, but a few factors edged me toward WordPress:

  1. I’m more familiar with PHP than Perl, and WordPress is written in PHP; Movable Type, in Perl.
  2. Although Movable Type is free for personal use, it’s still a privately owned product that uses a proprietary tagging system. WordPress is open source with tags written in PHP, and I like to use open source tools whenever possible.
  3. WordPress has an extremely quick and easy installation routine.
  4. WordPress supports subcategories as well as categories
  5. WordPress seemed to have better support for “skinning” (letting users select alternative templates).
  6. I got the feeling from browsing the Movable Type website that some plugins cost money, and in fact that I might find myself tempted to spend money in general with that platform. With WordPress, virtually everything is free.

Clearly, both blogging systems have a large following, but I was satisfied that WordPress had the documentation and community support I would need to make the most of it.

“Why did you look at only WordPress and Movable Type?” you ask. Well… That would be because I didn’t have time to thoroughly investigate everything out there. I looked at feature tables like this one, and the sheer number of possible blogging platforms boggled (or is it “bloggled”?) my mind. As much as I would have enjoyed downloading, installing, and trying out each one, I would still be doing that today if I had tried. Somewhere along the way, it became clear to me that WordPress and Movable Type were the “market leaders” here, so I limited my choice to them. (Sorry, b2Evolution, bBlog, Blojsam, Bloxsam, and the rest of you fine blog makers!)

So I jumped into WordPress in early November and didn’t look up until the site was converted last Tuesday, November 22. I was also transitioning to a new hosting service, so late last Tuesday night I switched my DNS servers to the new company–Server Logistics–and made my bright, shiny new WordPress-powered blog available to the public.

Now, when I step back from it, I have to admit that 3 weeks isn’t an unreasonable amount of time to launch a new blog with the rich capabilities of a complex tool like WordPress. On the other hand, that’s 3 weeks when I wasn’t working on any number of other projects, which have now all backed up and threaten to overwhelm my stress threshhold. :-)

Could it have been done in less than 3 weeks? Certainly! There are literally hundreds of terrific templates for WordPress, and I downloaded, installed, and evaluated several dozen of them (available theme lists are here and here). But being the perfectionist tinkerer I am, I simply couldn’t find one that did everything I wanted–the way I wanted. It took me quite awhile to find the template pieces I needed, and the result you see here is a conglomeration of several different themes.

One of the first things you realize with WordPress is that you’re not gonna get anywhere in theme work without knowing Cascading Style Sheets (CSS) thoroughly. Now, I wasn’t a novice at CSS when I started my WordPress theme a month ago, and even after this I can’t say that I know CSS “thoroughly.” CSS is much more complicated than HTML, and its syntax is nothing like any programming language. Like a complex work of art, admirers come to appreciate CSS only after a long apprenticeship, during which they gaze at CSS from many different angles. It’s also important afterwards to share what you’ve learned about CSS with the world, which is why the web now has so many CSS wise men (and women) sitting on their mountaintop blogs and dispensing pearls of wisdom to those who approach them.

I picked up quite a few new CSS pearls myself over the last few weeks. One of the cool attributes I discovered was fixed, which you can apply to page elements to make them stick to certain positions on the page. I first noticed this used with the body tag in some WordPress themes. In these, the designer used background-attachment: fixed to make a background graphic stay, for example, at the top of the screen rather than scrolling with the content.

Then I realized that the themes I had seen which appeared to use the old-fashioned (and much scorned) <frame> tag were in fact an implementation of the fixed attribute. By using position: fixed in a style, you can keep a given page element from scrolling with the content. Since I’ve always been a fan of designing websites with persistent navigation–the main reason I was an early advocate of frames–I took a quick detour in CSS to implement this in my page header. To make the content slide under the fixed element, you simply add appropriate z-index values to the CSS page elements. This is way better than frames!

The next step was to migrate all of my Blogger posts–including all the comments (and their dates, etc.)–to WordPress. Although WordPress has a tool for this, the chatter I read in the WordPress forums indicated that it wasn’t very reliable or easy to use. Fortunately, I was able to locate a useful hack that I can testify really worked well for me. There’s even an illustrated guide to using this “Blogger Import” script. After running the script, I had all my Blogger posts, accurately migrated along with all of their comments, to my new WordPress installation. It was at this point that I realized everything was going to be fine. The rest was just fine-tuning, and I probably could have shaved a week off the project by being satisfied with rough-tuning instead.

But I wasn’t. No, once I had the design settled, and the content migrated, it was time for the fun part to begin: To see what all those WordPress plugins (see here and here, for example) could do for me.

Once you start investigating WordPress plugins, there’s no turning back. I mentioned earlier that WordPress had looked like a chocolate ship to me from the distance of Blogger. Well, wandering through the plugins lists was like walking the decks of that ship, only now it was obvious that the delights were available in many flavors besides chocolate! Here again, it was necessary to restrain myself and stay focused on the goal at hand. I did only a fair-to-middlin’ job at enforcing restraint, and ended up installing several plugins that were simply “nice to have” rather than “must have” functionality. Still, I look forward to taking more time, a few months from now perhaps, to wander back into that particular candy ship and sample some more goodies. :-)

Just for the record… and for those who may be interested… here are the WordPress plugins I’ve used in the initial launch of the new Musings from Mars (in alphabetical order):

Extended Live Archives.
This one was a godsend in providing really useful, browsable archives… both by category and by date
Bloglines Reader
Bloglines is one of the many web services that have sprung up in recent years that are so wonderful you almost feel guilty not paying for them. I use Bloglines for all my RSS newsfeeds and have used their “clipping” service for many months now to organize and store articles of interest. This plugin made it easy to mirror that info on my blog.
Browser Sniff
I thought it would be fun to record the browser and operating system of the folks who leave comments here.
CG-Referrer
This plugin stores information in the database about where visitors link to the site from. It’s one of many plugins for the WordPress administration tool that are available out there.
CG-Samecat
I wanted to show related articles in the sidebar, in case visitors wanted to read more of my rantings on a particular topic.
Custom Query String
This mysteriously generic-sounding plugin actually does something quite useful… It allows you to alter the number of posts displayed on a given page, rather than using the systemwide default. This way, for example, I can show only one post (the latest) on the home page, but many summaries on the category listings.
del.icio.us cached
Remember what I said about Bloglines? The del.icio.us service does for bookmarks what Bloglines does for RSS feeds.
Dunstan’s Time Since
I just like this one. Rather than always time-stamping the posts with a boring “Posted on September 7, 2005,” it converts the time-stamp to the more elegant “This article was posted 2 months, 3 weeks ago on Wednesday, September 7th, 2005 at 3:28 pm.” Very cool.
Enhanced Post List
This is another administrative plugin… it makes editing your posts in the WordPress admin tool easier.
Fold_category_list and Fold_page_list
These plugins just save space on the page by collapsing subcategories and subpages. The subcategories and subpages “fold out” when you select the parent category or page from the navigation menu.
Get Custom Field Values
WordPress lets you define custom fields for pages and posts, but doesn’t give you an easy way to reference them in your templates. This plugin makes it easy to do that. I added some custom fields on the Apple Myths and “Dell versus Apple” pages and found this plugin to help make use of them.
Bread Crumb Trail Generator
I tried out several breadcrumb plugins, but this came closest to what I wanted, and it supports the “permalinks” I’m using as well. Some people interpret “breadcrumb” as being a log of every step you’ve taken on a website, and its Hansel-and-Gretel origin no doubt inspires that belief in the more literal-minded among us. What it really means, however, is “showing the way” out or back to some logical (safe) destination. I’m sure most users don’t really want to return to an important page via the circuitous route they may have taken to get there. :-) Show me the way, but make it the most direct way, please!
Live Comment Preview
OK, I admit it. This one is just some very cool javascript-powered eye-candy, which I’m something of a sucker for.
Official comments
This plugin provides ways to distinguish the author’s (my) comments from those of visitors in a conversation thread.
RC Custom Comment Text
With this plugin, you get a new field in the database that lets you customize the heading for the comments section of each post. Instead of the default “Comments (0)” you can have “Say What??” instead, if you want.
Tiger Style Administration
The default WordPress administration tool is very plain-jane… boring and only minimally functional from a usability standpoint. This gift to WordPress’ers turns the tool into a Macintosh-quality interface.
Search Excerpt
To quote from the plugin author, “Search Excerpt plugin displays text snippets around found keywords, with matches highlighted, in a WordPress search.” Much nicer than the default behavior.

So, have I employed enough plugins, do you think?

Well, as I said, this rather lengthy list is the result of a good deal of self-restraint on my part… believe it or not. There are so many more ways to enhance the site with WordPress plugins, I really don’t even want to think about it for a few months. I’ve already had to go back and fiddle with the CSS style sheets to make the site look reasonably OK in Internet Explorer, which of course doesn’t support standard CSS the way the Mozilla and Webkit-based browsers do. The site still has some lame parts in IE, but hey, it’s too cool for IE anyway. :-)

Now that I’m done with the programming and design part, I really want to spend some time writing again!

So stay tuned. I’ve got a list of planned articles that’ll easily carry me through 2006. And now I’ve got a blogging platform that I can waste a lot of time tinkering with can grow with me.

    
  • del.icio.us
  • Google
  • Slashdot
  • Technorati
  • blogmarks
  • Tumblr
  • Digg
  • Facebook
  • Mixx

Show Comments
Just Say No To Flash