November 25, 2013
Follow me on Twitter

What should people need to know?

You can go into a coffee shop and tell them you’d like your eggs over easy. Or you can tell them that you prefer your eggs scrambled until not quite runny, then lightly sprinkled with chives. You don’t expect them to just know that’s how you like your eggs, you don’t fool yourself into thinking that this “over easy” jargon is imposed by the technical priesthood simply to vex you or because bad managers let them get away with it.

A grand debate is raging about the proper way to market iPads and other tablets. Should ads highlight the amazing things that exceptional people can make? Or should they emphasize the easy things your grandmother can do?

Both, of course. But you know where my sympathies lie.

There’s work to do…. There are people to feed, art to make, science to discover, sickness to cure, a climate to preserve, and winter is coming.

A common corollary asks whether it’s a good idea to expect people to know, or learn, anything in order to use your software.

In the old days when we all walked nine miles to school, we had to learn stuff that was simply extraneous, just details about the software. “Esc-J joins this line with the following line; esc-$ moves to the end of the current line.” We don’t do a lot of this anymore, thanks to good displays and thanks to Engelbart’s mouse.

But there’s other stuff you might need to know. If you’re using Brushes or Sketch Club to draw pictures of people, you’re eventually going to need to understand some anatomy and you’re going to need to understand how to mix colors. Perhaps we can make things a little easier at the margins, and perhaps we can help you have more fun as you learn, but until you do learn this stuff, your work isn’t going to be entirely successful.

Working with Tinderbox, you’re eventually going to need to understand inheritance. I expected that people would have a hard time with this; it’s notoriously hard to teach in introductory computer science. It turns out that people seldom have much trouble picking up inheritance, but it’s bound to take a little while. I think that’s one reason so many people take a week or two with Tinderbox before the epiphany.

For export, Tinderbox pretty much expects users to have, or to pick up, the rudiments of HTML. This ought to be straightforward, but it hasn’t been. At this point, it seems to me, knowing the elements of HTML markup is simply part of what we expect every educated person to know. Everyone needs it, it only takes an afternoon to learn. The resistance has surprised me.

When you want Tinderbox to cooperate with other programs – something that’s esoteric by definition – Tinderbox expects you to understand the scripting language of your choice. That seems reasonable to me. But people hate this.

Many problems arise because our tools seem so magical that people sometimes are fooled into thinking they are mystic – that they can (or should) intuit what we want. They can’t. If you want to export your information the way you want it, you’re going to have to say what you want. Or you’re going to go to the cafeteria and get your eggs from the steam table and, if you do, you must not complain about the way they’re cooked.