The Java Tutorials' Weblog

pageicon Monday Jun 25, 2007

Eliminating Confusion

In my spare time I've been doing a remodeling project in the basement of my house. I'm not very experienced with power tools and such, so for my DIY projects, I rely on documentation and tutorials that I find online. Here is one such article, about replacing a standard light fixture with one that is flush-mount. Before reading this article, I had very little knowledge of how such a fixture was held in place. But after I read it, there is no way I could *not* understand it. Take a quick look at that article and you'll see what I mean.

Being a technical writer, I found myself asking a few questions (not related to lighting) as I read this. Questions such as: "How/why is this article so effective?" and "Could such presentation techniques apply to what we document here in the Swing tutorial?" If you skimmed (or read) that article, you would see that the discussion is divided into sequential steps, to be performed in an exact order. Each step has a screenshot. Explanatory text tells just enough to describe what is needed, but does not go overboard (it focuses on changing the fixture, not teaching everything there is to know about electricity in general first!)

My current assignment is to re-write the custom painting lesson of the Swing tutorial. As it so happens, I'm trying a similar approach to the above: create an application that illustrates the various painting concepts, break its construction down into sequential steps, provide screenshots for each step, and narrate as needed. The whole point is to give you, the reader, a guided walkthrough that eliminates confusion as much as possible. I really like tutorials with a "Step 1, Step 2, Step 3" kind of approach. How about you? What kind of narrative do you prefer in a tutorial? What is it about the presentation of our own tutorial that you find effective, and what kinds of things would you like to see changed? If you've ever read a programming tutorial and found yourself still confused by the end, what is it about that presentation style that made it *ineffective*? There is no right or wrong answer here, I'm just opening this up to discussion. Maybe certain trends will become evident through your feedback.

-- Scott Hommel

Comments:

Hi Scott,

Sometime back, I read a blog post by Martin Fowler on duplex books.

Most technical stuff that we deal with can get arbitrarily complex as we get deeper into it.

One approach would be to have tutorials at different levels, with each level abstracting complexity of certain layers. Within the tutorial of a level, the step 1, step 2, step 3 approach would work out very well.

Just an experience I'd like to share with you. Since a few weeks I am in the process of learning JSF for a project. I read some tuorials with the step 1... aproach, but somehow after reading all the tutorials I still had a hard time grasping JSF concepts when I got down to developing components. Off course this is not a fault of the step 1/2/3 approach. Maybe JSF has too many details, and it's tough to remember all of them. Also many details pop up as you write code. But this made me think that something as complex (and ghastly) as JSF would be a very good candidate for the duplex tutorial approach.

Perhaps for simple stuff a single level tutorial with steps would work out just fine, but for complex stuff, especially where the complexity unfolds as one tries to solve bigger problems, a duplex approach would work out well.

--
Regards
Parag

Posted by Parag Shah on June 25, 2007 at 08:45 PM PDT #

A step-by-step approach works for me most times when i'm coming to something new (which custom painting would be). If i'm just trying to fill a gap in my understanding or brush up on something i did a long time ago, i don't want to have to step all the way through something just to get the 1 or 2 pieces of information i need. So a good overview of the step-by-step process with the ability to skip to specific steps would probably work OK.

Posted by Paul on June 25, 2007 at 11:29 PM PDT #

What about screencast? They use this technique to show like the step 1/2/3 approach.

Posted by Marcel on June 26, 2007 at 11:19 PM PDT #

I love pictures--screen shots, class diagrams, tables--any visual aid to get the point across helps me out tremendously. For this reason, I think the step-by-step approach is great.

Posted by Jonathan Di Trapani on June 27, 2007 at 12:31 PM PDT #

In general, 1-2-3 stepwise tutorials are good for repeating exactly what is done in the tutorial. This is what you do in your basement. In programming, mostly (99%) I don't want to do EXACTLY what is discribed in the tutorial. I want to do something very similiar and need to adapt the knowledge from that tutorial to my needs. So I prefer narrative tutorials, 'cause they give me the right amount of ideas 'left and right of the road' to use them on other tasks. Instead of one step after another, where you can only follow exactly this road.

Posted by Chaos on June 28, 2007 at 12:15 AM PDT #

I am an enthusiastic Java novice. I have found the tutorials to be very useful. Java's distinctive terminology is a good example of what makes the duplex book so effective. On one level the language addresses concepts, and on another it details work paths. One tutorial feature I would like to see - maybe it's there and I haven't stumbled over it yet - is a concise glossary. I appreciate the topical links, but it would be useful to have an indexed listing.

Posted by Terry Walker on July 04, 2007 at 07:57 PM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed

« November 2009
SunMonTueWedThuFriSat
1
2
3
4
5
6
7
8
9
10
12
14
15
16
18
19
20
21
22
23
24
25
26
27
28
29
30
     
       
Today

Feeds

Search this blog

Links

Weblog menu

Today's referrers

Today's Page Hits: 119