There are many things I find strange about software development, and software developers. One of the things I find strange is that it can be easy to forget who you are writing the software for, and end up creating a work of art at the code level but create something that is actually unusable, or at best difficult to use.
Another thing I find strange is the fact that when you write software you have two audiences (maybe even three but we will stick at two for the moment). This is especially true in the open source world.
The Primary Audience are the guys and girls who use your software, the people who use all those reach features. They merrily click away doing all sorts or weird and wonderful things, unaware of the beast of a plugin which lurks just below the surface.
The secondary audience are the people who come along behind you, fixing and adding features to the software. Aha, I hear you say, I am a SOHO Developer so I do not have a secondary audience. Well my friend here is the wakeup call. Even if you never release the software you still have a secondary audience.
Six months from now.
So when you next write a plugin, or add a feature always keep your different audiences in mind.
If you like this post and have some thoughts on the ideas in it, then please leave a comment. I would love to hear what you have got to say.