I bought my first car in 1973. It was a red ‘66 VW Bug. It had a key and everything, but seein’ as the ignition switch was shot, I just installed a starter button. Which kinda meant unless I locked the doors, I didn’t really need a key at all.
And being as I lived in a small town, I rarely bothered to lock it. Couple times a week, I might get hungry and pop into one of the local watering holes or one of the diners to grab a bite. When I got ready to head home, sometimes I’d go to get in my car and it’d be gone. Fortunately, I didn’t live but a 15-minute walk from most anywhere you’d want to eat in my hometown, so it wasn’t a big deal. I might be walking home and one of my friends would pass by and ask me if I needed a ride. I’d gladly accept, especially seein’ as they’d be driving my car. Those were simpler times Timmy.
Repairing a Bug back then was pretty easy. Six friends and a case of beer and you could swap an entire body out in an afternoon. Or remove, rebuild and reinstall an engine over the weekend if you remembered to order all the parts. No beer though.
Car repair is a little more complex these days. You can’t even balance a tire without some sort of high-speed spinning computer machine. But everything else has gotten more complicated too, so I reckon I’m not complaining – merely reflecting. I do that a lot. And I do think we’re kinda trending toward making everyday things life more complicated than they need to be.
Chasing the wow factor
But let’s get down to business and talk about complexity when it comes to web design and development. Every once in a while I scour the internet just to see what’s trending and I’m often amazed at what I see, but more so curious as to how somebody did this or that. And the pragmatist in me always wonders how much it cost and to what good end that money is being spent. More often than not, whatever was obvious to the designers and developers in that regard escapes me.
This isn’t a new phenomenon – I remember when Flash and Shockwave hit the web and everybody thought they were the greatest thing since a pocket on a shirt. They absolutely brought the “WOW” factor, but in my humble opinion, a lot of implementations often seemed, well, gratuitous and developers added them just because they wanted to be on the cutting edge. People did go “wow,” but sadly that didn’t necessarily translate into conversions. And Flash added a layer of complexity. If you didn’t have the player installed, you’d get a dialog and have to download it. That in itself was a bothersome diversion, especially when the installation didn’t go smoothly. And not all browsers played nice with Flash. More complexity.
I don’t remember when designers and developers decided that Flash was passé, but it had a good run. These days with WordPress and Joomla, there are new ways of bringing the “wow” to websites with various plugins and design techniques. But most everything we do will add at least one layer of complexity.
Simple gets complex quickly
Let’s look at simple design elements first. Say our graphic designer likes the idea of adding a couple of color blocks. Easy enough. We create an element with a background color of their choosing and add the text. But hang on. They also want a picture overlapping that element. Now we have to add code to position one of those elements to achieve that look. At a standard resolution of 1440px, easy enough. Then we learn that our designer decides that a full-width color block running behind both of those elements would look pretty spiffy. Now we’re adding code to position another element and things are getting considerably more complex – especially when we start making things responsive. And at this point, the complexity is growing exponentially.
Or maybe we want to add a simple slideshow. Doesn’t seem like a big deal, but perhaps surprisingly, plugins that boast about being “fully responsive” really aren’t – at least in a practical sense. They make it seem so simple, but when things go from desktop to mobile, complexity rears up again and we often add code to keep things from jumping around and generally behaving badly. Or if the images are not properly sized, at any resolution things can get really weird.
So am I saying that complexity is universally bad and things need always be mundane? No. I’m only saying that we need to consider the cost and time involved – not just in the development phase, but long-term with maintenance and support. Further – and most importantly – I’d suggest that since complexity doesn’t come cheap, we should always weigh the cost of adding this or that and honestly assess whether there’s any value to be gained.
And I doubt many of you are wondering, but in case you are – swapping out an ignition switch on a ‘66 Bug was remarkably simple. I just never bothered because then my friends would’ve had to get keys cut in order to randomly borrow my car and that would have made their lives unnecessarily more complex.