Tips for writing an effective tutorial

Writing a development tutorial requires a few more considerations in comparing to writing a regular article. Readers would have to follow the steps, read code, view demos or examine a picture explaining some feature. Here are several tips that might help you write more efficient tutorials.

I won't explain here how important it is to choose the right subject, good title and other things that you can read in many other articles about writing for the web. I will focus on things that are specific for tutorials. Alhtough some of these tips can be applied to any type of article, they are even more significant in tutorials. For more general guidelines on how to write for the web, especially from usability perspective, I recommend you read Writing for the Web series of articles.

1. Make it short but to the point

Let's be honest, a very few readers will read the entire tutorial. As with any content on Web they will scan the content instead of reading it. Only if they find an interest in what you are showing they will read. Avoid long paragraphs and series of paragraphs without code snippets or images. Also avoid describing each tiny thing user should do, but rather show the key points in the path to tutorial completion. However, you shouldn't omit anything important. For example, it is important to explain how an element will be animated with jQuery, but it is completely unnecesary to explain and show each line of HTML structure or CSS code used in tutorial.

2. Explain each task shortly

You should be able to explan each task in a few simple sentences. Einstein said "If you can't explain it simply, you don't understand it well enough". Imagine what would readers think of your knowledge of the subject and how they would understand it. If you make it too long, go back and rewrite it.

3. Break it into logical steps

This will help users read and follow a tutorial more easily, and get back to a specific step if they need to. Each step should contain several tasks after which reader will be able to actually see some result.

Build Internet tutorials are easy to follow. Each tutorial is divided into logical steps and each step is easy to understand.

4. Include code but don't over do it 

If you have code to show, do it but don't paste the entire demo in the tutorial. No one will be interested in reading couple of screens of markup. Show only key snippets. You should, for example, show just a few fields of a large web form to enable readers to get the big picture of what you are showing. Readers who are interested in the full code will check out the demo or download source code. Which bring us to the next tip.

5. Provide a demo

Always try to provide a demo. I tested several of my previous tutorials and tests showed that nearly 70% of all readers view the demo. Many of them (63%) view demo first and if they like what they see they read the tutorial. Don't forget to add a link to the tutorial on all demo pages so that readers can easily go back.

The screenshot above is taken from one of the tests I mentioned. The link hidden behind clicks is a link to the demo page and it shows how important it is to include a demo in a tutorial.

6. Visualize the most complex tasks

You can also provide images explaining the most complex taks or steps. When readers see a demo they will understand how it works, but they will understand how it is made only if they read the demo or see the image explaining the process of creation. Such images also help readers visualize some steps or the entire tutorial.

Viemo navigation

In one of my previous tutorials, Create Vimeo-like top navigation I provided two images that help users visualize the most complex tasks.

In his latest tutorial How to Add a Fixed Position Banner to a Website, Steven Snell uses images effectively. He provides several live examples of the feature he decomposed.

7. Always provide source code

Some readers will like to have the code from the tutorial offline. This way they can examine the code even if they are not able to access your tutorial for whatever reason. You should compress your files and give a meaningful name to the compressed file. Same applies to all other files. You should also add a link to the tutorial in your demo pages so that reader can easily go back if necessary.

8. Have download and demo links in prominent position

This is one of the most important aspects in web dev tutorials. As I mentioned before, a lot of users will take a look at the demo first and that's why it is important to place a link to the demo at the top of the article and make it prominent. The usual position is below a short introduction and/or image but before the first step in the tutorial. I also tested three different versions of the same tutorial.

  • Tutorial with a prominent link to demo page at the top of the tutorial
  • Tutorial with a plain link to demo page at the top of the tutorial
  • Tutorial with a link to demo page placed at the end of the tutorial

The results I mentioned in tip #5 refer to the first version. Other two had significantly lower number of users that viewed the demo, which is somewhat expected.

The exception is the case when you have more than one demo; in which case, you should place links to each demo just below the heading of a section describing it.

3 Easy and Fast CSS Techniques for Faux Image Cropping tutorial on CSS Globe has three demos.

9. Join the discussion

Once you publish a tutorial your job is not done. Readers will have different opinions about your work. They might criticize the way you created something or they might have some suggestions and improvements. Answer those comments. By joining the discussion you will send your readers a message that you care about their opinion and that your tutorials are really there to help.

You will also learn more and be able to see a specific problem from different angles. After all, you started it all by posting the tutorial ;)

10. Update the tutorial if needed

If you made a mistake or if someone comes up with an improvement, you should update your tutorial. It will give satisfaction to readers that noticed issues and also give motivations for others to actually read your tutorials and comment on them. Not necessarily, but you can also give credits to people who spotted issues.

Marco updated his tutorial A fancy Apple.com-style search suggestion with PHP4 version of the code provided by one of his readers

Your tips?

Would you add/change anything? What annoys you the most when you read tutorials? What do you like the most?

More articles in Blog archive or elsewhere
Advertisement

25 Comment(s)

Richard Reddy

Richard Reddy 24 Sep 2009 #

Excellent points. I always feel lazy after reading your own posts as you obviously go above and beyond to ensure what you are writing is clear and to the point.

I find it quite time intensive coming up with even very simple demo's. It can also be a pain in the butt making demo pages as you need to make those files outside of the blogging software and that just feels like work ;)

Rich

Marco

Marco 24 Sep 2009 #

Absolutely a great read Janko! Also, don't forget (if you post code) to give it proper syntax highlighting - it's easier for the user to actually understand the code. I personally love to add comments in the source code too, instead of placing it inside the article.

Also, thanks a lot for linking to my update on the Apple search Smile .

Keep up the great work mate!

Mark Watkins

Mark Watkins 25 Sep 2009 #

Good post. I've had to make tutorials for CMS for clients before, i found images and arrows we're more helpful then text alone

Rafael R.P (Raff)

Rafael R.P (Raff) 25 Sep 2009 #

Nice tips Janko.  i'l make my first tutorial \o/

Todd

Todd 25 Sep 2009 #

Good job putting together the tips -- will be used for a checklist.  I've written a couple of blog 'how to' articles and I'll keep this handy for the next ones.

hackmaskate

hackmaskate 25 Sep 2009 #

Thanks dude, is amazing your Tutorial xD

Janko

Janko 26 Sep 2009 #

Thanks, guys!

Richard: Yes, creating demos is really time consuming. A complex demo can get you exhausted.

Marco: Good point  with syntax highlighter, it can improve readability.

Dinesh

Dinesh 27 Sep 2009 #

Great article, it is not an easy task to write articles.

Oren

Oren 27 Sep 2009 #

good tut Smile

I didn't find anything new to me, but I think this is good for everybody else...

Also I think the best way to learn how to write a tut, is to read lots of tuts.

Josip

Josip 28 Sep 2009 #

Break it into logical steps - was just about to commend how scannable this article is Smile

someguy

someguy 28 Sep 2009 #

Just wanted to comment both on the article and your site. Nice job. Everyone should know how to write a decent tutorial, this makes it easier for all to learn.
I really like the contrast and layout of the site. Nice point about not including too much code too. =~)

devnull

devnull 28 Sep 2009 #

Nice one good tutorials take time ....

Robert J Lowe

Robert J Lowe 28 Sep 2009 #

Whoa, great background image, but what an even better post. I'll be using these for sure. Thanks.

sonichtml

sonichtml 29 Sep 2009 #

Nice Post! thank you

estudio web

estudio web 29 Sep 2009 #

Muy buen blog de diseño! great blog! thanks from Argentina.

Kristy Sullivan

Kristy Sullivan 29 Sep 2009 #

Very nice article. I write help docs and online tutorials for our web applications all the time. It's nice to know that I was actually writing them according to your suggestions.

I did notice that users focused on bullet or numbered lists more than paragraphs, especially for tutorials. It is also nice to include helpful tips or advice about the product you are writing about too. The user loves it when you share a cool tip about something they are learning ;)

Gilbert

Gilbert 02 Oct 2009 #

Very good, moreover best way to write the tutorial and very effective way to explain that matter to the second person.  

Martin

Martin 03 Oct 2009 #

Thanks for the great tips (both in the article and the comment section).

I personally find adding comments in the code snippets really helpful and a lot easier to follow than in a separate paragraph.

Janko

Janko 03 Oct 2009 #

Thanks, guys.

Oren: Reading a lot of tuts is a must, and writing as well Smile

Martin: I might consider comments in code as well for the tutorial. However, I used not to comment my code in practice, because I stick to the rule that it must be easy to understand without comments. A tut is a different thing, though.

RWH

RWH 04 Oct 2009 #

Awesome tips Janko. You made some excellent points and they were all so easy and clear to understand; and yes they were all up to the point. Marvelous Job! Thanks so much!

Spedge

Spedge 06 Oct 2009 #

Janko : When I put together my tutorial site, I think I got most of the points you raised.

User comments are important - but if you know you won't be accessing the site often, then perhaps it isn't a great idea ... I get users to e-mail me directly, then make changes to the code or tutorial to explain a little better. I find this way is more hands-on, but it saves me from missing out on a user because I haven't visited the site in a while (and reduces the spam on the site) from irritating commenters.

Also, I'd say that the snippets of code need to be complete - I get so irritated by sections of code that don't work unless you have lots of other code that isn't obvious (perhaps a library that isn't shown on the page at all, but only obvious after downloading the full demo).

Other than that, I fully concur with your statements!

Janko

Janko 06 Oct 2009 #

Spedge: Thanks for your thoughts! Let me explain briefly why I don't agree with you on comments and snippets.

It is easier for readers to leave a comment and follow the discussion & replies than to wait the response by email. Also, by closing the comments you miss the opportunity to have everyone involved in the discussion. Replying via email prevent others to see an answer. Developing a community willing to discuss and share knowledge is one of the most important aspects of blogging. Also, you can choose to receive email-notifications on new comments which will keep you up t date with activities on your blog.

With regards to code snippets, many readers don't read the entire snippets but rather only do a quick scan. Usually users spend no more than a minute or so reading blog posts and it is highly unlikely that majority will go deep with source code. This is why showing and explaining only the key snippets will have more value to readers. Sometimes you won't be able to omit anything because features will be complex, but in many cases you will be able to focus only on key features.

Spedge

Spedge 08 Oct 2009 #

Thanks for the response Janko.

As a afterthought, what would be the one topic you've not seen a good tutorial site on so far - or perhaps a topic that could be improved apon?

I think Google Maps is one that could do with a professional looking site leading the way on it.

-- Spedge

Rick

Rick 05 Nov 2009 #

Spelling errors are distracting (there's that pesky credibility issue too;^).

"However, you shouldn't ommit anything important. "

Please fix & delete comment.

In all friendliness.

Best wishes and warmest regards,
Rick;^)

Janko

Janko 05 Nov 2009 #

Rick: Thanks for letting me know! Mistakes always happen Smile

Comments are closed
via Ad Packs
9292