Form over Function? Never thought about it…

April 24, 2010

Topics: Web Development, WordPress.

A couple of weeks ago, I launched a WordPress Calendar plugin. Now, there are a *lot* of Calendar plugins available out there, so I’ll freely admit that my primary reason for doing this was to meet my own needs — and given the “profit margin” on writing WordPress plugins, that’s generally the best plan when writing one.

Interestingly, the most frequent complaints I’ve heard since launching it were in an area which I had considered to be the least important area of the plugin — what it looks like.

I only did minimal work in setting up the appearance for this plugin; checking whether it basically worked in the default WordPress themes and little else. My assumption was that if anybody needed the plugin, they’d just have to be prepared to customize it to meet their needs. There was no reasonable way I could set it up to mesh with all possible themes, after all!

But apparently, in order to have the plugin be generally accepted, people need it to have “a look.” Most advanced users will probably change it; but I clearly hadn’t considered the more beginner users, without sufficient CSS (Cascading Style Sheets) knowledge to readily customize the output.

What’s really interesting to me about this situation, however, is not whether the plugin is accepted, popular, or heavily designed; that’s just an example. I was intrigued to observe in my own development process an approach which almost entirely ignored what the product looked like. From start to finish, I was really thinking about whether the plugin produced well-structured HTML (HyperText Markup Language) and whether the various functions involved in producing information worked well.

I just never thought about design. And why would I? If I can’t predict what context the plugin will be used in, why should I design it at all, beyond making the basic functionality clear?

It’s an interesting question; from my perspective, as a fairly advanced WordPress developer, I honestly prefer plugins I use to have absolutely minimal styles, and for me to be able to disable those styles at will so that I can replace them. However, WordPress has a very broad user base. Most of those millions of users probably expect that they can install a plugin and immediately make use of it — and any changing of colors or reskinning to better match their design is purely optional. For those users, I really should be providing something which can be immediately useful.

It actually does come down to usability: advanced users can do what they want with the calendar design regardless of how extensively I’ve set up styles. Beginning users, however, may not be able to fix anything that I’ve left unresolved, or not fully tested. In order to provide the best usability, I need to consider those users, as well.

Having determined that it does make sense to actually design the plugin’s output, but also knowing that there’s no reasonable way I can design it to match all themes, I do have to make a firm decision about what the basic color scheme for the plugin will be. Originally, I’d used a basic, Kubrick-derived color set. Now? Well, the sensible thing seems to be to consider branding; set it up using my own website’s color scheme. It may be subtle, but it will convey my identity, even without my name or URL (Uniform Resource Locator). That seems worthwhile.

Guess I better get to work!

Have something to contribute?

« Read my Comment Policy

5 Comments on “Form over Function? Never thought about it…”

  1. Now I would fall into the layman category when it comes to tweaking a WP plug in. But I will say I like the method Scorpion suggests (or perhaps I am reading it wrong). If you set up a few easy to recognize tags/variables with a few comments that state something like “this is a highlighted dates color” etc, it should make it easy enough to get a fair amount of customization for the WP challenged like myself.

    When it comes to almost anything I use on the web I far prefer function over eye candy, solid functional design, to me, is just far more important than the aesthetics.

  2. Hi there,
    well it seems that you will keep the plugin up to date, first of all I would use this opportunity to thank you here! I really like your plugin so I just support you with it 🙂 A good compromise would be to have some general css tags which can be set with predefined values (e.g. clickable color-hex-code-jscript-popup-thing) for the main areas.

    On the other hand you are completely right with your point that its hard to develop a plugin in good quality but also solve some stupid-style problems.

    Think about some priorities! How hard is it to implement the named predefined values? What about other big issues? How many users use your plugin? And how many are contacting you in a month? Are these ones the advanced user?
    I don’t know… I just can say that I really welcome the disable / reset possibility of the style and I’m using my own style on 2 uses right now.

  3. The “design test” for me is quite a simple one …. if I just install the plugin and start using it, will it look out of place on screen, or can I just leave it at default for a month or two until I get time to revisit it and tweak the styling?

    Often when I’m building WP sites, there are so many plugins to embed, all coming from disparate sources, that the priority is to “get them in and working” then come back and do all the styling as a contiguous run.

    Sometimes I see one pludin or theme stylesheet completely over-riding another plugin’s styling. When this happens, I shrug and mentally warn it that “I’ll sort you out later” – sometimes it’s just too timeline destructive to jump on it immediately.

    When it comes to beginners though, as you say, they have little idea of where or how to fix the styling, so an admin-side option to at least set background and border colours has to be a must have item for them (there’s plenty of GPL (GNU General Public License) code for that which you could “borrow” and tweak). Similarly, an overall height and width setting, or a widget, is probably essential for beginners nowadays – the entry level of “numpty-ism” seems to fall daily (yeah I know, we were all numpties at one time).

    If I had to summarise, I’d say design the design side for numpties, aim the features and functions at mid to upper level users, with a “works out of the box” default for numpties.


  4. I think looks are important to get you over the line. It’s just like in real life…If you are selling a house and give it a new coat of paint you will have a higher chance of selling it although the core is the same. I guess the same applies to almost anything now a days. Just funcitonality doesn’t count any more … sad but true. I’d be happy to style your calendar for you if you like …

  5. There’s definitely a balance to be struck. No design at all can leave mom-technical users frustrated, and too much design can leave technical users just as frustrated.

    I’m always pleased when I install a plugin and it has a decent minimalist design that fits in OK with that majority of themes. But some plugins take it too far and heavily over-designed. These kind of themes can be tough to integrate into a theme when you have to override all of the plugin’s CSS (Cascading Style Sheets) to get it to match.

    Keep up the great work on your calendar plugin Joe, this is a weak area of WordPress that I think could use some real improvement!