raganwald
(This is a snapshot of my old weblog. New posts and selected republished essays can be found at raganwald.com.)

Monday, May 12, 2008
  Show, Don't Tell


Jeff Atwood is so right, I practically shouted “Slamma-lamma-ding-dong” when I read this line:

So what, then, are the alternatives to XML? One popular choice is YAML. I could explain it, but it's easier to show you. Which, I think, is entirely the point.
XML: The Angle Bracket Tax


Now, I don’t mean, “Jeff Atwood is right that YAML is better than XML.” Well, I believe it is better than XML for a lot of things, but which things and how often and he didn’t exactly say that any ways.

What I actually mean is that Jeff is absolutely right that some things should not be explained, they should be directly experienced. It’s better to show them than to try to explain them.

Things that involve changes to human behaviour do not lend themselves to explanation. You have to try things. Or observe people trying things. Trying to explain it just doesn’t work, even though we humans have a huge and futile desire to try—including writing weblogs just like this.

Think about user interfaces. Imagine yourself traveling back in time to the eighties—last century!—and trying to “explain” Excel to someone who was a master of Lotus 1-2-3. They have seen a mouse in the computer store—it came with its own card and you configured jumpers to set the interrupt so it wouldn’t conflict with their extended memory.





A Tablet PC. I once claimed it was The first Windows computer good enough to criticize. Its flagship application, OneNote, was and is the best idea sketching and note taking application I have ever used.

Alas, I cannot explain why some combinations of software and hardware—like a TabletPC running OneNote or an iPod touch—simply work without putting one in your hands to try.

Now you are going to explain why they will be more productive pushing a plastic bar of soap around their desk instead of banging out slash commands at high speed? Are you crazy?

The only way this person will consider Excel is if you show them Excel. And I speak as a man who was there. At one time, Excel was so good that people would switch from their PCs with 1-2-3 to Excel on a Macintosh just to get Excel. Until, for some mysterious reason, Microsoft brought out Excel on Windows and the Windows version could use 8MB of RAM while the Macintosh version was limited to 1MB of RAM. Dunno why.

Or how about software development. What do you mean releasing software every two weeks or every month? It takes three to four months just to plan a release around here! And hey, that “better search” thingie you were droning on and on about? How much better can searching the Internet really be? Why would anyone care?

But when people see iterative development in action, when people use the Internet, and when people watch Google’s stock price… they get it, immediately.

The interesting thing is this: things that are easy to explain are things that fit with our incomplete and wrong mental models of how the world works. We have built a whole UI industry around trying to match our guesses of how people think, like imagining that an icon of a pair of scissors will tell people that clicking there will cause whatever they have selected to vanish and be held in some invisible suspension, waiting for them to click the icon that looks like a bottle of Kindergarten glue.

Whereas things that break those models are impossible to explain, because they aren’t just like whatever we already believe. So? So those are the things that have a shot at doing something new, at disrupting our behaviour. Like making CRUD web applications easy to build or a mobile web browser that doesn’t suck.

You recall that Apple—know know a thing or two about disrupting human behaviour—introduced the iPhone with advertisements that simply showed them in action. I wonder why?

I am going to stop trying to explain that you should not try to explain some things to people. You don’t have to trust my word on the subject: Open your eyes and observe for yourself. When things involve human behaviour, it’s better to show than to tell.
 

Comments on “Show, Don't Tell:
So what's going to replace the standard "save" icon, since an entire generation is probably not going to recognize a 3.5" floppy disk? Will it remain an anachronism for all time because they grew up pressing the floppy disk icon to save?
 
what's going to replace the standard "save" icon

Oh man, answering that question is another entire post!

For starters, icons for abstract commands are a bad idea in most cases. It&rsquop;s just as easy to learn the word or better still to train your muscles to move the pointer to a certain place and click.

Most icons are what they call a buying feature, not a using feature. They add sizzle to the demo, but provide little benefit to the user.

Now back to save: the snarky answer is that we have to retrain the next generation to laugh at the idea of saving a document. I used to own a TabletPC, which I argue was the first Windows computer good enough to criticize. OneNote, its signature application, did not have a save command, and furthermore used a tabbed notebook metaphor rather than hierarchically arranged folders for storage.

Today, search is far more important than ontology: I really think save is an anachronism that must die die die.

JM2C, although your question is still insightful: legacy matters.
 
A couple of points ...

One -- it is ironic that we had to be convinced that using a mouse was more productive -- and then had to be convinced back three years later that it was worthwhile and productive to learn the keyboard shortcuts.

Two -- I don't agree that icons are a buying and not using feature. In a web browser, I use nothing but icons. In Word or Excel, I only use about 1/5 of the icons, but I use them a lot and would be sad if they went away. Outside of those apps, you're probably right though.

Three -- I don't think save is an anachronism, and it certainly shouldn't die. It's the little gate between persistent and volatile storage. Now, I think I get it -- your argument is that there shouldn't be volatile storage, that is, storage that goes away isn't really storage. But the Save/Save As world is a relatively lightweight solution to forking, cloning and versioning data.
 
Save is just a snapshot. What's your aversion to it?
 
I'm totally with you on showing instead of explaining. This is part of the reason I've launched esposure.com.

It's based almost solely on what you can show the world.

The Best!
 
Save is just a snapshot. What's your aversion to it?

So you want me to explain something that should be experienced? Fine, but I don’t expect to convince you with mere words.

What is this snapshot you speak of? When I write, my words go onto the paper. If I get up from my desk and turn out the light, when I return the next day, my paper and my words are still there.

Why do I need to carefully take my paper off my desk and file it in my filing cabinet before I turn off the lights?

Computers are better than paper because they have this undo mechanism. So why do I need a snapshot? So that I can name a version of my document? Fine, if that’s what you want to do, instead of this terrible, error-prone ad-hoc mechanism called Save, why not give me actual versions and branching and merging and tagging?

Save should die die die. It is a feature written for the convenience of the machine, and not even today’s machine but ancient machines.

You know, instead of reading the above, I encourage you to grab a TabletPC and play with OneNote. Much easier.
 
reg:

It's going to take some serious re-training to eliminate Save.

I built a tool that was all ajaxy saves. Check a checkbox and it would save that it was checked, change a textbox and it would save automatically.

I had to artificially add a "Save" button because people didn't trust that it had saved.. even though I visually represented the save.

People sort of understand when you click a delete button and the item disappears from the list, but text entry is different.

This very comment editor has a "save" button. It happens to be called "Publish your comment", but it is a save button.
 
Your tablet reference is perfect. I've been using a Thinkpad x41 + One Note for a while. It's an amazing combo. I've been without my thinkpad for 2 weeks as it's gone for warranty service and it's like missing my right hand.

People don't get it until you show them.
 
Excellent post, as usual!

I also agree wholeheartedly that the notion of "saving" is an anachronism. I thought about this a few months ago; I hope people start to do away with this unnatural idea.
 
> I don't agree that icons are a buying and not using feature. In a web browser, I use nothing but icons.

I never do. I have mouse gestures to navigate back and forth and to open new empty tabs. For other things I use the keyboard.
 




<< Home
Reg Braithwaite


Recent Writing
Homoiconic Technical Writing / raganwald.posterous.com

Books
What I‘ve Learned From Failure / Kestrels, Quirky Birds, and Hopeless Egocentricity

Share
rewrite_rails / andand / unfold.rb / string_to_proc.rb / dsl_and_let.rb / comprehension.rb / lazy_lists.rb

Beauty
IS-STRICTLY-EQUIVALENT-TO-A / Spaghetti-Western Coding / Golf is a good program spoiled / Programming conventions as signals / Not all functions should be object methods

The Not So Big Software Design / Writing programs for people to read / Why Why Functional Programming Matters Matters / But Y would I want to do a thing like this?

Work
The single most important thing you must do to improve your programming career / The Naïve Approach to Hiring People / No Disrespect / Take control of your interview / Three tips for getting a job through a recruiter / My favourite interview question

Management
Exception Handling in Software Development / What if powerful languages and idioms only work for small teams? / Bricks / Which theory fits the evidence? / Still failing, still learning / What I’ve learned from failure

Notation
The unary ampersand in Ruby / (1..100).inject(&:+) / The challenge of teaching yourself a programming language / The significance of the meta-circular interpreter / Block-Structured Javascript / Haskell, Ruby and Infinity / Closures and Higher-Order Functions

Opinion
Why Apple is more expensive than Amazon / Why we are the biggest obstacles to our own growth / Is software the documentation of business process mistakes? / We have lost control of the apparatus / What I’ve Learned From Sales I, II, III

Whimsey
The Narcissism of Small Code Differences / Billy Martin’s Technique for Managing his Manager / Three stories about The Tao / Programming Language Stories / Why You Need a Degree to Work For BigCo

History
06/04 / 07/04 / 08/04 / 09/04 / 10/04 / 11/04 / 12/04 / 01/05 / 02/05 / 03/05 / 04/05 / 06/05 / 07/05 / 08/05 / 09/05 / 10/05 / 11/05 / 01/06 / 02/06 / 03/06 / 04/06 / 05/06 / 06/06 / 07/06 / 08/06 / 09/06 / 10/06 / 11/06 / 12/06 / 01/07 / 02/07 / 03/07 / 04/07 / 05/07 / 06/07 / 07/07 / 08/07 / 09/07 / 10/07 / 11/07 / 12/07 / 01/08 / 02/08 / 03/08 / 04/08 / 05/08 / 06/08 / 07/08 /