This is not official Habari policy, nor is it a final, polished document. more it serves to get some ideas outside of my head.
How do we build Habari?
The goal of Habari is to build a web log publishing application that a web architect and her mother can both love. This means that every decision we make should be geared towards achieving this vision.
Let's break this statement down into its component parts. First, we define what Habari is. The core of the project is about publishing a set of posts for others to view. Traditionally, these posts are text, and are displayed chronologically. Next we look at who it is geared at. We are, of course, generalizing here in assuming that our web architect and their mother have significantly different desires and expectations in terms of what they're looking for in a web application. We're also making an assumption regarding their levels of experience with software. Finally, we look at how we define their integration with Habari. We want them to love Habari.
To achieve this, we must keep ourselves focused on making sure that Habari satisfies these requirements. Each action we take should be filtered through the idea: "How will this make web publishing better for both of our imaginary users?" To accomplish this, we need an idea of who those users are. Let's meet them.
Heather Habari is a 28 year old web architect at a mid-sized company. She is active in a few local organizations and is an avid photographer and reader of novels. She is also a privacy advocate and does some coding on Open Source projects in her spare time. She wants to set up a personal blog for friends and family to read, as well as a site about doing volunteer programming for non-profit groups.
Her mother, Henrietta Habari, is recently retired and is, like her daughter, active in several local groups. She has recently begun compiling a history of her family and spends quite a bit of time in her garden. She's asked for Heather's help in setting up an online newsletter for her garden club as well as a site to chronical some of the more interesting stories she's unearthed while researching the family tree.
Now that we know a bit about Heather and Henrietta, we can frame our decisions in terms of "Will this make Heather and Henrietta love Habari more?" if the answer is "No" then we know to look for another course of action. We can describe new features in terms of how they benefit Heather and Henrietta. We want an interface simple enough to use that Henrietta doesn't feel that she needs to go buy "Habari for Dummies" to use it. We want her to be able to sit down at her computer, write a story about Great Uncle Harvey, attach a picture and publish it. We want her to be able to give the new treasurer of the Garden Club access to write an update on the annual fund-raiser. We want Heather to be able to use Habari as a home base for her various on-line activities. We want her, with a minimum number of clicks to be able to tell her friends about a great song she heard with a link to the album on last.fm, or to post the video she took with her phone of karaoke night. We want her to know that when she makes a post about having trouble sleeping, only the people she approves will be able to read it, and it won't become a honeypot for sleeping pill spam. We want her to know that her programming blog will ping Technorati, but won't be sending copies of every comment left on the site to the anti-spam server. Or if it does, it's because she specifically approved it.
This is just a start to how we can use a focus on the user experience to guide the development of Habari. And each member of the Community will have a slightly different version of Heather and Henrietta in their mind. We will each have a slightly different view of a novice user's wants and needs and those of an expert user. This diversity will help insure that all levels of users across the entire spectrum of the Community are represented. While this myriad of opinions will, inevitably lead to some disagreement as to the best solution for some issues, they will insure that the code and the community remain vibrant. And by focusing on our users (real and imaginary) we can keep the debate at the level of determining what's best for the Community and avoid divisive arguments. By using Heather and Henrietta as our guides, we can build a web publishing app and a community that they (and the rest of us) can really love.