Suggestions for WordPress

September 18, 2005

First, let me tell that I’m a WP enthusiast. I love WP features, and the day it will completely rule the blogosphere is not that far. Still, there’s always room for improving, and I’ll try to give some suggestions while 1.6 is still in heavy development:

  • Hosting – WP is filling this gap fast, with the growing popularity of WordPress MU powered sites. WordPress is the ultimate blogging machine, but what does that mean if you don’t have a place to host it? Usually non-tech people don’t have a domain and don’t want to pay for hosting if they can blog for free (that’s the reason why Blogspot is so widely used, IMHO). People want to just blog, that should be developer’s “first law”. Hosting is the most important factor. People use Blogspot because they see it as a reliable option in terms of free hosting.
  • Plugins – Well, the plugins themselves are not an issue, but there should be a way for users to install plugins in WP MU powered sites. This is a problem, because one of the most interesting features of WordPress is its ability to insert new code in it. Almost everybody wrote a plugin for WordPress, even me . BUT, if you’re using a site where you don’t have FTP access, how will you install your plugins? Of course you could use pre-installed ones, but that only solves half of the problem; what do you do if you want to use a plugin which is not pre-installed? And what do you do about security? I’d like to give my 2 cents on that: WP plugins could be like Debian packages. If the plugin has all the information necessary for its installation (with pre-install and post-install scripts), then why couldn’t it be automated? It could be a matter of telling where’s the plugin’s URI, click and install. Any additional information could be asked at installation time as Debconf does. One could ask “Hey, it’s still PHP code, how about security?”. Well, it doesn’t need to be installed immediately, it can be submitted for approval, and once the site admins approve it, the next requested installations of that plugin should be instantaneous. MD5SUM’s and GPG signatures should help too. On the WordPress side, it would need a lintian-like tool to verify plugins compliance with the new plugin API (see next topic).
  • Customization – Have you ever noticed that we usually do the same things when starting a blog? First, we choose a “template”. If you like it as it is fine, otherwise you start to deal with changing colors and images to personalize your own template. Second, we add our bells and whistles to the sidebar – be it plugins, images, switching the order of things or even just changing strings. As of today, this is done by “getting your hands dirt” with code. I strongly advocate that the users should not touch code. But how can we achieve this without touching code? My suggestion for the colors/images problem is to create some kind of “CSS web interface”. Of course I know this would be a web application itself, but I’m not talking about every aspect of css, just colors and images would suffice. Think of something like KDE kcontrol. You choose what part you want to change colors, and then SELECT the color you want (instead of inserting some cryptic hex code). And to give the user the option to change the header image it’s not that complicated. So basically a new tab in admin interface named “Customize Style” could almost prevent users from knowing that PHP even exists. And yes, if we could have every theme available in 4 or 5 different color combinations would help a lot. The next thing is the sidebar. I still think there should be a better way to insert a plugin than “going to your somefile.php and inserting < ?php myplugin; ?> between lines x and y”. IMHO, EVERY PLUGIN SHOULD HAVE ITS CONFIGURATION DONE VIA THE ADMIN INTERFACE. I know that this would probably mean a rewriting of the plugin API, but hey, isn’t it worth it?

    KControl KControl’s interface

  • WYSIWYG – being an author of a WYSIWYG plugin myself, one could ask that I’m pushing WordPress developers saying “my plugin is better than the new WP’s WYSIWYG”. This is actually very, very wrong. I just happen to like that feature, and if WordPress provides it, I really don’t care who wrote it. To be honest, at a first glance TinyMCE seemed better than FCKeditor in some ways. I still have some issues, but I’ll give more details in another post. By now, I just want a blockquote button!!! Oh, and I have to mention that the fact that it’s resizable is VERY cool. And it would be awesome to have TinyMCE replacing the comments box too (remember, blog readers don’t have the obligation to know HTML just to use bold and italic functions)!

In the end, if these features make it into WordPress, this is how the user blogging experience could be:

  1. Joe wants to blog. He goes to wordpress.com, signs up and activates his account.
  2. Joe logs into wordpress. He then proceeds to choose his blog’s style.
  3. Once he finds one he likes it, he tweaks a little with colors and upload a image to use as a header background image.
  4. Now that the visual part is done, Joe starts to deal with his sidebar. He switches the order of some things, but then he notices that he wants to insert a plugin in his sidebar (something like “latest comments” or “9 users online”).
  5. He requests the plugins. This is not the first time these plugins are requested, so they’re immediately installed.
  6. He then starts to browse “The WordPress Open Source Shop” where he chooses the plugins he wants in his blog. He then finishes his plugins requests.
  7. Once the plugins are installed, he inserts them where he wants them to appear in his sidebar via the admin interface.
  8. He then starts to blog, without having to touch a single line of PHP (what’s PHP, anyway?)

Pretty exciting, isn’t it? The good part is that it might not be that far from reality (how about making it into 1.6?).



  1. WordPress MU powered sites that allow individual plugin usage brings a few potential problems to mind. I think the plugins issue is in the same boat as stylesheet editing. Users who have access to these options may and most likely will end up “breaking” their pages. This results in support request. Support requests results in overloaded devs. Overloaded devs results in slower overall improvement and performance of the service. I understand there are a few other WordPress MU powered services that allow stylesheet tweaks.

    Anyway, my opinion is that allowing individuals to install plugins would require that there be a support groups focused specifically for MU plugins.

    I like the idea of customization. Maybe there should be a tiered system here. As time progresses, users can prove their knowledge concerning WordPress and possibly have access to additional features?

  2. What I’m talking about is not letting individual users to install plugins, I’m talking about letting users REQUEST a plugin installation. This installation would be handled by WordPress (via curl or wget). And I didn’t mean stylesheet EDITING, I mean stylesheet CUSTOMIZATION via admin interface. Like I said before, USERS SHOULD NOT TOUCH CODE, so they would not break their pages. Check the Kcontrol image, that’s what I’m talking about. Users should not even know there’s something called CSS. And the sidebar thing, I thought of something like “I want first my about box, then my blogroll, then my search box, then plugin A that I already have requested, then meta section”. All this could “live” in “Customize Style”/”Customize Sidebar” tabs in admin interface. Not a single staring at a .php or .css file.

  3. A lot of good points. One of the slick things that I see happening is that someone will, as you have done, see the need and write Plugins which will allow the WordPressMU user to choose which plugins they want to install or not. I don’t have a problem with preinstalled plugins, giving the host (the one with the ultimate responsibility) the right to decide. There could literally be hundreds to choose from, too. One click, they work.

    Yeah, well, it’s a little more complicated than that, but I see this feature coming at us in the very near future. Same with Themes. I see customization, to a point, of some themes such as changing header art and moving text around in the header and adding or subtracting sidebars, all which could be handled with plugins and improvements in the core.

    So, kick some plugin writers in the buns to get working on these great idea – hint hint! What we see in wordpress.com is just the beginning of the possible. I look forward to it expanding, but I also hope that it stays simple, so users can concentrate on the content and leave the full WordPress version to the creative trouble makers. đŸ˜‰

  4. If you can choose whatever plugins or styles you want and customize your blog the way you want, what’s the need to have the full WordPress version for people who want to “just blog”? I agree with you that this is just the beggining of the possible, that’s why I’m putting these ideas on the table.

  5. Yeah, plugins and customizations would be great.

    Maybe, even a plugin page, with say a few tested plugins. You could just enable them, and it starts working? Maybe, I’m just hoping for too much!

  6. I don’t think you’re hoping too much. This should be reality in the near future.

  7. […] Digital Home » Suggestions for WordPress # ns are installed, he inserts them where he wants them to appear in his sidebar via the admin interface. # He then starts to blog, without having to touch a single line of PHP (what’s PHP, anyway?) […]

  8. Ok. You didn’t lie.
    I am not understanding anything, but it’s not a problem to you. You still have a fan in Barroso’s blog.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: