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.