Joel writes:
"The biggest surprise was how much work it took so that every user sees things in their own time zone."
Oh yeah, I hear you. Now imagine that your software has to do that not because you are hosting it for your clients all over the world, but because your clients all over the world are hosting it themselves, but on boxes controlled by someone else, in a different part of the world to where they are. Also imagine that these hosting companies refuse to set up the box in the timezone of the client.
Now, try and get your software to work in five different versions of PHP, with major differences in how timezones work. Deal with the fact that the hosting companies haven't configured the PHP timezone correctly for the server's timezone either.
And then throw in some bugs as well.
Joel has it easy. 