Plugin / Theme developers are people too
Saturday
May 31, 2008
Louis Gray has written an interesting post reminding us that developers are people too, and I think there some good messages in it that relate well to WordPress.
We talk all the time about appreciating readers and developing in a way that makes it easy for people to pick up and use, but it is also very useful to think about the people behind the plugins and themes.
Louis makes the point that many of the startups are individuals who are coding as a hobby. For these people it will be nice if they make some money but in many cases they don’t make much more than their hosting costs, if that. This sums up the majority of WordPress developers.
My guess is that most WordPress developers spend maybe an hour an evening, maybe even two, at most, and possibly a few hours at the weekend, and work a normal job during the day.
What that means is that one e-mail asking for help or one comment asking why a plugin doesn’t work can remove any hope of getting done what they wanted that evening.
The other side, of course, is when authors are criticised for a new release.
I have noticed that WordPress users, no more than anyone else I’m sure but it is here my experience lies, are quick to rush to judgement about changes. WordPress 2.5 showed us that people will make their minds up from screenshots alone. When it comes to a plugin or theme that an individual has spent a lot of time on, especially if she has asked for input along the way, responses like these could be very demoralising.
The community behind WordPress is what makes it great and that shouldn’t stop, but everytime you download a new plugin or theme, or consider writing about one, give a thought to the person behind that work.
In the spirit I want to give thanks to the following individuals:
Ronald Huereca for Ajax Edit Comments.
Kaspars Dambis for Baltic Amber Admin Themes.
Kates Gasis for Sideblog.
Template tags or settings?
Saturday
May 31, 2008
I have reached a point with the plugin that I am developing where I have been many times before. Most of the core functionality is done and I am deciding how to expose that to the users. Do I offer template tags or settings?
I am a big fan of the WordPress theme system and there is a good argument for suggesting that plugins should look to expand on the great work that has already been done by offering template tags wherever there is additional reader-facing content.
There are obviously some exceptions to this, there is no point creating a new tag for content that is modified in a certain way, just hook into the current tag, and plugins like the excellent Ajax Edit Comments that add content where the placement is a given (buttons below the comment text), but on the whole should we be aiming to create tags or not?
Here is the example from the plugin I am working on right now:
My plugin adds extra fields for the commenters to complete to show things such as which version of WordPress they are using. When their comment is displayed this information is displayed with the comment. I have included a test comment below just for fun.
The extra statement, that this comment relates to WordPress version x, is added with a comment tag right now, but I could just as easily provide an admin panel with the option to include it above or below the comment, and asking what separators and introductory text should be used.
So the question is this: is there a preferred method that plugin authors should aim for? Should we be avoiding admin panels when the same functionality can be produced using a template tag, as with most of the standard content, or should we be aiming for as seamless an experience as possible where no editing is necessary?
The third option, of course, is that there shouldn’t be a preferred method, but I dismiss that one. I feel there should be a target.
Ask Andy
Friday
May 30, 2008
For some time I have been toying with the idea of creating a ‘Ask Andy’ section on wp-fun so I could get an idea of the kind of things that would really interest you. I have opted against it on a number of occasions because I didn’t want to create an alternative to the WordPress forums, which is the right place to pose support questions, but I still wanted a good way for the readers to suggest things they would be interested in. Well, now I have one.
This morning I installed Skribit. If you want to suggest a topic for me to write about then just click the large ‘What should I write about?” link at the top of the sidebar widget and enter your suggestion.
You can also vote for anyone else’s suggestions.
This is slightly experimental, I don’t know how popular it will be, but if there is something WordPress related that you want covered then let me know and I will write about it.
I’ve just come across this post showing the new post revision screens in 2.6. I haven’t tried it out myself yet but it looks like it has some excellent functionality that I never even thought of.
I really am very glad I never got the chance to finish my page versions plugin that I was writing while 2.5 was in production as I would be scrapping it fairly shortly.
Would you like to test my new plugin?
Monday
May 26, 2008
With the Weblog Tools Colletion plugin competition looming I figured I’d better write me a plugin, so the last two have been spent doing just that; and I’m quite excited about this one. The new plugin is called: Fun with in-context comments.
Can you guess what it does yet?
I noticed that a lot of comments where the person is asking for support miss out information that can be very useful; information such as What version of WordPress are you using, or what version of the plugin are you using? With these things missing there are comments all over the place which are followed by exactly those questions.
The second, and related problem that I noticed is that when you are using a plugin and run into a problem you often have to search through hundreds of comments trying to find an answer. Not knowing what version of the plugin those people were using means you could be reading through possible solutions that simply won’t be applicable any more.
Of course my plugin isn’t only for support questions, but that is why I have developed it.
So what’s it do?
If you take a look at any of the pages for my plugins on this blog you will find that the comment section asks you to choose which version of WordPress you are using, and which version of the plugin you are using.
You may also noticed, depending on when the last comment was made, that the answers given are displayed on the comment itself.
The plugin lets you create questions that your users can select from when they provide a comment on your blog.
You can create the questions centrally to apply the same question to multiple posts, or pages, or you can create questions that are specific to that page or post.
If this sounds like something you might like to test then please comment below. I am looking for a few people to give me feedback on their experience.
You must be using WordPress 2.5
I’m stuck on a SQL query for my next WordPress plugin. I have tried Google but I am coming up empty, perhaps becasue I don’t really know what to search for, so I am hoping that one you guys can help me out with some advice.
Here’s the problem:
I have a table and in it are two important columns (There are others but they don’t matter). The first is called ‘Names’ and the second is called ‘Values’
I want to run a query that will return a single row. Each column in that row will be have the name that is stored in the ‘Names’ column in the original table, and the value that is stored in the ‘Values’ column.
The diagram below should hopefully make it a little clearer.

Does anyone have any ideas?
How to design an appalling WordPress theme
Thursday
May 22, 2008
I was browsing through my WordPress theme feeds this morning and I had an amazing sense of Deja-vu. The themes were new, but I recognised the approach; an aproach that is almost guaranteed to produce appaling results.
In the 90s Britain was gripped by a home decorating boom. A lot of people credit one T.V. show for kickstarting this, and that show was Changing Rooms.
The premise was simple: Two designers each spend two days redesigning a room in someone’s house. The designer in one house is aided by the owners of the other. As friends or family they know the tastes of their friends and so can steer the designer.
Of course the designers never stood a chance. The couples never really knew their friend’s tastes, but had a generic overview of some things they had sort of expressed an interest in.
The designers’ job then was to take a generic and ill-defined concept which they could not discuss with the end users, on a small budget, with only a little help from a proper craftsman, and, in two days, turn that into something that would be interesting and accessible for television, and appealing to the owner.
The result would invariably be a ‘themed’ room.
“John and Sandra went to Morroco last year and they loved it,” results in terracotta walls and clay pots, but what was beautiful when you were sipping cold drinks on the veranda in the heat and sunshine of Morroco is just brown paint and cold floor tiles when you replicate it in a housing estate in Harrogate.
Out of context these things don’t work because their existence was never purely astethic in the first place. Morrocan houses are the colour they are because of the materials available and the environment they are made in. Spanish houses are white to keep them cool, not because they look nice.
And this is where we connect again with WordPress themes.
If you want to design a theme do you use design, or decoration? What if the theme is for a Formula 1 fansite?
- Do you think about the kinds of things the user will write about?
- Do you work to develop the theme to support a defined race calendar, news in-between and an off-season?
- Do you consider a custom function to countdown to the next race?
- Do you provide space for track diagrams and guides, or better yet, provide some track layouts?
- Do you think about the way the writer might want to focus on personalities, or indeed specific teams and offer design options to highlight when this is the case?
Or, do you use a standard blog layout, put little Formula 1 cars at the end of each header, and make it red, because your header image has a Ferrari on it?
If you want to churn out appalling themes, for whatever reason, then ignore the first list and focus on decoration. Don’t worry about the needs and intentions of the potential end user or the reader, just pick a standard layout, perhaps even copy one (they are all just blogs after all) then change the colours and add a different picture at the top. You could even focus on the details and sprinkle some related clip art about the place.
Give it a go, it’s great fun!
lies, damn lies, and statistics
Thursday
May 22, 2008
A little over a month ago I released the first version of my anit-spam plugin called Fun with Random Comment Forms. Since then I have been doing a lot of work to find bugs and add useful features, and I am thinking of adding some statistics into the mix. The question is, what statistics to add?
What I want to know from you is what would be the most important things you could know about the spam on your blog?
The version that is live out there right now only captures the total number of automated comments that have been prevented. I didn’t find that particularly useful so I started adding more.
The current test version logs the number each day and reports it back, on the graph below. It also captures the same data for Akismet to provide a comparison between automated spam and person-entered comment spam. (I only added this yesterday so it doesn’t currently have any data)
I have some ideas but I really want to hear yours. What do you want to know about the spam that hits your blog?
[spam_chart]
Should WordPress have its own CSS Framework?
Monday
May 19, 2008
Despite the high levels of creativity and diversity amongst WordPress themes there are always going to be parts of the theme that are similar. WordPress provides the template tags to get this information out, but it should it also provide a framework for presenting this information?
I’m not suggesting that WordPress should come bundled with blueprint, perish the thought, or that themeing should become a sandbox excercise; however, I do wonder if there are some tasks that can be accomplished centrally to make it easier for anyone producing a theme.
It would be a simple matter to develop a base library that can be included using a theme tag or, even better, to have some background processing that would output a stylesheet to your basic specifications.
Imagine:
<?php wp_stylesheet( 'grid' , "columns=8&width=125&gutter=10" ); ?> <?php wp_stylesheet( 'typography' , "family=helvetica&size=12&baseline=18" ); ?>
Obviously something like the example would make a lot of assumptions and you may need to override them in the theme stylesheet proper, but to have that option might help to set new standards for theme production, as well as making it quicker and easier to do.
So what do you think? Should WordPress have its own CSS theme framework?
Plugin Update: Fun with Categories
Wednesday
May 14, 2008
I updated my Fun with Categories plugin this morning. The update is a relatively minor bug fix, but as many of you weren’t subscribing when I created, and last updated, this plugin I thought I would add a quick introduction to it.
Fun with Categories is the first real plugin I ever wrote for WordPress. I wrote it for a specific website and have since released it for everyone. So what does it do?
Fun with categories adds the ability to link to posts that are in both of the two selected categories.
Example
Imagine you have a WordPress theme gallery. You have categories that are based on colours, and categories that are based on the number of sidebars you have.
This plugin lets your users ask for themes that are orange and have two sidebars.
I am also considering increasing the number of possible categories to three, or maybe even four.

