In my last entry
, I wrote that personas are substitute, "fake" users and that they can be useful in focusing development on real users. Now it's time to find out how to write your own personas. Research
Before writing a persona, you should do some research on who your users are.
Here's what you will want to know about your users:
* work experience (in the task domain of your app)
* computer literacy
* frequency of use of the app (or how often they do the task the app is for)
Another thing you should look at are the tasks that people will use your app for to find out what their goals in using it are.
But how can an open source developer find out something like this?
In a large company, which has enough time and money for this kind of stuff, you would be able to talk to the target users in person and watch them do actual work. This is probably not very doable for you -- but if you can somehow manage it, by all means do it, because it is really the best way to find out about your users.
So if you know people who have use for the app you are developing, grab them and ask them some questions. (But don't think you can just ask yourself because you need the program yourself, too. This will not work -- you are not your user and are too much encumbered by technical considerations to be able to think like a normal user in this case.) Also watch them work, either with a previous version of your app or a competing app. If neither exists, watch them do the task without the help of the computer.
The point of this is to make a list of things that people want to achieve by using your app - these will be their goals
. You can find goals most easily by looking out for logical connections between actions that users make and thinking about what the goal of the combined actions might have been (you can also ask them, of course).
Another slightly more doable possibility is asking people your questions in a short web or email survey. But again, it's hard to find these people in the first place.
By now, you prabably have noticed that these usual steps that companies may take to research their target users are not really of much use to a regular independent open source developer without help -- so how can you cheaply and as quickly as possible get some information about your users?
I've thought a long time about this. What we did in the end for our project was look around the web to find competing apps and scoured their web forums and any other sources we could lay our hands on (newsgroups, for example) for anything the users were saying about themselves and how they use the app -- examples are stuff like "I'm a design student and I mainly use ... to ..."
which yields info about age range (student, so probably in their twenties), (future) profession (designer) and what the app is used for (and also possibly gender, if the person has added it to his forum profile). Another example is "I'm just a hobby designer trying to make my own website"
Another good source are blogs. Look for the names of competing apps and see if you find people who write about them in their blogs -- what they like or dislike about them, for example. Blogs often also have personal info like job, age and location of the blogging person, which is very useful. If you've already released older versions of your app, you can of course search for references to your own app, as well.
Note that you will probably find only users that are web and technology savvy enough to actually have blogs or post to web forums, so depending on your app, they may not represent all possible users -- of course, if you are writing a blogging app, then that's perfectly fine ;). Another thing to remember is that if you want to ask people in the irc-channel of your app, you will probably only find very tech savvy ones (how many "normal" users know irc?) who should definitely not be considered as covering your whole user base.
The reasearch part is all for today, wait for more info on writing the actual personas in a few days if you're interested.