With the latest WordPress (2.0) recently released and appearing to be a seeming disappointment (at least to me), I sat down to list the features I look for in a blogging platform. With several clients and friends/ family currently asking me to set them up to blog, it became clear to me that their needs and my needs were markedly different, but that there was an overlap.
So far, for my own needs, I haven’t been particularly happy with any of the platforms out there. I currently use WP (1.5.2), MT (MovableType), Drupal (here), and blogger.com. They all have their strengths and weaknesses, but I think, ultimately, I’ll have to write my own blog platform – possibly jumping off from either Drupal, TextPattern (TP), or WordPress.
I’m listing (below) some of the features that either I or my clients need. My question to Performancers is what features do you want/ need that your current blogging platform(s) doesn’t have?
Partial list of ideal features: (in no particular order)
- Offline editing – I spend a lot of time off the Internet, and always wish I could generate the live pages that I need, for later upload.
- Auto-publish via FTP – If pages are being built offline, obviously they need to be published live at some point.
- Rollback – Some sort of auto-rollback feature might be handy, especially when you have an online community and something seems to have gone wrong. Under normal conditions, this feature probably isn’t necessary.
- Static permalink pages – Static pages get served up faster than dynamic pages that are generated on-demand from the database. WordPress claims that their 2.0 version improves database retrieval, but it still can’t beat static pages. On the other hand, static pages must be rebuilt every time a content change is made. As more pages are added, rebuilding the site takes longer and longer. But this is transparent to users. Blogger.com has this, but most of OpenSource platforms (MT, WP, TP, Drupal, etc.) don’t. Some have plugins to generate static pages.
- Drag’n’drop page elements w/ auto-code generation – Would it be nice to design a blog page template by dragging objects around, then generating the necessary final template code?
- Sub-tables – Within a story, sometimes I need an easy means of setting up a table and dropping in elements, such as a chunk of text or an image. (There is a Firefox extension that aids in this, and works with PFF, but it seems somewhat buggy.)
- Page type categories – I tend to produce hybrid blog/ websites. My “site pages” need to exist with the same (or nearly so) page templates and navigation, but shouldn’t be part of the “recent posts” reverse chronology that blogs use.
- Template binding – Sometimes, I want certain pages (site or blog) to have a different template. For example, maybe post pages have a different ad placement, or different ad network. I want to be able to bind page type with a specific template. This may be as simple as one template for the blog home page, one for post pages (permalinks), and one for site pages. However, for documents such as text or PDF, I would not want any template.
- Navigation link sets – Different types of pages may need different navigation bars. If you have different sections of site pages, you may want sub-menu navbars that don’t appear on site pages in other sections.
- URL choice – I don’t like cryptic URLs. There’s much debate about whether there is a SERPs (Search Engine Results Page) ranking advantage with friendly URLs, but I simply prefer friendly URLs. WP uses “URL rewriting” to produce fake URLs that look like directory names. Drupal and other packages can do this as well. But Drupal can also produce a fake “.html” URL that actually causes a dynamic page to be loaded. My preference is still static pages, and thus URLs with .html in them. My next choice is something programmatic, such as .pl, .php, .asp, etc.
- Post (permalink) pages – These are pretty much standard in all blogging platforms, so this point is here for posterity.
- Excerpts on home page – Fixed-length teasers. These are great for many reasons. Firstly, it allows readers to scan over a blog home page and see several entry fragments. If they’re interested, they can “read more”. For a publisher, they increase page views, provided the teaser text and story title are effective. On the other hand, readers who view a blog that has long entries on the home page will likely leave in a hurry, intimidated by the imposing amount of text. It’s more inviting to have excerpts or summaries.
- Multi-column “recent posts” list – On occasion, I like to design a blog page template that uses 2 or more columns for the “Recent Posts” component.
- Multi-author moderation queue via RSS – The RSS part isn’t strictly necessary, but it makes it easier to moderate if you have loads of content from lots of authors that must be moderated.
- Auto-binding of thumbnails to full-size photo – In some of my blogs, photos or graphics are crucial to the content. I manually create a thumbnail to the desired size (although this can be automated through the use of GIMP or other image processing server-based packages). However, I’d like to be able to bind the thumbnail image to the full-size image automatically.
- Private ad network management – Not everyone needs this, but if your blog grows significantly in readership, you may seek out your own ad clients. Serving and tracking ads then becomes crucial.
- Multiple blogs/ single installation – WordPress 2.0 fell down on this. With all the blog posts and comments I’ve read since last June wishing WP could handle this, I’m surprised it wasn’t implemented. Drupal makes this simple (provided you can get the database access problems I ran into resolved.)
- RSS + Atom feeds – Come on. You’ve got to have this for your blog 🙂
- Shoutbox/ chatbox – These are more fun than plain old comments.
- Polls – Polls aren’t suitable for every time of blog or even an online community, but for my tutorial sites, they’re a necessity.
- Shopping cart – This is an important feature for all of my clients, and will be for me in the future.
Got any more features to add? Dispute any of this? Had problems with a particular blog platform regarding any of the points above?