Teaching a non-programmer web development?
russell: HTML first. Do it yourself HTML is better than using web design software or prepackaged templates. Hand coded HTML gives you an understanding of what is going on. Start first with a static web site to limit complexity.  CSS is next, but it can be a major conceptual leap, particularly with browser incompatibilities, so I would suggest that you create some simple style sheets, and let him experiment with it.JavaScript is the next step.  I recommend JQuery as a fundamental library.  He should concentrate on simple aids for the user, until he gets a feel for it.  JS is a bigger hurdle than HTML.On the server side, I am a Python fan, but since you know Rails, that might be a good way to go, if you are into helping him.  PHP is relatively easy, but it encourages really bad code.  I would recommend against it.Photoshop is a huge monster.  Unless he needs it, it's a distraction.As far as learning resources, there is lots online or get highly rated books from Amazon.