I’ve been making a living as a web designer now for around 8.5 years or so, and I have to say this isn’t the first time that the idea of having a killswitch has crossed my path, but seeing CSS Killswitch showcased in the first Smashing Magazine newsletter lends credence to an idea that I wholeheartedly disagree with.
I haven’t walked down the primrose path of freelancing bliss, and I have had my fair share of problems, and dead-beat clients. In fact one of the first gigs I had as a freelance designer landed me a low dollar, high output project where the first payment check bounced, and it took me more than 3 months to finally get paid for the completed site. Everyone has had one of those, and if you haven’t you are either lying, blessed, or haven’t been at that long.
Here’s the thing, if your relationship with the client breaks down so dramatically and to the point that you have to threaten, or actually nuke their site in order to get paid, it’s your fault – not theirs. Yeah, I know some people are just jerks, and expect to get something for nothing, but that’s why there are lawyers and these things called contracts. If you are a freelance anything and working without the umbrella of a contract, you’re asking for trouble. Contracts should be mandatory, especially when you’re talking about intellectual property, like design and artwork. They are pretty much the only thing that keep some people honest. A well drafted contract, and a little bit of public relations can go a long way to keeping everything running smoothly. That’s not to say it still can’t go south.
Using tactics like a CSS, PHP, or an AJAX Killswitches are underhanded, manipulative ways to blackmail someone into seeing things your way. Besides being unethical, they could very likely land you in court on the wrong side of things. There are security risks to consider as well, plus you have to remember to remove the code when the project is over. COnsider too, what might happen when a good client finds out you use this tactic; they might consider this a dishonest practice and bail on you to find someone who they can trust. There are better ways to handle your development process that could negate the need for a killswitch altogether. Besides having a decent contract to fall back on, why not keep a tighter reign on your development files until you get paid? Hosting is cheap, so there’s no reason why a clients site couldn’t be hosted remotely on one of your servers until the project is bought and paid for. Sure they could use a site scraper and get the files, but that doesn’t work for server side languages like PHP and .NET.
In the cases where I have had problems with clients, I can admit that it was 100% my fault. Either there was miscommunication, no or poorly written contract, no deposit, any number of things. Mistakes. Mistakes that I learned from, and there are a great many things I don’t do when I engage clients in a freelance capacity now.
Everyone makes mistakes, so why not work them out and correct the problems rather than compound it by backing your already problem child into a corner?