Thinking About Publicly Distributed Code

As I’ve been working away on WPUnlimited, I have been running into a small problem: people want to use things in ways I never intended. Of course, this is wonderful, as it gives me new ideas on the direction of which I will take the theme, but it also shows how different the mind of a programmer can be from the mind of a user.

In writing code, I have been working hard in making sure that the code I use will work effectively on nearly any environment, and as such, there are things I need to take into account, but as is usually the case, I’ve missed one or two things, which is why I am soon releasing an updated version.

A great example of something simple that was forgotten, that other plugin and theme developers would do well to remember, is that not all WordPress users upload their files to wp-content/uploads. This was a small headache for me the last few days because I had totally forgotten about the option to change where uploads go, and so made assumptions in my code.

It is something small, but important. While less than one percent of the users of WordPress would ever think about changing the location of where their uploads go, those users that did experienced an issue where they couldn’t use some of the built-in features of the theme. This lead to them feeling frustrated, and created a business experience that was less than perfect.

As people continue to build on top of WordPress and other platforms, changing the features, growing out the hooks, plugins, themes and more, it is very beneficial to find as many people as possible to test that code before you push it out live to the world. I had thought that through the testing I had people do, we had covered every basis, but everyone gets set in their ways, and can forget to check the smallest of details, especially ones that most users never use.

How do you make sure that your code will work with everything and in every way? Have your users ever tried to use a feature you created in an odd and interesting way? Please tell me your stories in the comments below.

  1. By Wally posted on March 12, 2009 at 5:03 pm
    Want an avatar? Get a gravatar! • You can link to this comment

    To be honest, I don’t think it is realistic to make your code “work with everything and in every way” because with software there are simply too many moving parts to consider. Besides, if you took that approach to building software, your code would probably never see the light of day.

    Your best bet is to make it work in the typical ways, as you have, and then deal with the others that come up based on the value they bring and the demand for them. It sounds like you’re on the right track with having different users test your WPUnlimited theme.

  2. By redwall_hp posted on March 12, 2009 at 6:03 pm
    Want an avatar? Get a gravatar! • You can link to this comment

    As a plugin developer, I know exactly what you mean. People keep finding new, and certainly unintended, ways to use my plugins. I know this because they’re always asking for help doing so. For the most part I try to aid them, but I state that what they want to do isn’t how I originally intended the plugin to be used, and if it breaks in a future update they’re probably screwed.

  3. Trackback