Dougal Campbell's geek ramblings

WordPress, web development, and world domination.

Software Development

At work, I think I’m about to get excited about Eclipse, a sort of uber-IDE that can use plug-ins for handling all sorts of different programming languages, platforms, environments, etc. It’s an Open Source project with lots of Big Names behind it. Very cool, in a mega-geek kind of way.

At home, I’ve gotten a little excited looking at some weblog software called b2. I had previously been looking at pMachine, which actually seems slightly more polished. But something about b2 just feels better to me. Still…. Neither of these systems (or the one I use now) is written quite how I would have done it.

I’ve been semi-seriously thinking for a while now about writing my own blogging system. On the one hand, there are already a ton of solutions available, so it almost seems like a waste of time to write Yet Another Blog System. But I just feel like none of the ones that I’ve seen are quite what I want. What do I want?

  • Security. My blog system (Let’s call it “dBlog”) would be written with security in mind from the get-go. Much of the blogware (phpNuke, PostNuke, MyPHPBlog, Thatware, etc) was written without security in the forefront, and have suffered security holes as a result. (b2 and pMachine both seem to be pretty securely written, and b2 in particular uses some good techniques)
  • Modularity. dBlog would be extremely modular. It would be strongly template driven. It would separate content from presentation at multiple levels. Core functions would be object oriented and would encapsulate data until the last minute, when it would be passed to presentation functions appropriate to the task at hand. Every effort would be made to generate valid XHTML, with CSS controlling the final rendering in the browser. (b2 and pMachine are both pretty good at this, but I’d go a step farther)
  • Connectivity: dBlog would incorporate methods to interact with other systems via RSS/RDF output and import, and via TrackBack and PingBack to other blogs. It would support the Blogger and metaWeblog APIs. (b2 already does this).
  • Configurability: dBlog would present a rich API to the web developer, making it simple for others to modify to suit their needs. A great deal of the system would be configurable on the fly via a web-based administration interface. (pMachine already does this pretty well)

Many of these things are already done well by either b2 or pMachine. The main place where they fall short is in the Modularity area. They are both fairly modular, but not to the level that I’m envisioning. pMachine comes pretty close in places, but it could be refactored quite a bit. Again, the key difference I’m thinking of is that dBlog would keep all data encapsulated in objects, then pass those objects to appropriate functions to generate output, whether that be as HTML, RSS, or perhaps even PDF. The display functions would never do database queries.

Will dBlog ever be written? Who knows…. I keep hoping that somebody else will write it first. But eventually I might break down and do it myself.

About Dougal Campbell

Dougal is a web developer, and a "Developer Emeritus" for the WordPress platform. When he's not coding PHP, Perl, CSS, JavaScript, or whatnot, he spends time with his wife, three children, a dog, and a cat in their Atlanta area home.
This entry was posted in Blogs and tagged , , , . Bookmark the permalink.

6 Responses to Software Development

  1. Pingback: WordPress

  2. Pingback: WordPress and Drupal: Convergence?

  3. Pingback: WordPress’ First Developers – WordPress Book

Leave a Reply