Spread the news feed icon

So it's official: I'm leaving WordPress behind. I'm involved with the development of Habari, the next-generation blogging solution. One might wonder why we're re-inventing the wheel. Someone recently quipped that we're past the wheel, and are now working on the hovercar! Nonetheless, an explanation of what Habari offers should help explain why I'm involved.

Community

Community is the cornerstone of Habari development. It was community that brought the four of us together, and we're keeping community squarely in mind as we approach decisions and plan features. We recognize that only through collaboration will Habari succeed: each participant brings with him or her their own unique skills and passions. This diversity of talent and ability is an important aspect of Habari's community.

Another important aspect is that Habari is owned by the community. No one person has full authority over it. The people who use it and work on it are the ones who should -- and will -- make decisions about Habari development. Additionally, community members should be given the power to take charge of their areas of expertise. If someone is passionate about documentation, they ought not have to work through someone else's restrictions in order to make the docs successful.

Innovation

Habari is about innovation. There's a lot of great things being done with internet technologies, and we are very interested in integrating them into the way we blog. Things like OpenID, CoComment, and the Atom Publishing Protocol are all very useful innovations. We've been frustrated by the difficulty in integrating these -- and more -- into WordPress. Some of the roadblocks to integration into WordPress were technical, while others were clearly non-technical. We hope to remove both kinds of roadblocks and make Habari the most cutting-edge blogging system available.

One of the very first decisions when planning Habari was to make it a fully object oriented system, and leverage the powerful features of PHP objects. This has resulted in some wonderfully efficient code, and so far the system is remarkably fast. Object oriented programming allows us to streamline the development of user-created plugins; allows us to integrate a unified error handling system; and vastly simplifies the construction of our Application Programming Interface.

Another early goal of Habari was database independence. There exist enough database abstraction libraries that locking oneself into a single database really does seem a poor design decision these days. By using PHP version 5, we gain access to the PHP Data Objects (PDO), which is the PHP-native database independence solution. We currently have MySQL and SQLite working, and are eager to find contributors with PostgreSQL experience. Preliminary conversations suggest that Oracle support wouldn't be too hard, either, surprisingly enough. Another very real benefit to using PHP5 + PDO is that we gain the use of prepared statements for all database interactions. This drastically reduces the likelihood of a SQL injection attack against your blog. We're considering using stored procedures, too, as both a means to improve performance as well as to improve database independence.

Documentation

As much as we're striving to make a system that's friendly and intuitive, we recognize that not all people have the same background as we do; and as such what's intuitive to us might not be intuitive to a first-time blogger. Documentation is of paramount importance to the Habari project. End-user documentation and developer documentation will both be included in the download.

We plan to integrate links to the manual into the Habari administrative interface, so that you may get help about specific parts of each screen with a single click. The manual will be part of your Habari installation, so if you can get to your site you can read the manual. Users should be able to access the documentation without relying on our possibly flaky servers to store the manual they need.

Developers -- and would-be developers -- should also be provided with meaningful documentation. We're fully documenting (via PHPdoc) the source code to Habari, and plan to include thorough instructions as to how the system operates: initialization, request processing, theme and plugin dispatching, and more. This is a fundamental part of the Habari distribution, and not left to the kindness of volunteers after the fact. New methods will be documented when they're included in a new release, not after someone figures it out on behalf of everyone else.

Another important aspect of documentation is meaningful changelogs, listing real changes to the product since the last release. Distributors and integrators rely on changelogs to see what's happened. Developers rely on changelogs to be made aware of fundamental changes to systems they might be using or extending.

Experimentation

Habari is not afraid to experiment with new ideas. The Subversion repository ensures that nothing is ever truly deleted. If someone eagerly checks in a new idea that proves to be either poorly implemented, or maybe just not such a great idea after all, the revision control system makes it easy to correct the situation and move on. We hope to support developer branches for their own work outside of the core trunk.

With all these people having access to check in new code, it's a very real possibility that someone might try to intentionally foul things up. If someone were to flake out and try to actively harm the project by deleting files or polluting contents, the other project members could simply roll back to a previous version before the attack and keep going. If someone checks in something by mistake, or implements something broken outside of their area of expertise, it can be dealt with relatively easily.

Development Model

I met DrBacchus several years ago, and it's been fascinating to listen to him speak about the Apache development process. The meritocracy of the Apache Software Foundation is such that regular participation results in increased permission within the project. This is the model we've decided to adopt for Habari: frequent contributors are given access to submit new stuff directly, because they've proven themselves capable.

This is important for several reasons. First, we each have our own areas of interest and expertise, so by getting more people involved directly we speed up the development of all areas of the code. Second, more people are available to deal with problem situations. Third, the project as a whole doesn't slow down if a few of the developers are offline for extended periods of time. Finally, more developers improves our "bus factor": it takes more people getting hit by more buses to interrupt the project.

Spread the news

We've been working on Habari since October, 2006. I'm tickled that many of the suggestions on "What the new kid on the block needs to get right" had been discussed long before we ever announced the project. With the influx of interest and enthusiasm, there's been a lot of attention on the installation process. Hopefully we can dedicate as much energy to the upgrade process as well.

I'm thrilled with the response to Habari so far. Owen's posted some more info about Habari, as well as a collection of links to some other posts about it. The IRC channel is becoming surprisingly busy. I know eventually all the enthusiasm will taper off, and tough decisions will need to be made; but for right now the sky's the limit!

Needless to say, I'm very excited about Habari!


  • andy
    Skippy - you'll also be tickled to know that Akismet decided your pingback to my item was spam !
  • January 9th, 2007
  • faustina
    I am excited to hear of your aspirations. I just read Andy's post "what the new kids need to get right" and if those things can be done it would be amazing. I will keep up with your development, hopefully it will be something that will be easy to switch to in the future.
  • pat
    First thing I see is the key structure of the posts table is odd. First column is unique and second is primary (not only that a varchar(255) primary key (this may be an issue, I'd have to research it, but typically large keys are frowned upon). I think you should rethink that. Also, do you really want the id to be a smallint? I would use a unsigned integer at least. Get your key structure going with the goal of supporting other platforms. Remember, primary keys are generally used to define the define the database relations, indexes are to improve your lookups. I typically use one or more columns for primary keys and for child tables those same keys + 1 or more additional keys for child tables. I ran away from foreign keys and cascading updates/deletes. Other suggestions, for portability, separate the creation of the database objects from the creation of the data in the objects. Use standard sql mark-up and don't have the DB::o() syntax as the table names, this will make portability easier.
  • Brett
    Good luck with the move Skippy. I might move as well as soon as templates/themes are better supported.
  • January 10th, 2007
  • January 11th, 2007
  • January 11th, 2007
  • Ozh
    Wow, exciting announcements ! And since most of you guys come from WP, I guess importing tools will be bundled with first release for other WPers to try it :) I'm looking forward to test it. I'm completely satisfied with WP right now, but seeing all these people I "know" involved in the same project makes me feel it has to be something top notch. I'm not sure about your name "Habari", which already returns a lot of results in google, but "Spread the news" as a slogan, as I understood it from Owen's post, is really killer. All in all I don't think the casual average blogger will see any benefit in all the tech details provided (DB independance, PHP5 PDO etc...) but the casual average coder that I am will definately keep an eye on this. I wish you all joys and success !
  • January 11th, 2007
  • January 11th, 2007
  • Elfboy
    Skippy, you've always been one to put your money where your mouth is, so to speak, so I'm excited to see you embracing this project. As a WP user, I too am eager to see what importing tools will be bundled with the first release so that I might join the fun. Good luck.
  • January 12th, 2007
  • January 12th, 2007
  • January 13th, 2007
  • Tim Linden
    Sounds interesting. I'll have to wait on it though as I don't use PHP5 yet. I know I know I should upgrade..
  • January 13th, 2007
  • January 15th, 2007
  • January 16th, 2007
  • January 16th, 2007
  • January 17th, 2007
  • Jennifer
    I cannot wait. With coding from my favorite geeks, I can't wait to switch!
  • January 22nd, 2007
  • January 22nd, 2007
  • January 22nd, 2007
  • javier
    where download habary (zip)?
  • January 31st, 2007
  • February 4th, 2007
  • October 17th, 2007
  • Law Student Blog
    You know, the more I read about Habari, the more I like it...
  • Sean Rasmussen
    I found it funny to see a danish post further up in the comments. OK, I can read Danish but struggled a bit with the Chinese writing further down. I'm excited about the Habari project. I'm very keen to look at it when it's released. WordPress is a great blogging software and hopefully Habari will be better. Great work!
  • Eric
    How has it been since your move? I've been looking for a wordpres alternative for a while but I'm having a hard time finding one.
  • skippy
    Eric: I switched to Habari at the time I posted this, so it's been almost 2 years now.
  • Used Engines
    I had nothing but good experiences with Habari. Love it.
  • Jane Palmer
    Thanks..came across this while trying to solve WP's crappy wp-cron issues and it looks very interesting...Here's the Habari link - http://www.habariproject.org/en/ j
  • Bill
    The admin area looks very simplified. I'm not sure if this is for a lack of features or just common sense programming. :) But the frontend looks a lot like WP, which is good. Hopefully it's not hard to create a custom template. I'm looking at moving a blog off of WP, and I might give this a try after reading the manual. Anyone that wants to read the manual, the URL is: http://demo.habariproject.org/doc/manual/index.html
  • Shaw
    Hey Skippy, How are things going with Habari? How does it compare to Drupal? Sounds like there are alot of benefits, but how is the community going to market itself, while WP has such a grip on the blogging community? Shaw
  • skippy
    Shaw: Habari is going great! Take a look at the Habari website to learn more. The community is vibrant and diverse, and a lot of interesting people are making a lot of interesting contributions.
  • porno izle
    There is not yet anything to download or try, it’s an ALPHA release at this point and only suitable for testing, but WOW. Habari is the new blogging tool, which takes advantage of the OOP available in php5. According to Skippy, a former WP dev and now a member of the Habari Blog Tool team, “There exist enough database abstraction libraries that locking oneself into a single database really does seem a poor design decision these days. By using PHP version 5, we gain access to the PHP Data Objects (PDO), which is the PHP-native database independence solution. We currently have MySQL and SQLite working, and are eager to find contributors with PostgreSQL experience. Preliminary conversations suggest that Oracle support wouldn’t be too hard, either, surprisingly enough. Another very real benefit to using PHP5 + PDO is that we gain the use of prepared statements for all database interactions. This drastically reduces the likelihood of a SQL injection attack against your blog.



    I'm excited to see you embracing this project. As a WP user, I too am eager to see what importing tools will be bundled with the first release so that I might join the fun.
  • porno izle
    I'm excited to see you embracing this project. As a WP user, I too am eager to see what importing tools will be bundled with the first release so that I might join the fun.
  • Baby Shower Games
    I have a few WP sites and was wondering where else there might be more info on habari? Assisting with development is a little beyond my capability, but I do enjoy product testing. Thanks.
  • Married Chat
    I heard about Habari. But didn't know in detail what it was all about until now. Well by the sounds of it, i guess it would make a huge impact on WP. Anyway good luck with the project and keep ups posted on how it goes. Would like to try it out. Cheers
  • March 24th, 2009
  • Redband Construction
    Had a look at the Habari site and it mentions:- - Support for static content ("pages") I take it that it comes with caching features? This is WP's biggest weakness - lack of caching (yes WPCache is available as a plugin, but it's not part of WP's install). Is caching part of the Habari build?
  • used engines
    I'm glad Habari supports different variations of SQL, especially postgre, and OpenID. Other CMS need to constantly keep up with the trend if they're to remain relevant in the blogging community.
  • bathroom suite
    I see is the key structure of the posts table is odd. First column is unique and second is primary (not only that a varchar(255) primary key (this may be an issue, I'd have to research it, but typically large keys are frowned upon).

    jill
  • online payday loans
    This is the third post I've read about people switching from wordpress to Habari. Sounds like I need to look into this a little further.
  • Justin Keller
    okay...i was just getting used to wordrpess, i know i am late, and now you say there is a movement to supplant wordpress? oh great. i guess i need to take a look at it.
  • film izle
    I'm glad Habari supports different variations of SQL, especially postgre, and OpenID. Other CMS need to constantly keep up with the trend if they're to remain relevant in the blogging community.

About | Policies | skippy.net