I'm writing a pamphlet about the web for a non-technical cofounder. I'm walking through HTML, CSS, Javascript, Rails, MVC, Servers and things like that. The goal is not for them to be able to create something but rather to understand what I'm talking about when I say there's a problem in the controller on our rails app and it's going to take me an hour to sort it out.<p>What do you think should be covered in the pamphlet. If it works out well, I'll let you know where you can download it in the future.
It's not necessarily a technical aspect, but it might be worthwhile including a few bits on software scheduling so it makes more sense why, for instance, your estimates will change often until you get a better body of relevant evidence to base your future estimates from.
XML/JSON stuff<p>Difference between server logic and application logic; and how they work together.<p>Why does Android app take almost as long as the iPhone app to make - SDKs and differences
I think PaaS would be worth mentioning at an introductory level - the difference between managing your own VPS/Dedi/CoLo, and using something like Heroku.
Analogy.
If you can make the various components of software design relatable to components of a familiar machine, like a car for example, where your programs are described as the engine, transmission, axles, tires, windshield, paint, and so on, you will have clearly explained the <i>role</i> of the software in the big picture, which is far more valuable than its technical specifics- in a more intuitive way. (at least to someone that has only cursory interest in the back-end aspects of program components.)
Just a thought.
The most important aspect that nontechnical people need to understand about technology development has nothing to do with technology itself. It has to do with process. Understanding how estimation works, the importance of environment, the role of refactoring, automated testing, and debugging, etc. These are the things that will provide far more value than an explanation of MVC frameworks.