About Wordpress, Usability and Open Source Development

August 26th, 2004 by Joen , ,

This journal was initially powered by the excellent Movable Type. I had the ability to write entries via a neat interface, and it allowed people to comment on each entry. It came with a nice default template, but as a designer I modified this template to my own design.

But Movable Type is a commercial product, and eventually I saw more benefits in the rapid development of the open source Wordpress, so I migrated.

As it would turn out, open source is not always great…

The priority recipe for any most commercial pieces of software is the following:

  1. Build the best product ever
  2. Profit!

In comparison, the recipe for most open source projects only include the first of these priorities—the product. Contrary to what one might think, this is commonly bad for usability. Having to design a product for profit means the designer has to pay very close attention to usability, because if the new user doesn’t understand a product, that user won’t purchase the product. Open source, not having this goal, often treads lightly on the area of usability. Particularly because usability is really just good design, and when it comes to design—everybody has an opinion.

Recently a friend of mine, Michael, decided to improve on the default Wordpress template. The result (dubbed Kubrick) swayed some of the core Wordpress developers, resulting in the possible adoption of this template as the new default template. Not soon after the announcement, the Wordpress forums were boiling.

This is just an example, and in fact applies to most open source development communities. The same goes for Firefox, where any sudden visual change creates a spur of discussion. For instance, with the recent change of visual theme, I even partook in the critique myself. But knowing what I know today, I probably would’ve trusted that the core developers knew what they were doing (which in this case, they were).

The Problem

As I said on Michaels site,

War is too important to leave to the generals… wait, I meant to say the design is too important to leave to the coders. Let me elaborate.

Essentially, the default Wordpress theme has two purposes.

First and foremost, it is to gather a huge user base for Wordpress. Secondly, it should be so user friendly, and so simple that the layman user that would otherwise have used Blogger, will actually consider Wordpress instead.

In this case, Wordpress suffers from too many features, all enabled by default, all fighting for attention.

The focus on profit is clearly non-existent, and the focus on attracting new users is all but ignored. If we take an objective view of the baby-boom in the blogosphere, new bloggers seek to Wordpress and Movable Type mainly for their great comments and archiving features. Both applications sport many more features, but that’s really just icing on the cake.

The problem is, if these basic commenting and archiving features are not so user friendly that anyone can easily and quickly identify, decode and use them out-of-the-box, then these up-and-coming bloggers will choose the CMS that “does it better”.

When asked to rate the usability in open source software vs. proprietary software, Jakob Nielsen (internet usability guru) replied:

Poorly, I’m sorry to say. I think the reason is that it’s biased highly for one specialized area which is the very technical such as IT systems administrators. But Linux for the average user or other open source solutions for someone who is not a geek rates particularly low.

The reason is, the motivation for open source is not because the person gets paid but the person gets prestige. The developers are designing for each other and they are so feature rich—geeks love features—and you get more prestige by adding features. For the average person fewer features is better and easier to understand.

The Solution?

“Firefox is the exception”, says Michelle Levesque:

I have five major complaints about Open Source software development, but in advance I would like to clarify two things. First of all, there will always be exceptions to every rule. For example, I believe that relatively few complaints listed here apply to the Open Source browser Firefox which continues to surpass my expectations.

(Source)

Currently, Wordpress is a great free open source project that enjoys wide community support and shows lots of promise. As opposed to Firefox, however, it has not yet had it’s real breakthrough. Using and loving Wordpress, it would be so sad not to see it reach it’s full potential.

As I see it, there is only one way to go forward, and that is to copy the Firefox recipe. In order for Wordpress to achieve a true breakthrough, focus needs to be on the following things:

  • Wordpress developers and designers must pretend that profit is a concern, and always focus on the new user—not the power user
  • Wordpress should have a tight closed developer circle that has absolute power (to my knowledge, that is the case currently). As Firefox developer Asa recently experienced, this means having to make difficult decisions.
  • Appreciate and listen to constructive criticism from the community, and blatantly ignore the rest
  • Disable all but the necessary features, but document and comment inside the code, so the users that want particular disabled features can easily access them
  • Features that are nice but not crucial should be visually tucked away, so their use will benefit only those who actually would use the features in question

In the end it all comes down to the end user. Starting out simple is always easiest, and let’s face it—power users will change the default template anyway.

More Reading


Comments (35)

  1. Michael says:

    I guess what I mean is what you said in this entry:

    "[...] Wordpress suffers from too many features, all enabled by default, all fighting for attention."

    This is a good way perhaps to create a template, which is supposed to tell people what features are available. But that's what documentation is for. That's why WordPress has a Wiki.

    Rather my approach is to create something that's usable and easy on the eyes, first and foremost (poetic underlying code goes without saying) and sets and example second.

    I'm looking forward to seeing what Matt's approach will be.

  2. Matt says:

    Richard,

    Root, I get that knowing the WP culture and/or history would give the thread more context, but that single thread and that fact that you, who I take it are an integral part of the WP development process would cut and run because of this made me feel that this project is pretty fragile.

    Just to clarify, Root is not officially involved with WordPress development, though he is active on the support forums. The "official" developers are listed on our About page. WordPress is a meritocracy and those listed are people who have earned trust through invaluable and sustained contributions to the project and generally have increased responsibilities. That said, WordPress is what it is because of the huge community that participates in development through our development mailing lists and bug tracker. (The proper venues for development discussion, the forums are intended for support.)

    Joen,

    Thank you very much for this post. In a time where less than useful discussion was taking place, I read this and was inspired by the constructive criticism. Please know that the issues you raise are very much in the minds of the developers. Ping me (via email) if you write any more on the subject, I wouldn't want to miss anything. If you'd like to become more directly involved the nightly/alpha stage (which we are in now) is the best point in the release cycle to give this kind of feedback.

  3. Joen says:

    Matt, what an honor to have a core developer post on my website. I'll be sure to notify you should I write more on the subject. Usability is (or has become) one of my big interests.

    I have just promised Michael to help him out with what usability and advice I can give him, with regards to tweaking the Kubrick template. With this done, I'd love to help out on the nightly/alpha stage. Don't hesitate to get in touch if there's something you think I can help out with.

  4. Richard says:

    Matt, I'm aware of who the core developers are (after all, I started with a template from Alex's site with those links in it) and I read your weblog (and commented in your last WP problems thread).

    As this interesting discussion has moved on it has evolved into a discussion about who WP is aimed at and how it is or might be delivered to better support users like me, who lack both coding skill in php and layout and design skill with CSS.

    I'm not reading and posting here to flame about WordPress, on the contrary, I'm hooked and would like to contribute, in my way at my level. And, I would urge you to make a way for me to do this as I know there are others like me who have ideas and would like to share them.

    But, putting an idea out there and having it ripped into because it might make WP accessible to people who some find embarassing to be associated with... that seems to me to be a problem.

    I'm going to make a list of ideas I have for WP and post it. I'll let you know when it's up and we can go from there.

    Joen and Michael, I did the one month TypePad trial to see what it was and I'm glad I did (it's free for a month). It was before I knew much about weblogs or what the various pieces I was controlling did but I still learned a lot.

    I would recommend that even though Kubrick is not TypePad nor is it trying to be TypePad, as you stated above Michael, your aim is to make things easier on users who do not want to spend as much time at the code and CSS level. Well, obviously, TypePad is this on steroids: a series of screens with checkboxes and radio buttons all neatly arranged to lead one through a decision making process about how something will work and look. You can backtrack at any time and easily change things once the weblog is live.

    It's far from perfect and it's slow as mollases (this was earlier in its evolution, it might be faster and better now) but it's an education and is done tastefully and cleanly. I know it's image-heavy and is based on MT but it's surely got ideas that would be useful to see.

    I would argue (and have in more obscure discussions elsewhere) that the back end of WP needs an overhaul as well. Not just the look but the way it works.

    Whatever one thinks of MT and the Lotts, both MT and TP are clean designs that are well thought out and a heck of a lot of people use and find them accessible.

    Anyway, I'm gonna make a list for WP and see if I can get in trouble.

  5. Michael says:

    Richard: Could you post a link here, once you've got the entry up? I'm always on the lookout for problem areas, even if just to educate myself a bit...

    As for Kubrick 'vs.' TypePad (I'll give the trial a go, just to see how they've got it setup. They've got some good designers, so it should be educational as well), I don't believe in 'dumbing' down things more than strictly necessary.

    I think a 'layout wizard' could be kinda cool, but then on the other hand, it's also a bit much I think. Not that I'm saying it shouldn't be done, because I think it could help a lot of people who're mostly interested in self-publishing, and not so much in knowing their paddings from their margins.

    I guess it's because I consider XHTML and CSS as well as even basic PHP to be fairly simple things to work with. 99% of the time, if the base of what you're playing with is good, you won't have to know what font-family does, except that that's where you put the name of your font.

    I don't know... I can see the greatness of giving Rikke, my girlfriend, a TypePad-like solution. She won't care about CSS, XHTML or PHP. She would only be concerned with the fact that a) it has to look good / feel homey and b) not get in the way / do what it's told.

    And on the other hand, I think she would learn a great deal from even the smallest encounters with the underlying code, which would arm her with the option of going in and making the necessary adjustments herself...

    But of course. I'm talking like one excludes the other, aren't I?

    That certainly isn't the case. We can have both (please tell me you're using Textile, Joen...) good code as well as an abstraction level like that of for instance TypePad.

    Speaking of which, I'm going to try out TypePad now :)

  6. Joen says:

    I am using textile, and loving it. Unfortunately my lame web host (which I should have switched away from ages ago) has a PHP memory limit that prevents me from using the far better Textile 2.

    As for Typepad, Wordpress, Movable Type and the whole shebang this has developed into, I've been given it a lot of thought after having started this thread. I really want to think it through and flesh it out in another post, so I'll just post few thoughts here, mostly in response to the latest comments here.

    When talking Wordpress usability, and making it easy for the end user, we should not get carried away. While Wordpress is an easy 5 minute setup (to my surprise that truly wasn't a lie), it's still a PHP/SQL powered system that requires uploading and installation. While I, and certainly all you gentlemen here, think this is easy, it's really a quite intimidating process, that requires you know quite a lot of things about how the web works behind the scenes.

    I am saying this not because Wordpress should be still easier, quite the opposite. This very install defines the target audience. We are talking an advanced CMS here, there's a limit to how easy it can become.

    Typepad, on the other hand, is a quite different story. It is aimed at users migrating from Blogger -- users that are comfortable logging into Hotmail, writing email, signing out and stretching it a little bit: choosing avatars in Messenger. It is an entirely different target audience, that as Michael says, wants it just to a) look good and b) do what it?s told.

    I'm not saying that Wordpress couldn't power a similar solution, but the package you download from Wordpress.org should definately aim towards the first mentioned target audience -- those who know how to install it.

    What usability we should then put into the default template that comes with that install, and how the different aspects of wordpress should work, could easily be inspired by the admittedly great usability of Typepad.

    My point is that we shouldn't get lost in making it all ultra-simple, when Wordpress will always have the initial barrier that it has to be installed.

    Richard, I know you probably wasn't lobbying for a typepad solution, but was rather pointing at the usability of typepad, but I still wanted to mention the case for the target audience, so we don't forget what it is we're dealing with.

    Ack, I really should get cracking on some graphics for September right about now :)

  7. Richard says:

    Michael et al, yes, of course I'll let you know when I get a list started so you can comment and I can add.

    I totally agree that TypePad may go too far in helping someone decide look and feel and where users need support and how to provide it is of course, open to interpretation.

    I do think you're onto something in thinking about how to give Rikke a way in.

    There are many ways in and many types of people and learning and work styles. As a drummer I like to hear an entire new rhythm at full speed to get a sense of what it is before I start breaking it down to make it easier to learn and build up again. But, essentially I learn well by imitation. A good friend of mine who's a better drummer can't learn this way at all and has to have it written out. I wish I could read music better and he wishes he could learn by imitation better but alas, we are who we are.

    Thinking about the different types of learning and working styles (I would think that even the core developers of WP have different styles of working) is useful if not essential in building something for Rikke but also for Matt or Root.

    Obviously TypePad, even at the highest level doesn't give one the kind of control that many WP users want and I'm not saying Kubrick or the layer on top of WP needs to be TypePad, just that there are ideas about how people work and learn built into TypePad and that the Lotts or whoever designed it did a lot of thinking about what types of users with what needs and knowledge might be using it.

    I think the key is multiple kinds of access and control and to that end, maybe what WP needs is an alternative back end. Has that ever been talked about or attempted?

  8. Joen says:

    Having thought a bit about it, it can really be summed up quite simple.

    Wordpress is a great CMS, and the install literally takes 5 minutes.

    The blog, in its current state, is technically good, looks okay but is slighly confusing to navigate, search, and use.

    The result should be good looking, very easy to navigate, search, use and update.

    The only thing in the way of the latter, is the template. Wordpress 1.3 might very well mark the commercial breakthrough, and 1.4 the clear winner among CMS's.

  9. Root says:

    Well as every one is having their 2c; I may as well add to mine. Just to be absolutely clear I am a WP user and not part of the dev team. The forum likewise is populated largely by users. The devs contribute as and when but they do not necessarily stand in the front line of the thousands of new user type questions - a group incidentally for whom I have the greatest respect and to whom my work is dedicated. My issues in the thread from hell were that:

    #1 It was quite wrong for any one designer to announce on his own blog that his work was being fitted as we speak to the WP 1.3 release. In my view that should never have been allowed to happen.

    #2 In the course of that thread, my own work and contribution to the WP community, which is entirely unrelated to the cause of the thread from hell; came in for sustained and ill founded criticism both from Matt and Michael. That speaks for itself.

    #3 Putting aside, fancy graphics, and hacked copies of WordPress; my position on the default install and the work I have already done to assist hundreds of WP users in dealing with that issue is well documented.

    I do not mean to sound condescending but casual observers were only witnessing the tip of an iceberg with a very long history and technical background. I did not mean to suggest they therefore did not understand it. But the context, and the unwritten parts of many of the posts was an important element in understanding,
    the dynamics of the dialogue.

  10. Joen says:

    Root,
    I think your work is very much appreciated.

    As for this work you have put into documenting the template up until now, there is something you have to understand. Wordpress is still being developed upon -- it is not what it used to be, and in half a year it will be different again, perhaps with an even newer template that is not Kubrick.

    It's like when you design a car. This car will be documented thoroughly so mechanics can fix it. But with the next model, the documentation has to be updated, renewed, replaced.

    It is the same with any other application, ever. Surely the documentation for Photoshop CS differs thoroughly from the documentation from Photoshop 2.5, does it not? And I know that huge chunks of Photoshop has been re-written from the ground up.

    Wordpress is no different. It is a piece of software, and it evolves. So must the documentation.

    With that said, I have myself gone over the latest 1.2.5 version of Kubrick, line by line, and let me tell you it is the cleanest, nicest, most userfriendly template I have ever seen. It will help Wordpress, more so than any Gemini documentation has done so far.

    I'm not trying to belittle your work, I'm trying to explain the most important aspect of them all which is that sooner or later, things will change, and in the case of Kubrick, I have seen with my own eyes, the change is for the better. I feel I've said it countless times before, but I'm going to say it again: change is hard, but sometimes necessary.

    As for announcing the change in templates -- there are two sides to that. a) Wordpress is open-source, the change would appear in the nightlies eventually, and b) why shouldn't it be allowed to happen? Who calls the shots in this shebang? Where are the rules as to what can, and cannot be done? With that said, I personally agree with you that it wasn't the best idea. Even so, the end-result would've been the same, and wallowing in what happened will not change the outcome.

  11. Richard says:

    Let me ask a more concrete question (in the context of this thread, not the WP support forums):

    When the next version of WordPress comes out, how do we retain the work we've done on both our index and css files? Or, let me try again with a different take: If a version of Kubrick is the default template system and I don't want it, how will sorting things out work so I can retain the work I've got and get the benefit of the new code that is deeper than my work?

    If, in fact, Kubrick is an easily separable layer, or, another way, the WordPress upgrade is easily installed without tampering with certain existing files, then I'm not sure what the issue is about Kubrick or any other set of templates for existing users.

    If, however, it's all mixed up and hard to sort out the old from the new, then the bundling of a more complex default set of templates might cause support and other issues.

    All of what I just said is said from the point of view of a novice at all this stuff although since I last posted/replied here I've learned just a tad bit more and even though I think Kubrick is fantastic and undoubtedly cleaner code than what I've slapped together I'm rather enjoying flailing around with this stuff and would not want to lose the learning and work I've done by replacing it with something else.

  12. Michael says:

    Richard: It is my distinct impression, that Matt is using ideas, rather than actual code. Which essentially means, that whichever of those ideas that are put into the new template, their semblance to what Kubrick is now, is negligible.

    In other words: Nobody is interested in overly complicating things for new or old WordPress users. I haven't looked long and hard at what's currently in the CVS (that is, under development). But knowing how things work, I am pretty sure that nothing that doesn't need changing, will be changed. But as the project is evolving, there will always be changes.

    Which is a great strategy for developing software IMO. Because while it can be easier in the short-term to hang onto what we have, simply because it's what we know. In the long-term, it's sure to come back and bite us in the ass, so to speak ;)

    If changes are made to core functions, then it'll most certainly be for a reason. And if that means that old templates won't work, then it won't be the first time, and it certainly won't be the end of the world as we know it either.

  13. Richard says:

    Okay, I get it. Wow, learning is possible.

    I get how some folks (Root maybe) might be defensive (I just felt that myself) and I get how it's important to move forward and possibly gut some of the older stuff for newer, better ideas.

    And hey, upgrades will always be optional: it doesn't "fork" WordPress development for me to stick with an older set of templates just like it has not stopped MT from moving on even though most MT users have not gone beyond 2.6 (or whatever the last version was before their new license came out).

  14. Root says:

    Joen you are wrong about this and you are helping to perpetuate a very harmful myth,which sprang from the thread from hell. Gemini and my other interface designs, are simply tools. And very simple tools at that. All they do is to take the default index and CSS files and alter the CSS positioning no more and no less. Critically - they are purpose built to fit the default install. They therefore leave the end user in exactly the same position he was when he got started - the ability to design his own front page using web standards, semantic and valid mark up and fully separated CSS. The big difference is that because the CSS layout changes have already been made to the index, and indeed set out separately in the CSS; a whole level of difficulty is removed.

    It is a completely erroneous and fallacious starting point to compare them either to the WP default or to Kubrick. Kubrick is a completely different beast, it springs from a different well, it represents a different vision and presumably it seeks to fill what the designer perceives as a different need. Comparisons between them are pointless.

    Likewise, any statements about their alleged aesthetic qualities, or the underlying template need to be taken in context. The Gemini, Trident and Vesuvius templates make no changes to the underlying WP php functionality at all. Nor do they have any styling details. They are simply boilerplates for the end user to design as he sees fit. A range of Gemini compliant style sheets are also available for free download.

    When I say well documented you may misunderstand me. I just say there is a track record. I am not referring to documentation. This is open source- we can all adapt. But as commentators here have observed the upgrade path for owners of hacked index files is of very great concern to them. I am not sure there is anything I need to understand thankyou.

    Finally this thread started out on useability. To suggest that early versions of Kubrick were more useable than anything is simply farcical. Hence it has already been substantially reengineered. It adds a whole layer of complexity to the install to the CSS styling by the end user and a whole rats nest of technical problems.

    Returning to WP and the 1.3 interface. It should be noted that although the app contains an index php file of course, that the divs required for CSS positioning are not to be found in it. At least not exclusively. I hope people understand the useability implications of that. The early signs are that they do not. I have my own solution which will be announced shortly.

  15. Joen says:

    Root,

    I am very aware that the "Gemini template" merely stylizes the index.php, and as such has nothing to do with the core functionality. With this said, the very positioning of elements with CSS is vital to website usability.

    Kubrick, as you are well aware, re-does the index.php, and the wp-comments, as well as the stylesheet. True, this differentiates it from Gemini and other templates. However, the usability improvements that are necessary does require a rewrite of all these files, and it would require a much updated Gemini stylesheet to accompany this. That would also have been an option.

    ... "the ability to design his own front page using web standards, semantic and valid mark up and fully separated CSS" ...

    While I wholly agree that every website should be standards compliant and semantic, most bloggers don't care. They just want to disable the calendar, disable the login, remove the "valid xhtml" link in the bottom, and put in a huge photo of their cat, next to their latest article on Joe Millionaire. Whether it validates or is semantic in it's markup, why should they care? All they care about is that it looks good, and Kubrick does that.

    As for suggesting early versions of Kubrick were less usable, you are forgetting several things, twisting others, and ignoring the fact that there are two facets to usability. First of all, early versions of Kubrick were never intended for WP 1.3. Secondly, once a version of Kubrick hits WP 1.3, "it'll already be there" in a clean Wordpress install, effectively removing the installation procedure. Finally, even though early Kubricks probably weren't usable in terms of installation, editing and setup, they were always usable on the front-end, to visitors of the website.

    This discussion is repeating itself, and no longer serving to help Wordpress. For that reason, I am closing it.

    Don't worry, you'll all get plenty of chance to discuss further, as I have another article on Wordpress usability in queue.