Flash And Dazzle

If you’ve read my bio, you’ve probably noticed I’m a software developer very focused on the end user. By end user, I mean people who actually use the software. In my experience, software all too often becomes geared to meet egos/desires of: Developers, Architects, and Business people running the show. That’s a shame, and I strive to reverse this, one bit of software at a time.

Unlike ten year ago, software is pretty pervasive now. 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’re 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 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’s worked before?), emotion (I love X! / I hate Y!), and available materials (technologies). 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 doesn’t match the user’s need. 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 to imagine a pretend company: BenchWorkz, builder of fine benches for 50 years. They make benches in all colors, sizes and shapes. 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 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 new “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, broken off construction material/corners produce tasty treats! And 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’re so yummy.”

Fast forward two busy years and 2 million dollars later. New hover bench is nearly complete and the craftsmen have been busssssy indeed. Instead of 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 concession was made: everywhere you insert one screw-compatible, you must also insert a screw.

And, business people have been busy too. There marketing material to print, major vendors to contact; not to mention a few pats on the back and bonuses to collect. Never before has the world seen something so bench-tastic!

The architects nearly pulled it off, too! Toffee proved 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 7am, for the global sales launch.

Then, over the next few months, reality sets in. First, the benches don’t really hover and they never have. But, this “feature” wasn’t removed (because 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 the 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, 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.

Advertisements

About dataland

Like many others, I'd like to improve the world but I'm currently caught up in day-to-day work. In the meantime, I'm a software developer who is very much focused on the end user.
This entry was posted in Software Development, Technology and tagged , . Bookmark the permalink.

One Response to Flash And Dazzle

  1. Pingback: Microsoft Emacs.Net « Dataland

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s