Are we teaching or "giving fish?"

August 25, 2008

My high school algebra instructor had this saying posted in his classroom and quoted it frequently: “Give a man a fish, feed him for a day. Teach a man to fish, feed him for a lifetime.” When a student was asked to answer a difficult equation aloud, others in the room often wanted to assist by whispering hints. With a twinkle in his eye, our teacher would respond to this with, “Are you giving fish?”

I recently was reminded of “giving fish” when I was asked for advice regarding a Web page “problem.” The site owner wanted to add a feature that would help users locate textual content within some rather lengthy Web pages. In the owner’s mind, the ideal solution was to trigger the browser’s Find/Search on Page feature (Control+F) via an in-page link, much like the Print dialog can be activated from a “Print this Page” link. When my research confirmed that the Find dialog couldn’t be triggered from a link, the owner’s next question was, “Can you code something that will do the same thing?” My response: “Why can’t we just teach them to use Control+F?” Why spend time and effort to replicate what the browser can do already — essentially, develop a costly “fish” when we could instead do a little teaching?

With mindsets like these, it’s indeed an interesting time to be a new software user. Generally speaking, most software is developed for and targeted at those who already know how to use software. After all, the interface concepts — menus, buttons, etc. — don’t generally change much. However, in the last few years I’ve noticed a new phenomenon: software for those who don’t understand software (or PCs) at all. In other words, programs meant to serve those who don’t really understand the technology they’re using. In the attempt to meet the needs of such a user, even the most basic computer operations are controlled by the software, giving the end user few choices for exploration, little chance to learn new concepts/skills, and virtually no hope for taking control of their computing experience (self-sufficiency). Now don’t misunderstand me. I strongly support developing software that can serve users at multiple skill levels, and designing with new users in mind is admirable. Additionally, there is certainly a place for software that helps users accelerate lengthy manual processes (“shortcut software”). What concerns me is software which also shields the user from gaining knowledge of basic concepts that would otherwise be required (or at least beneficial) for everyday computer usage. In short, the software is “giving fish,” and shortcut software sometimes steps into fish-giving territory. Here’s an example…

One of my relatives has several pieces of shortcut software for digital photo organization and transfer. (This software was either handed out by local stores that offer photo printing services, or it came bundled with the digital cameras.) It’s clear he doesn’t quite understand how the software moves image files from camera to PC and organizes the files on the hard disk. Based on the way the software functions, he believes he can only do with digital photo files what the software allows. For example, he once wanted to back up the photos to a CD, but the software doesn’t provide this feature, so he doesn’t know how it can be done. Of course it can be done but not with the limited feature set of the software that is allegedly supposed to be serving new users so well. Now, if he had a firm grasp of file management concepts, this scenario might be different. But as a newer user, he’s been fed fish continually and doesn’t have that self-sufficiency.

So I think my Algebra teacher was onto something. If self-sufficiency only comes by teaching, when and why did we stop teaching new users basic concepts? It’s no wonder the software vendors have tried to compensate. Will the trend continue? Only time will tell. In the meantime, let’s continue to leverage teachable moments. Speaking of which…

For those wondering how the Web page saga turned out, the owners eventually agreed, and the site went live with a “Search on this page” link that simply presented the message, “Press Control+F to search on any Web page.” While not elegant — and admittedly much more of a “triage” solution than redesigning all the site owner’s lengthy pages — at least we helped teach a few more users to fish for themselves.

The Software Generation Gap

August 16, 2008

With more and more digital devices flooding the marketplace, I’m noticing a trend as I survey new users’ awareness and understanding of the devices — many don’t even realize they’re using software. I’ve also noticed that those who are familiar with digital devices and software are quick to write-off those who don’t understand. They’re labeled and dismissed as part of some “old” generation. They’re banished to a “digital divide” or “device generation gap,” because they’re not part of this elite “device generation,” etc, etc. (Substitute your preferred label.)

To me, this doesn’t seem to be so much of a generational gap as it is an “understanding gap.” There is definitely a gap, but the gap merely separates those that recognize their device interaction as being software-driven, and those that don’t. Devices used to be strictly hardware-driven. The modern equivalents are just generic computers (of some size or computational ability) running software, and that’s the unfamiliar territory wherein many new technology users get lost. That’s not to say new users can’t learn to understand, but the rapid pace of change and lack of available bridges — explanations for relating traditional devices to software-driven — does seem to be leaving many in the digital dust. As more and more users grow up in a world where software-driven devices is all they’ve known (the “Software Generation,” if you will), it’s understandable they can’t identify with those who haven’t. Imagine yourself on the other size of that gap. Grasping the difference between solid-state hardware and software-driven hardware can be difficult from the new user’s perspective. The difference is perhaps more obvious with a PC, but for those traditional devices being rapidly replaced by software-driven equivalents (think phones, radios, etc.) it’s much less obvious for those whose experience is built on the traditional device.

The Software Generation could build bridges across the gap for these “older generation, new users,” but it is paradoxical that to do so they first need to recognize that the gap exists — that there was once a world without what they now assume is ordinary, and that they are blessed (or cursed) with knowing nothing else.

So if you’re one of the few who see the gap and (like me) have lived on both sides, take the time to put yourself in the shoes of those who are still making the trip to the new world. Recognize that it’s not their intelligence or experience that is the problem. It’s their frame of reference, and I am convinced they can be connected to the modern Software Age if we’re willing to build a bridge across the gap for them.