Reviewing Habari

Yesterday, I decided to install the blogging software Habari on my computer to see what the buzz was about. Overall, I’m impressed with the system and I think it shows a lot of promise for the future. It’s all written in modern PHP 5 (5.2 is the minimum) with PDO so you are not tied to MySQL. Installation was very easy (after I added FollowSymLinks to my .htaccess file). The backend is slick and powered with keyboard shortcuts. Performance seemed fast, but a localhost environment doesn’t really give you a good measure of this so YMMV.

My only complaint about the system is one that I also have with WordPress: the theming system breaks everything into entirely too many pieces. Tags open in one file and close in another. Loops are all over the place. You have to create a class in theme.php to pull in and assign data to the theme. This will certainly difficult for most designers to get their heads around.

I’m definitely a fan of Joomla!’s templating system. While Joomla! is a more general-purpose content management system and Habari is focused on blogging, I think the overall concept could be ported. In Joomla! templates, you have all of the essential markup from <html> to </html> in one file. Within this file, you add named placeholders (bottom, left, right, main, banner, etc…). What goes into these placeholders is determined by the admin of the Joomla! site. This makes it easy for admins to rearrange the elements to suit their desires, while template designers need not touch a line of PHP. In Joomla! templates, desigers can rely on the default core output, then override specific elements only when necessary.

Habari is still in alpha (version 0.6), but it seems to be maturing very quickly. If you’re doing blog sites and are up for something new, definitely give Habari a test. I’m looking forward to the betas and stable copies, but hope that the templating can be simplified drastically.

4 Responses to “Reviewing Habari”

  • Theming is definitely an area of Habari that could use some more consideration. Did you know that it’s possible to create a theme in Habari with a single home.php file? The themes included with Habari are simply one way of doing it.

    These suggestions are good ones, although I also expect that the abundance of WordPress theme developers would disagree with the premise that it’s entirely “bad”. I hope that there is a balance we can strike between these models or a way we can offer access to both types of themes.

    Any designers or theme builders who want to help influence the theme-building fundamentals for Habari should start up a discussion on our mailing list.

    Thanks for taking the time for the review, and hope you keep watching as we move forward!

  • admin:

    Thanks for the comment (and congrats at being my first OpenID commenter :) )

    Yes, there’s little doubt that adding everything to home.php is currently technically possible. However, when people look at what’s currently there, it suggests that splitting off the header and footer is “the way” to design your theme. Whenever I code extensions for existing projects (such as Joomla!), I always try to follow convention so that it makes sense to whoever has to maintain the code later. I feel very strongly that a convention where tags open in one file and close in another is a bad one.

    On the other hand, one thing I have to keep in mind is that when you do a website in blog format it usually dictates a certain design. Hard coding specific elements into the theme might make more sense here. CMSes might benefit more from a “freeform” system than blogs.

  • Yeah, the OpenID thing threw me a little… I didn’t expect it to actually make me log in. :)

    Anyhow, I can see your point about tags opening in one file and closing in another. What I like about that convention is that it lets you check for correctness via internal consistency — an editor that checks matched tags can easily “validate” that aspect of the theme.

    Keep in mind that Habari has the capability of supporting multiple theme engines, so while WordPress converts might like the sloppy style of code to which they’ve become accustomed (*cough*), you might enjoy something a little more fault-tolerant.

    I think the community will welcome suggestions like these, and while I’ll be dragging this one back to share at our campfire, I invite you and anyone to stop by even if just for s’mores.

  • admin:

    Joined the list… now I have to find a moment to catch up :D