All things considered, while this is certainly might feel satisfying, it's a rather irresponsible move on the developer's part. Not only would this sort of behavior turn off future clients (shows that the developer is vindictive and unprofessional), but the dev is almost certainly legally exposed. IANAL, but it would be trivial for the client to show in court that the dev's actions led to quantifiable damages to their business, and might even be open to criminal prosecution.
The correct way to resolve this depends on the contract the dev signed in the first place. If the dev retains IP under the contract, they may be able to take the website down, or revert it to a previous state. If not, I'm not totally sure. Certainly the dev should refuse to perform any work for the client, and probably should solicit legal advice (relatively inexpensive to take a client to small claims court).
Recently on reddit I answered a question on the /r/webdev subreddit asking about backdoors in websites in case the client doesn't pay[1]. Sometimes webdevs don't quite understand how to deal with clients who don't pay, and the real answer is get a legally binding contract. Most other devs I know don't bother with this though, and leads to some frustrations on their part.
What if you had in your terms that the website had to utilize your proprietary javascript injected analytics package until the balance was paid in full? That way you could inject a "didn't pay" popup similar to NYT when you run out of articles.
The client could always edit the code to remove it themselves, of course, but they may not have the skills and if they hire another web developer they'll know they didn't pay the previous one.
Yeah, using tables for layout, a XHTML transitional doctype at the start, inline CSS and a general lack of mobile responsiveness doesn't suggest the most up to date knowledge of web development.
Still, I guess for the 'pay me' page, it could be somewhat assumed to be a simple rush job given the situation involved, so maybe the dev just wanted any old way to get a page up for this rant.
And hey, it's still more modern than this thing was:
Serious question could a non-payment clause protect you from a client claiming damages from a stunt like this?
For instance could you include a clause that states: "In the event of non-payment, development on the site will cease and will be replaced with a temporary landing page until payment issue is resolved."
Even if you have such a clause, it would be very trivial like @beisner has stated, for client to prove reputation damage and loss of business (even if they weren't making money to begin with).
> it would be trivial for the client to show in court that the dev's actions led to quantifiable damages to their business, and might even be open to criminal prosecution.
Couldn't you add another clause stating that the webdev is not responsible for any reputation damage, loss of business, or any other damages caused by the non-payment landing page?
Try to get a client to agree to such a clause, especially when they've probably already decided the likelihood of not paying the developer at the time they are hiring them.
> Try to get a client to agree to such a clause, especially when they've probably already decided the likelihood of not paying the developer at the time they are hiring them.
Seems to me like that's not a bad thing. If they're not planning on paying in full, you probably don't want to do any work for them. Better to find out sooner than later.
> especially when they've probably already decided the likelihood of not paying the developer at the time they are hiring them
if they're the sort of client who is planning at contract signing time to not pay, they're the kind of client you don't even want. who cares if they self-select out?
Oh no, trouble! That's the worst thing that could happen to someone! Getting in trouble!
People should stand up for themselves more, you deserve to be paid for your work. The client is the only person who should be in trouble. Don't be afraid of trouble.
You can't just sabotage your product because you didn't get paid. That just creates two wrongs that do not simply cancel each other out from a legal point of view.
There's a legal system to settle payment disputes. Using it is the civilised, and safe, version of "standing up for yourself".
Many service providers will put up nondescript error pages when the account isn't being paid. That's somewhat safer, but might not apply here: service providers are refusing to continue service. They're not changing a product that was already delivered.
Are you sure it's such a good idea to go around looking for trouble like this?
There are plenty of legal recovery avenues without going looking for trouble and pretending it's just standing up for yourself - a defense which will go nowhere in a felony hearing.
The correct way to resolve this depends on the contract the dev signed in the first place. If the dev retains IP under the contract, they may be able to take the website down, or revert it to a previous state. If not, I'm not totally sure. Certainly the dev should refuse to perform any work for the client, and probably should solicit legal advice (relatively inexpensive to take a client to small claims court).