If you’ve read my bio, you have probably noticed that I am a software developer very focused on the end user. By end user, I mean the people who actually use the software. In my experience, software all too often becomes geared to meet the ego of: developers, architects, and business people running the show. This really is a shame, and I’m working to reverse this, one bit of software at a time.
Unlike ten year ago, software is now pretty pervasive. People are used to being connected and appreciate what technology can get them. We (I’m an end user too) know what we like. We know what works. As technology evolves we are exposed to new concepts and presentations, which provides us with more experiences, from which we acquire new likes… and the cycle continues.
Ideally, technology caters to what we need. But, as technology marches on, we sometime get force fed exactly what we don’t need. Only we don’t know really know it. Because I’m a software guy, I’d see this most directly from my software development experience.
Software is generally driven by a bunch of factors such as: business goals (what turns a profit?), experience (what has worked before?), emotion (I love X!, or I hate Y!), and available materials (technology bits comprising the software). There are lots of pitfalls in making software, and more ways to shot yourself in the foot than believable, but the biggest pitfall is when the end-goal of the software does not match the user’s need. You see, it all comes back to the user.
Please bear with me; this may look like a rant, but… Ok, well it is.
As an illustrative story on how not to produce software, I’d like us to imagine a pretend company: BenchWorkz, a builder of fine benches for 50 years. They make benches in all colors, sizes and shapes. They have Benches for: carpentry, kitchen-use, painting, even travel-sized. BenchWorkz really has done it all, and they are the recognized global leader in benches.
Sales are strong, but many of the company’s 200 employees want to do something new, something exciting. Now the only question is… what?
The craftsmen are tired of using screws to construct the benches. Many of the old timers have been using screws since the 1950s. So, they elect to build their own screw-compatibles from twisted bailing wire. The rookies quickly get drawn into the “vision” of the old timers.
The business people determine a bench’s basic characteristics and function. They really want a “bench to end all benches”. Their experience has shown that “benches streak the floor”, so… our next bench will be a Hover Bench, “just like the Jetsons”.
The bench architects, who specify the major construction materials, have grown tired of wood. Not only is wood boring, but when you get it in your month it’s really quite yucky. With a bench built of Toffee: scratches, scrapes, and broken off corners produce tasty treats! And hey: “Imagine the first time a customer gets a Toffee-Based bench splinter in his thumb. He’ll immediately put his thumb in his mouth. Talk about yum!” Just imagine people saying: “I love BenchWorkz splinters, they just are so yummy.”
Fast forward two busy years and 2 million dollars later. The new hover bench is nearly complete. And, the craftsmen have been busssssy indeed. Instead of the 50 old-fashioned screws, each bench is held together with 50 screw-compatibles (bailing-wire-tightly-wound-like-a-screw). Unfortunately, the craftsmen’s screw-compatibles didn’t really work, and management just couldn’t think of undoing all that “work”, planning and thought. So the concession was made: everywhere you insert one screw-compatible, you must also insert a screw.
And, the business people have been busy too. There was marketing material to print, major vendors to contact; not to mention a few pats on the back and bonuses to collect. Never before will the world have seen something so bench-tastic!
The architects nearly pulled it off too! Toffee has proven to be really fun and tasty to work with. There haven’t been any splinter incidents yet, but the bench parts are really great to snack on, and provide interesting conversation pieces.
Finally, the new hover bench ships to stores. Apprehension sets in. Employees count the hours until Monday morning at 7am when global sales start.
Then, over the next few months, reality sets in. First of all, the benches don’t really hover and they never have. But, this “feature” was not removed (b/c it’s called the HoverBench 3000). So, instead of actually hovering, mirrors were installed on each side … thus providing the “illusion” of levitation.
The screw-compatibles didn’t really work that well either. Invariably, little bits of wire stuck out of the bench at all different angles (even when secured with chewing gum caps). Typically, users would cut themselves on these “nearly invisible metal thorns”. Satisfaction was really quite low.
Replacing wood with Toffee also proved unwise. Each Bench top needed a cloth cover, because Toffee gets “too sticky when sat upon”. And, the side-mounted mirrors effectively covered up all remaining Toffee. Management deftly installed a “Toffee Inside” sticker on each side, but sales still plummeted.
It all comes back to the user. Benches (and software) really should serve a purpose in the end. Software really needs to serve the user, not the software maker. The magic lies in recognizing the true user need among all the flash and dazzle.