I’ve been trying to create programs with the idea of teaching others. This is a very different kind of programming from what I’m used to. Usually I receive a set of requirements, and build a full program form their, refining with new requirements and bug fixes along the way.
Writing demo programs is different. Though you’re still working toward a final product, you need to stop along the way at various increments, add a little bit with each new program until you reach that full program. Put too much in one program and people become lost. Put too little and they’ll skip over it.
This is really tricky and I’m just starting to get the hang of it. It means stopping a lot earlier than I normally would, ending with one concept, then creating a new project from where I left off to add another new concept.
I think this applies to writing as well.
We’re all creating worlds in our fiction whether it’s literally in the case of Sci Fi or Fantasy, or establishing the rules of a tight knit group of friends in the modern day. Whichever the case we don’t want to do a knowledge dump up front, but instead bring people in bit by bit. Maybe Tolkien can get away with 50 pages “Concerning Hobbits”, but most of our readers won’t be so tolerant.
We need to make sure the rules we’ve just established have really sunk in before our characters make decisions based on them. If we’re on a ship, we should have a good sense of the important areas, at least in the immediate vicinity. We should know approximately what point in the future or the past we are traveling in, and we should have a general sense for the technology, all without simply listing it up front.
This is trick, whether it’s programming or writing, but your readers and fellow programmers will thank you for taking it slow, for building brick by brick.