the deplorable word

Did you miss me? I was busy rushing to complete another crappy theme to add to the four million already out there. Since then I have been engaging in a little light persecution of Six Apart; but that’s no fun, it really does feel like kicking puppies. They don’t bite back, they just look at you with their big apologetic eyes, and you feel bad that you called them on their screw-ups because they’re so quick to own up and they’re so very sorry and they try so very hard.

They’re doing a 1.2-style Zen Garden ripoff thing where everyone just has to build stylesheets for a basic template. Which is a great idea, but your template has to be pretty robust, and it never is. I don’t know which is better: listening attentively to everyone’s suggestions and producing forty million revisions of the xhtml in a bid to keep everyone happy; or dismissing their concerns, insisting the template is perfect as it is and then junking it because it doesn’t have cool rounded corners.

And then I drop in on the testosterone-laden swamp that is wp-hackers and it makes, if that is possible, even less sense than usual, because somebody said the bad word, a word so inflammatory the forums liked to pretend it didn’t exist:

the deplorable word

and then somebody else threatens to FORK!!! and the list is divided between those saying ‘NO! Forking is eeeevil!’ and those saying ‘um, no, freedom to fork is a FUNDAMENTAL part of open source philosophy’ and the others saying ‘please do because we don’t want you and your dissenting views round here anyway’.

And then I went to catch up on the saga of the theme repository guy who got accused of being an evil scam-merchant because he dared to put Google Ads on his site. However, if you accuse people of accusing him of being an evil scam-merchant they go nuts at you, so I’m going to let that go with a long sigh and no further comment.

And today the hackers are being reactionary about the prospect of substituting the php in template tags with something less scary:

Are there studies that indicate that templating systems like MT’s actually are easier to use than PHP? Considering how most people on the street are baffled even by HTML, I wonder if <?php the_title(); ?> is really that much scarier than <MTEntryTitle$>

I don’t have a study for you, no, but I can tell you this. The wordpress function is not just scary because it has question marks in it. It also has the word ‘php’, which doesn’t tell the user anything about what the function actually does, just that it is PHP. If you can’t code, the mention of PHP is going to freak you out slightly. (Plenty of people are comfortable with editing xhtml — they use it in their blog posts, after all — but not other types of code. It is an indication of how far removed the denizens of wp-hackers are from the average user that they do not realise this.) You have to remember to insert an underscore in the_title, rather than a space or a hyphen. The parentheses are scary. The semi-colon is scary. There’s all this junk you obviously need to have, but you have no idea why it needs to be there, and you’re scared to touch it in case it breaks.

The equivalent MT function is not perfect. The $ is moderately scary, but we need it because it distinguishes the tag from the surrounding HTML. The MT is only there because Blogger did it first, that could be scrapped if designing from scratch. The CamelCase sucks, but at least there’s no unnecessary underscores. The MT user has to get used to the $, and that really won’t take long. The WordPress user has a whole bunch of unrelated characters to come to terms with. Every time you want to code a theme you need to cut and paste massive chunks of code because if you try typing out that shit stuff is going to go missing and break. There is basic stuff, like blog descriptions, which don’t even have tags of their own but live in parameters; what’s up with that? Why can’t I just bang in <? blogdescription ?>  and be done?

When I moved from diary-x to my own domain, I went with b2 because it was easier to install than MT and it didn’t have dozens of different templates to customize; just index.php and comments. It was easier to start getting my head around parameters with only one template to worry about. That simplicity got thrown out with 1.5 and the introduction of themes, so now the template system is as complex as MT’s without making the tag system simpler to compensate. That is why we have so many Kubrick clones; it’s easierjust to change the stylesheet.

(If Kubrick weren’t so idiosyncratic in its handling of sidebars, its verbiage on single entry pages and its stupid pseudobullets this would be really great and zengardenish, but its originality made it a rubbish choice for a default. Base templates shouldn’t have personalities of their own.)

9 Comments »

  1. Long time reader, first time commenter!

    The $ in the MT tags aren’t a must, they’re optional for the reason you stated, to make them stand out against other markup. So you have either >MTEntryTitle< or >$MTEntryTitle$<

    Oh and thanks for your very constructive comments for our style contest. Its great to know you care enough to mock 🙂

  2. Whoops got my > and < the wrong way round! Apologies.

  3. Matt said

    That search has worked for months!

    http://wordpress.org/search/security

  4. Alan said

    From a coder’s perspective I prefer the PHP, because I can more easily do loops and whatnot in a way I relate to. MovableType loops confuse me, because they blend in with the HTML and no editor I know really cares to do syntax highlighting for MovableType. lol

    Also, the MovableType templating system is flawed in that the values are spat out as plaintext. A lot of the more advanced things WordPress can do, that rely on the PHP functions spitting out a variable, would break with a MT kind of theming system.

    Of course, that’s not to say we can’t have a happy compromise. Being able to use more advanced features at the same time as something more simple for shit that doesn’t matter (by which I mean the functions that don’t accept paramaters) isn’t such a bad thing. I’m at a loss how you’d manage it in a PHP based system without tags though.

  5. Alan said

    …without the PHP tags. It got edited out, boo.

  6. wank said

    Any kind of easytags system would have to be implemented on top of the current one, if only to ensure backwards compatibility. I don’t think anyone’s suggesting the ability to use raw PHP in themes should be taken away.

    Unless, of course, Matt’s sudden reconciliation to the idea of a templating meta-language has something to do with wanting to let wordpress.com users edit themes without executing PHP directly…

  7. […] May 12th, 2006 wordpress™ wank » the deplorable word And then I went to catch up on the saga of the theme repository guy who got accused of being an evil scam-merchant because he dared to put Google Ads on his site. However, if you accuse people of accusing him of being an evil scam-merchant they go nuts at you, so I’m going to let that go with a long sigh and no further comment. […]

  8. […] April 13, 2007 at 7:03 pm · Filed under speculation, dot com, wank, design Good news for a change: one of the WP projects for the Google Summer of Code is ‘easier template tags’. That’s fast, they’ve only been considering it eleven months. […]

  9. Root said

    Here is my take. My perspective is that I have used WP, I have grappled with tags in TXP and I am now contemplating Smarty in Habari. My gut feeling is that learning php is or should be quite enough to go on with. Everything else just adds complexity and worse – gives us another redundant non transferrable skill set. Do you see job ads asking for a whiz at TXP tags? 🙂 If you ferret about in the history of Smarty it is obvious that its raison d’etre is not to make anyones life easier. It is designed for environments where there has to be an absolute separation between the front / back end. ie where they do not trust the themers. :). It hardly applies on your own blog. I am now just getting into php 5. Should keep me quiet for a bit.

RSS feed for comments on this post · TrackBack URI

Leave a comment