WordPress continues delivers cutting edge features

I know I’ve been critical of WordPress in the past, but the new release of WordPress 2.6 allows me to pause and give thanks for all the amazing features that WordPress offers. Earlier tonight I was helping a friend with her Blogger.com blog, and the difference between that and WordPress is night and day.

For instance, Blogger doesn’t even offer out-of-the-box support for below-the-fold text, and the official work-around they suggest is an ugly display:none; CSS hack. Yeah, that’s right, the full text of every post is always included on the main page — there’s just a CSS directive to the browser to hide it! Talk about inefficient! WordPress does it the correct way. And the stylesheet support Blogger has is just hideous. The full text of the stylesheet is included inline with the HTML header on every page. If you don’t believe me, just view the HTML source of this random Blogger blog. They’re all like that.

So compared to Blogger, WordPress is incontrovertibly amazing (and although my friend isn’t likely to want to get server space and administrate her own blog, I would at least recommend moving her blog over to WordPress.com). But the new version of WordPress, 2.6, adds a killer feature that I’ve long wanted in my blog software but haven’t seen anywhere: an integrated revision control system. If you’ve ever read Wikipedia and viewed the history tab, you’ll know what I’m talking about.

Revision control is useful for single author blogs, where you might wipe out a passage only to later wish you had it back. It also helps a lot when there’s some tricky formatting you want to get just right. Without a revision control system, there’s no way to revert to a known good version without first copying the post source into Notepad. But it really shines for multi-author blogs. I remember how, when I was writing for Supreme Commander Talk with Grokmoo, we would edit each others’ posts, and then have to explicitly have a chat about what things in each other’s work needed editing so that the mistakes might not be repeated again. With proper revision control, just execute a diff and what’s changed is plain as day! It always slightly irked me that other people might be editing my words and I would never be able to know. With WordPress 2.6, that’s no longer possible.

So I’ll count my blessings with WordPress. Despite its security vulnerabilities (most of which seem to be passed now) it really is a great piece of software, and the developers continue to add amazing new must-have features to it. Now that I’ve had some experience with another blogging platform, I can unequivocally say that I heartily endorse WordPress. Everyone’s blogging experience should be this smooth.

8 Responses to “WordPress continues delivers cutting edge features”

  1. T2A` Says:

    The funny thing is the whole “after the jump/fold” thing is incredibly easy to implement. You can do it with only a few lines of PHP. And by a few I mean something like 5 as opposed to 50. I did it for the news section of my site (that I’m slacking off updating anymore) in about 20-30 minutes, and that’s including research since I don’t yet know a whole lot about PHP’s convoluted API. :]

    However, WP’s way is actually more work for the server. More lines of code means more stuff to do and more delays before the content is served up. Simply hiding something via CSS is super-fast in comparison, and while it’s not “cool” it’s certainly not a bad solution. Sometimes the more elegant solutions are overkill, but WP seems to be built on the opposite notion.

    Given that you’re still using a very simple theme I’ll assume you haven’t messed around with anything in the realm of customization. If you were ever in the business of creating your own theme or modifying an existing one, WP’s got some serious power behind it in this area. The whole system regarding its themes, plugins, templates, “The Loop”, etc. is well done from an ease of use and extensibility perspective. You can do some pretty crazy stuff with it.

    WP does indeed put your server through a vigorous workout since at any given time it’s running thousands of lines of PHP code where a simpler blogging system might run a couple hundred. I reckon that given equal server power you could randomly click through twice or thrice the number of Blogger blogs as opposed to WP blogs. WP ones will simply run more code, make more queries, and do more shit for every page load.

    But at least it’s got features! :P

  2. William (green) Says:

    I run my blog on Blogger and I haven’t found it to be particularly limiting. I occasionally go “Huh, that’s weird.” but that’s about it.
    I mean, face it, there’s not a whole lot of innovation in a basic blog. It’s a basically a single-thread forum, and we’ve been doing forums for forty years now.

    I do have some gripes, though. As an example, the “Edit HTML” view doesn’t allow you to edit HTML as much as it allows you to input HTML tags into your text instead of using the GUI to do it with a single click or keyboard shortcut. But it counts all line breaks in the “Edit HTML” view as [space added here to get the tag to render as text], which is just stupid.
    As an example, you know?

  3. heather (errantdreams) Says:

    My favorite part of WordPress is simply the incredible variety of plugins available for it, allowing you to customize it to your heart’s content. For my reviews blog I use a ‘related posts’ plugin, so, say, if someone pulls up a review of a book in J.D. Robb’s ‘in death’ series they also see links to reviews of other books in that series. I also use a notification plugin, so folks who want to be notified of comments on a post can be. I love having so many options that allow me to customize pretty much anything.

  4. Cyde Weys Says:

    T2A`: What’s funny is that the “after the jump” functionality is so incredibly easy to implement the correct way, but Blogger completely fails at it and just has an ugly CSS hack that is not at all easy for less technically-inclined people to use (compare having to hack up your stylesheet and add a custom HTML tag and span class versus simply clicking a button to insert &lt!–more–&gt in WordPress). Hiding with CSS isn’t just a bad solution, it’s a terrible solution. It doesn’t particularly save any CPU cycles, yet it wastes a lot of bandwidth, both on the server and on the client.

    Let’s say I’m writing a blog where I frequently post lots of travel photographs. Naturally, I put all of these photographs below the fold because I don’t want to swamp the main page with hundreds of photographs contained in just a few days’ worth of posts. With Blogger’s crappy CSS hack, all of the photographs are downloaded for anyone visiting the main page, only to be hidden by the stylesheet! We’re talking about potentially dozens of megabytes of wasted bandwidth on each load of your main page. So much for snappy loading times on your blog, and if your bandwidth is metered, God help you.

    Or imagine someone who is writing a serial novel on a blog. Let’s say each installment is 50 KB including mark-up, with all but the first few paragraphs hidden below the fold on each post. Loading the main page is going to require downloading hundreds of KB of inline text, and unlike the image example, in which the browser might theoretically defer from downloading images it knows aren’t going to be displayed yet (assuming it’s downloaded the stylesheet first, so it knows the images won’t be seen), there’s absolutely nothing the browser can do to prevent having to download all of that inline HTML. Hopefully now you realize how the CSS hack isn’t just bad, it’s inexcusable. Ditto for inlining the stylesheet with each page, which is utterly bad web practice. And if you’re really so worried about performance with below-the-fold handled in the correct way, just enable caching on your blog. Then each page load will require precisely zero PHP calls, because the HTML output itself has been cached. Hard to get more efficient than that.

    As for the theme I’m using, I would describe it as spartan, not simple. It’s not a standard WordPress theme; it was developed by a friend of a friend and then modified both by the friend and then later me. I have messed around in the realm of customization a lot and this is what I settled on. I’m sorry if you don’t like, but don’t assume that just because I’ve gone for the spartan look (or the function-over-form look, as it were), that I haven’t played around with all of the WordPress extensibility options, because I have done so extensively. You might be surprised to learn that this blog has 19 plugins installed, for example. Most of them just aren’t very visible because they’re focused on the practical rather than the flashy (for instance, caching, anti-spam, upgrades to the admin interface, stats, permalink tweaking, etc.).

    William: I definitely noticed the lackluster WYSIWYG Blogger editor, especially the poor HTML editor. I guess I forgot to mention it in my post. My friend was having problems doing something as simple as resetting custom formatting in the WYSIWYG editor. I couldn’t find a button to do it. And the WYSIWYG editor encourages terrible web behavior, like defining fonts and such on a per-post basis instead of doing it once in the stylesheet and writing each blog post in unadulterated text. I like WordPress because it encourages that things be done the correct way, and it makes it easy to do so. There are no explicity formatting options in any of my posts. Everything is handled by stylesheets. It doesn’t matter so much now, but if I ever wanted to change the look of my site?

    Heather: Yes, the wealth of WordPress plugins are amazing. What I especially like is that since they are in PHP they are necessarily open source (though not necessarily Free Software). I’ve had to hack up some plugins before to get them to do exactly what I want, and I always appreciate that this is possible.

  5. Cyde Weys Says:

    William: And as for this blog being a single-thread forum, single-thread forums are actually a devolution from Usenet, which has a true treed discussion hierarchy. If I get enough comments on my posts here, I’ll install a hierarchical discussion plugin for WordPress. The only reason I haven’t done so already is because it does have some learning overhead for commenters, and when the average post doesn’t hit ten comments, it’s not really necessary to be able to track the flow of conversation.

  6. Cyde Weys Says:

    T2A`: By the way, I should point out that all of the necessary networking calls to the kernel using the CSS hack method to send all of the dozens to hundreds of KB of extra data will eclipse whatever trivial number of extra instructions are required to simply not send it in the first place.

  7. T2A` Says:

    Okay, you got me. In the “running for 20 hours on 3 hours of sleep” state I was in I didn’t really consider uses outside my own. Tunnel vision! I guess because I had mentioned my site it kind of stuck in my brain due to sleepy inefficiency. So, the only example floating around my head was cutting a normal-sized, text-only entry in half (or so), something that would be more work for the server via PHP split and str_replace (and thus CPU and memory usage) than simply sending the whole entry as-is and not showing half of it client-side via CSS.


  8. T2A` Says:

    Oh, and for the record (and trivia), the keyword that causes news posts on my site to split is LOLPOOP.