Archive for April, 2006

WordPress hates developers

Monday, April 24th, 2006

Another one in the series of “… hates developers” is WordPress. I’ve been messing with it since I installed 2.0 to power this blog. I’m not happy.

As the title already states I’m not saying that WordPress is bad for the common visitor or even the common user/author. Yes, it has some problems but they don’t even come close to what it has to offer to the power user. If you’re trying to create a plugin that does something they didn’t expect you’re out of luck. That, or the documentation sucks as hell.

To elaborate I’d like to share a bit of it’s code from template-functions-general.php:

function get_post_time( $d = 'U', $gmt = false ) {
	global $post;
	if ( $gmt )
		$time = $post->post_date_gmt;
		$time = $post->post_date;
	$time = mysql2date($d, $time);
	return apply_filters('get_the_time', $time, $d, $gmt);

As you can see getting a time when you’re not in the main post loop (that sets the global $post) is a bit weird. You have to set a global variable post and then run this thing. You should probably know that this is not the method that is usually called from the templates – that’s the_time that calls get_the_time with a filter, get_the_time retrieves the time_format setting and it calls get_post_time.

Another great thing is getting an author of the post. I gave up end wrote my own sql statement. I don’t like it and if there’s another way please tell me – template-functions-author.php doesn’t tell me anything useful. The global object $authordata is just too much.

I understand that this kind of code gets into version 1. I can’t understand how it gets into version 2, especially when they said they improved abstraction in this version. OK, I can understand the focus – first the users, then the writers, hopefully now the developers. So my proposition for version 3 is a complete rewrite of the backend to something more API-ish so we (plugins and the core) can use the same built-in API for most of the stuff.

Blog layout

Monday, April 24th, 2006

Reading Zooming content was great as I am currently looking to improve the layout for this blog so I can start bothering designers with it. Also read the mentioned Embrace your bottom! and the source article. Two great samples mentioned Donotremove and Subtraction. Help welcome…

Customer service matters

Saturday, April 22nd, 2006

A few years back I was in London. Before I left Ljubljana I bought the plane tickets on (link removed due to Terms and Conditions of the website) and made a reservation at the hostel. Since there were many of us going I booked for all of us. We all know that RyanAir tickets get more expensive over time so I bought them early. Of course all of this was charged to my credit card.

About a month later I landed in London got unpacked and went sightseeing. After that I went shopping. I was surprised to realize that my credit card was maxed out. My mistake – didn’t check how they charge – and theirs for not clearing it when they said they would. The point is I solved all this with two phone calls to the customer service. They were a bit annoying at first but after I provided some data about the shopping I did it was ok. The next day I could buy the book I wanted to. When I came home I changed my account limit and got another credit card.

Recently this happened again. As it was only the beginning of the month I had no idea why I’d be maxed out. No problem at the store – I just offered my other credit card. Since I couldn’t get to a computer in a decent time I decided to call the customer service. I was not shocked to hear a prerecorded message telling me to press 1 if I wanted this, 2 if I wanted that and so on. I waited for what I wanted and nothing came up. Silence. I hung up. I called again later and pressed something that vaguely resembled what I wanted from them. They told me I’d have to wait for two minutes and I told them to shove it and hung up again. I was pissed the first time it happened; now I was furious. And I’m changing banks.

There are two important points to this story. The first one is that you should really think how to word your navigation items. If people don’t know where to find what they’re looking for they’ll go somewhere else. Don’t try to jam everything in one word and don’t write essays for menu items (remember, nobody reads on the web). Make sense, test and retry until you find a good solution.

The other point is that there’s always a way to make things worse. Bureaucracy is one way to go. Bad software is another one. Thinking about yourself instead of your customers yet another. Thinking about costs where you really shouldn’t might be another one. There’s too many to add here. Maybe I’ll start compiling a list. You can help in the comments.

Web rockstars

Saturday, April 22nd, 2006

It’s a sunny day and I finally found the time to listen to long podcasts (sunbathing with headphones). I was looking for a report from SxSW06 and found SxSW Notes and stories, episode 7 of an ongoing series of podcasts made by Dustin Diaz. I especially liked the story about meeting Jeffrey Zeldman wondering what will happen if I do go to London and be in the same room as some of these people.

Reinventing the contact…

Monday, April 17th, 2006

I read that ICANN is in the final stages of creating another top-level domain called .tel. The arguments behind it are that currently there is no way to get the latest contact information so companies and individuals will buy .tel domains to provide it.

Their argumentation can be summed up in these three points. Firstly not everybody has a website with a friendly and memorable URL that can be used as source of data. Secondly people cannot be identified by phone numbers because they change. People are identified by names hence their solution is perfect.

It doesn’t take a genious to see the arguments they make are very weak. If users don’t have a website now, why would they have it after the .tel domain is available? Yes, phone numbers change, domain names change, people move, companies die. URLs are hard to remember, so are emails and phone numbers. Names and faces are hard to remember. To make things worse there are people with same names, similar URLs, phone numbers and even faces. And there can only be one identified by a unique .tel domain. How does this lessen the confusion?

The thing that made me write this is the ignorance of the development of the web. Nowadays almost every communication device is also a web browser. Web pages use HTML as the foundation and HTML has an element called ADDRESS. This is what the specification says about the element:

The ADDRESS element may be used by authors to supply contact information for a document or a major part of a document such as a form. This element often appears at the beginning or end of a document.

This means that you can already do what they want to achieve by the .tel domain by using the ADDRESS element on your web page. If you want to make the contact information even more computer readable and be able to add other information you could just use hCard microformat. It’s based on a standard contact format and can be easily imported into all recent contact management software.

Since not many people use the ‘new’ TLDs are there any reasons to have .tel?

Breakfast at

Friday, April 14th, 2006

Yesterday Google finally released the Calendar. It’s a pretty nice app, it does what you expect it to do, it still has some bugs and it’s got the typical Google smell to it. The thing I really liked was the sample event title they give you – it’s different if you’re creating a multi-day event, all-day event or ‘in-day’ event.