One of the reasons why we freelancers have a job is because we work relatively fast, as opposed to a big team of computer contractors, and because we are also relatively adaptable.
Since this is our main virtue, it is where most (if not all) of the client’s expectations lie. It comes with no suprise that the tone can get pretty sharp if we don’t comply. Just try it once : a customer asks for something, and you deliver the goods a day later. Then the customer comes back… and it takes you a week to deliver. Then a month. The client won’t understand.
I’m not saying it is stupid to have high expectations, just that the expectations are set by ourselves. I’m not saying we should stall unduly to make sure every project has the same timespan, just that we have to be clear upfront.
In many ways, we are all children : I do what I feel like doing, and I don’t hesitate to say no if I feel like it. And some customers expect instant gratification when they ask for something.
Thing is, being like Zorro feels kind of great : there is a problem, you arrive in the nick of time, you fix it, and then you disappear. This kind of operation is good for your ego (you are The Man), is usually pretty short, giving you some time for yourself afterwards and helps building strong relationships with the clients.
But after a while, people may start to act as if it was normal to call you at any hour, to ask you to fix something for, let’s say, a couple of hours? They say “now!”, don’t hesitate to say “no”, if you have a good reason to do so.