Back in February I started becoming interested in this new blogging project called Habari. I, like most people, had been using WordPress for years on what passed for my pathetic excuse for a blog.
Over those years I went through phases of love and hate for WordPress as they branched out and tried new things. Often it seemed that the good came hand-in-hand with the bad. While striving to improve their product and push adoption to the masses, many changes seemed to forsake those hard core users who had been loyal all along.
With the creation of the wordpress.com hosted platform and the funding of Automattic to continue to improve and pursue these ventures, things really began to take a turn for the worse. The line between open source and commercial venture began to blur, and continued development seemed to focus on the hosted aspect, rather than the self-hosted community. Some features did trickle back down, but the gap continued to grow as time went on.
Along the way, something totally unrelated to WordPress and the blogging world happened. My coding skills improved. While I had previously been content to harness the awesome power of the WordPress plugin system, I now felt the need to branch out and spread my coding wings. Realizing that the WordPress code base was a mess of PHP4 code, global functions and variables, and lacked any documentation at all, I became frustrated trying to make changes. Since that time, WordPress has attempted to make strides in the documentation and global functions areas, but for the most part the codebase remains as messy as ever.
Looking for alternatives, I happened to stumble upon Habari. Several people I’d known from the WordPress IRC channel had begun to frequent their IRC channel as well, and I migrated over mainly to have more people to chat with regularly. As I became more familiar with the people involved and started participating in some of the arguments happening around functionality and usability, I began to become more and more interested in the product as a whole.
Habari is totally PHP5-based. It doesn’t sacrifice functionality to appease a few misguided souls who believe PHP4 was the perfect development platform for an open source application. It’s also focused on providing the most reliable and flexible blogging experience possible (for example, it supports MySQL, SQLite, and Postgres out of the box). This kind of dedication to providing a system that will (eventually) run on any combination of technologies is really what sets Habari apart from most of the other platforms available. It’s not just about the database systems it supports, because that same approach is taken with everything: make it modular so people can substitute in their own pieces to create a system that works for them.
At the same time, close attention is paid to the quality and reliability of the code written to support these features. Not only is it heavily object-oriented, but it’s also very flexible (the two do generally go hand-in-hand) and of a high quality, which improves extensibility and performance greatly.
Don’t believe me? How about an example? Here’s a Pingdom response time graph of my blog moving from WordPress to Habari on the same Slicehost VPS:
Response times go from 900 - 1,250 ms on WordPress to 550 - 600 ms on Habari with the same content (and actually both were running their respective K2 themes) on the same server. Not only did Habari cut response times in half, but it is also much more consistent. Those 300 ms spikes are no longer a problem, it’s smooth sailing the blogging seas onboard the S.S. Habari.
If you haven’t given Habari a look, or have only tried an older version, I encourage you to test drive the latest development code straight out of SVN. It’s leaps and bounds beyond the 0.5 release and growing closer and closer to a 0.6 release every day. You should also take a few minutes to stop by the #habari IRC channel on irc.freenode.net and say hi - our community is half the value.