October 26, 2019// Category: Digital Marketing
Forget creaky haunted houses, dancing zombies, and ghosts popping out of the shadows; if you’re looking for some truly spooky things to tell late at night around a campfire this Halloween, venture no further than this cursed collection of scream-worthy tales from web developers and their clients.
Those of us who have enjoyed only pleasant, easy experiences with building websites or hiring someone to build them for us are the fortunate few. Web development can be a frightening and fickle beast, and there are plenty of factors on either side that can and often do go wrong. Count your lucky stars and take the following lessons to heart, dear reader, and perhaps you can avoid the hideous ordeals I’m about to recount.
Are you ready?
How about the story of a website that was running slower than L.A. traffic at Christmas time? A graphic artist doing some work for the site noticed that database queries seemed to be clogging up the works, and offered to take a peek at the SQL database. This is the part where you shout at the screen, “Don’t wander off into phpMyAdmin alone!” But he goes anyway. They always do.
What did he find but one ginormous, bloated, drooling, Jabba-the-Hutt-esque database table stupidly muttering GETs to itself as it crushed to bits (get it? Bits?) the feeble webserver upon which it mercilessly sprawled? Over fifty columns of sheer terror.
Thankfully, this story has a happy ending: the graphic artist educated the website developer on some database design principles, the monstrosity was broken up into manageable chunks, and the website lived long and prospered.
Moral of the story: Do your research before creating any database! Proper database design can save you horror and heartache down the road.
Or there’s the tale of a web developer asked to take over work on an existing site. Just like the innocent family of four who moves into THAT HOUSE at the end of the street because the father insists it “has charm” and because it was half the price of any other house on the market, this poor developer was stuck with a site that had rats in the attic and a demon in the basement.
What demon did he find, you ask? One hulking and quite dangerous demon, actually: a SQL dump file full of customer contact information, including full names, addresses and phone numbers, and email addresses. Oh, but that wasn’t all. This same file also contained credit card information: numbers, expiration dates, and CVVs, all in plaintext. Cue panicked scream effect.
Believe it or not, the story gets even nastier. By doing a bit of URL manipulation or SQL injection trickery on the front end of the site, a user could upload any file without validation and proceed to gain access to all of the site’s files, including that SQL gold mine. When the developer called the site owner to report his findings, he was told that not only did they already know about the vulnerability, but the site was hacked regularly, and furthermore, fixing the issue was not a priority.
Moral of the story: Don’t move into THAT HOUSE at the end of the street if you can help it. But seriously: I cannot stress enough the importance of information security, especially these days. Check out my recent article about WordPress website security; these principles can be applied to non-WordPress sites as well.
Sometimes, everything is going swimmingly… and then the nightmare begins. And all you can do is watch in cold dread as it all falls apart.
The web developer in this tragic story had a great thing going. He built a lovely site from XHTML and CSS, the client was happy, and life was good… until a third-party vendor entered the stage. Cue the creepy music.
The client hired this new vendor for some backend management. The vendor insisted on integrating the completed website with their software, and moved the site files to their own host. And that’s when the gore fest began.
The original developer never found out why his site had been so ruthlessly desecrated.
The caption? “CSS can kill you.”
Moral of the story: When writing CSS, make sure to cross check your work in as many browsers and screen sizes as reasonably possible. Don’t kill the passengers!
Moral of the story: When you see this, it means that all development work has come to a grinding halt for the day. The distant screams you will hear are developers losing their minds.
Scope creep is real, y’all. Just listen to the tale of a developer who agreed to start building a site without a written agreement regarding compensation or the work it would entail.
The client became more and more pushy, constantly adding new features and checking in on the site’s progress. When the developer finally pulled back on the reins to discuss payment before continuing down this dark path, the client pulled a GIANT AXE out of his trenchcoat (OK, not really) and attacked, demanding the code and threatening the developer with legal action. The developer stood his ground and fought back, and won the day.
Moral of the story: Never go in against a Sicilian when death is on the line! Also, never work without a contract.
A horror story in twenty-one words:
Told to write a blog application from scratch.
Told that I can’t see the database (or add to it).
Moral of the story: You can’t ask a construction crew to build a house if they’re not allowed to touch the ground it’ll be built on. Same kind of thing here. Weirdly floating houses – and websites – don’t work.
And now, a horror story in nine words:
We need this to work on IE7 and iPads.
Moral of the story: None. This is just a nightmare.
Our final alarming account is of a client who had an idea. An idea that, if nurtured correctly, might have flourished… but sadly, some mistakes and incorrect assumptions along the way caused it to wither and perish.
The client had never before worked with freelance web developers, and awarded his project to the lowest bidder on a freelancing site. This turned out to be a gruesome error. Language barriers, misunderstandings, and ineffective communication abounded, and the client ended up with a site that as closely resembled what he had envisioned as a rubber duck resembles a bald eagle. He kept requesting more fixes, and continued to encounter nothing but delays and disappointment up until he eventually ran out of money for the project.
Moral of the story: With web development, you really do get what you pay for. The cheapest initial option may unfortunately cost you more in the long term than paying a higher price for quality work.
Sufficiently spooked? Heed the advice given here, my friend, and you might just avoid finding yourself in your own tale of web development woe.