Suggestions for Creating Step-by-Step Web Development Tutorials for NETTUTS

Jul 1st in General by Raj Dash

This article discusses one approach to writing step-by-step tutorials. While the focus here is for NETTUTS, much of the approach can be applied for any site. If you plan to write tutorials for NETTUTS, you should read/browse this article. There's also a parallel article at PSDTUTS that Editor Sean Hodge wrote, which actually inspired this one.

PG

Author: Raj Dash

Raj Dash is a multi-blogger, math/computer geek, cook, composer, philosopher, former search engine webmaster, former publisher/editor, and published writer and author. You can find his hubsite at Chameleon Integration, which will lead you directly or indirectly to some of his active blogs and zomblogs.

Skill Set

NETTUTS is all about tutorials for web development. That means web browser-based coding, which requires at least an understanding of HTML, some CSS, and some web coding language. Everything else depends on what your tutorial will cover. This could be CMS/ blog platform coding, PHP, JavaScript libraries, CSS frameworks, databases, etc.

You'll probably have noticed that the most popular tutorials here focus on web dev having a design-y element. So knowing how to use graphics software such as Photoshop or Fireworks might help. At least, know how to get a screenshot, since this is the minimum you want to include in your tutorial for visual elements.

Plan and Have a Checklist

You do not have to get really formal, but you should plan out your tutorial and apply a checklist. Here's a suggested checklist, though feel free to modify it to your liking:

  1. Plan your tutorial.
  2. Write up your checklist.
  3. Research any code libraries, plugins, techniques.
  4. Decide on your demo code's feature set.
  5. Write your code, test, and refine it until you're satisfied.
  6. Write the tutorial text.
  7. Incorporate your demo code in snippets, in the tutorial (as per our Tutorial Guidelines).
  8. List any shortcomings of the code that you're aware of. (I.e., doesn't work in Internet Exploder 6.0+, etc.)
  9. Provide suitable visual elements (image, screenshot, animation, etc.) not wider than 600 pixels.
  10. Edit the tutorial text and number each section with "Step 1", "Step 2", etc.
  11. If you have used images that are not yours, you must not only give attribution, you must have either implicit (e.g., CC license on Flickr) or explicit permission to use them. This includes images visible in your tutorial and in your demo.
  12. Prepare source code for download and ZIP it up. In the same ZIP file, include working demo files.

Make It Easy On Yourself

There are a couple of ways you can go about getting published on NETTUTS. One way is to send your working demo files, source code, tutorial text and images (all ZIPped together) via the form link on the Tutorial Guidelines page. This way, you'll get an answer a lot sooner, but it's a lot of work for you to have done if it's not suitable for NETTUTS. (This is still recommended if you have never submitted a tutorial.)

Make it easier on yourself. Instead of writing up demo code and a tutorial first, pitch an idea first. This is actually recommended if you've previously sent a full tutorial, even if it was not published:

  1. Come up with an idea and submit that to me via the form link on the Tutorial Guidelines page. (Use a blank ZIP file, since the form requires it.) Or if you have previously submitted an idea/ tutorial to me, you have my NETTUTS email address and you are welcome to pitch me directly.
  2. If you have not previously written a tutorial for the site, there are a couple of stages:

    1. Interest in your idea is not a promise of publication. After pitching an idea and getting interest, you will need to show demo code (even if only on your own server).
    2. If you do the demo code and it's suitable to NETTUTS, I'll ask you - but not request - if you want to write the tutorial, but with no guarantee of publication.
    3. Note that this sounds unfair but is really no different than if you submit the full tutorial upfront. This way, you have some stages where you can change your mind, reducing your overall effort. If you'd rather send your tutorial and files upfront, that's fine too.
  3. On the other hand, if you have already written a good tutorial that required little editing, I'm much more lenient. You can pitch the idea, get my go ahead, and write the tutorial.

In either case, if a demo shows potential but the tutorial needs work, I'll try to work with you on a limited basis to improve the text. However, I can't write it for you. A bunch of code snippets and some text that only functionally describes what is happening is not a tutorial.

Make It Easy On the Editor

As the readership of NETTUTS grows, I'll have less time to assess whether a tutorial is suited to NETTUTS. Make it easy on me, make me want to use your tutorial and demo:

  1. Use your real name and email in the submission. (You must also have a PayPal account so we can pay you.)
  2. Describe clearly what your tutorial will show, and what your demo code will demonstrate.
  3. Submit demo code that works and doesn't require me to do a lot of setup (beyond uploading some files to a server).
  4. Don't send me demo code that requires me to add my own images or something else, especially if you don't bother to tell me upfront. My desire to help you clashes with the lack of time.
  5. Overall, minimize the amount of time I have to spend setting up your demo code just to assess it. The more effort it takes, the more likely it'll be turned down. (You can always start with a demo on one of your sites, though eventually you'll need to supply files to me.)
Put yourself in my place and think about what makes me want to accept your tutorial. Do not pitch me a series if you have not already had a tutorial accepted and published. The same goes for cross-site series (i.e, Part 1 for PSDTUTS, Part 2 for NETTUTS).

Describe Each Step Thoroughly

Ultimately, the tutorial is for readers of the site, not for me. If the title of the tutorial attracts them, and if they read through the tutorial after viewing the demo or even the initial visual (image, diagram, etc.), then they want to learn. While you do not need to hand-hold and describe every line of code as if a reader has never coded before, you do need to describe the lines of code related specifically to any libraries, plugins or special techniques you're using.

The biggest problem with submissions so far: using a code library or plugin, showing a code snippet but not actually describing the relevant lines of code. Saying, "here's the code to do X," isn't enough. Why would a reader bother with your tutorial if you aren't revealing the how-to?

Tone and Writing Style

Before you submit actual tutorial text, read over some of Collis' tutorials here, as a starting point. While it's good to have your own style, you also have to remember that most site readers have some (or a lot) of web coding experience. Talk to them, not at them. (I'm a verbose type, which comes from having been a college teaching assistant/ lab instructor for non-computer students people taking a mandatory computer course.)

Guidelines and Formatting

There's already a Tutorial Guidelines page, which has a link to a blank tutorial ZIP. Consult this page and use this ZIP template.

Decide on Your Topic

Do you really know what you want kind of tutorial you want to do? Not singling anyone out here, but a few submissions gave me the impression that the person simply wanted the feather in their cap of having been published on a site like NETTUTS. Their tutorial and demo code description was vague, and despite my nudging about what to try, they didn't bite.

Brainstorming

One of the best ways to plan and build a tutorial is to sketch out your ideas and outline the features as well as what you are demonstrating. Since NETTUTS tutorials are code-driven, you have the extra requirement of having functional code to present. Here is my preferred process for creating a tutorial - but don't forget the checklist mentioned earlier:

  1. Brainstorm a few application ideas.
  2. Research the necessary libraries, plugins, features, limitations, etc.
  3. Outline desired features, sketch out or mockup browser screens. (Remember, you can use snapshots of the finished mockups in your tutorial.)
  4. Write the code, test and refine it. (Test in Browsershots, decribed in the next section.)
  5. Write the tutorial around your code, and incorporate snippets in easily digestible chunks, formatted as per the Tutorial Guidelines.
  6. Edit the tutorial if necessary. Put yourself in the mind of a reader. If they are consulting your tutorial because the title caught their attention, then they probably don't understand your code without a proper explanation. Don't just show the code block and assume the reader should understand. Otherwise, you are writing code, not a tutorial.
  7. Add visual elements (screenshots, etc.). See the Visuals section below.

Demo Code and Cross-Browser Issues

While it'd be nice that your demo works in all browsers, that's not always possible. Some code libraries - e.g., jQuery - just do not support older browsers. At the least, your code should work for the browsers that libraries you are using support.

By the way, despite the protestations by way of comments of some NETTUTS readers, Firefox 3 is not in widespread use at the time of this writing. It's also buggy and still a memory hog, according to some Twitter and Plurk users. We'll have to consider browser compatibility on a case by case basis, but try to cover the most recent stable browsers. State if your code does not work somewhere it should, and why that is.

One tool that will help you with cross-browser testing is the site Browsershots, which is an easy way to test your code in multiple (virtual) browsers for Linux, Windows, Mac OS, and BSD.

Visuals

Unlike with our sister site PSDTUTS, when it comes to web dev tutorials, it's not always easy coming up with sexy images. Still, visuals make a tutorial more interesting, as well as help demonstrate concepts. So visuals in your tutorial are a must, and you might have to get creative. Here are some options:

  1. Relevant image.
  2. Screen snapshots of your application in various states of use.
  3. Screencast of your application in use, or something relevant to your tutorial.
  4. A diagram or mind map representing some information about your application, its use or its design and creation.
  5. Relevant video content, maybe even a screencast of your demo code in use.

Incorporate visuals as often and early as possible in your tutorial. Many of the tutorials I've turned down so far had no images whatsoever. It's not that hard to take a screen snapshot of your application in use, or a mockup screen being produced in Photoshop, or whatever is relevant. You do not need dozens of visuals, but even a few judiciously selected screen captures might be enough.

Note: If you use visuals from other sources - either in your tutorial text or your demo - you must have explicit or implicit permission and must cite the source(s). For example, you can use images from a source such as Flickr, under suitable CC commercial license.

Cite Your Sources

In addition to crediting images, make sure you credit any code libraries, sources, etc. This does not mean you can present someone else's code as your own, but rather if you have a large tutorial and use a technique originally presented by someone else, credit them.

Articles

In addition to tutorials, we publish one one article per week related to web development. The article contributions are once every other week. Resource articles are good candidates, such as my CSS Grid Frameworks article - though yours doesn't have to be as massively long.

My preference is to accept pitches for articles from people who are experienced writers/ bloggers, though you do not need to have written a tutorial since the style is different.

Response

I try to respond to everyone as quickly as possible, though in some weeks the volume of submissions is high enough that it's easy for me to lose track. Rest assured, I will respond, though you can nudge me if you haven't heard back in a couple of weeks after submitting an idea or tutorial.

Conclusion

I'm looking forward to continued idea pitches and submissions from NETTUTS readers. If you don't know where to start, Collis' tutorials here at NETTUTS and at PSDTUTS are a great model to follow, both in terms of screen snaps, coding and writing style.


Related Posts

Check out some more great tutorials and articles that you might like

Enjoy this Post?

Your vote will help us grow this site and provide even more awesomeness

Plus Members

Source Files, Bonus Tutorials and
More for $9 a month for all TUTS+
sites in one subscription.

Join Now

User Comments

( ADD YOURS )
  1. PG

    C July 1st

    So can we propose an idea of a tutorial, that we will write, to you, and see if you like it before we actually put all the effort into righting it?

    ( Reply )
  2. PG

    Chris July 1st

    @C: You might want to use spell check before you go about “righting” it, as well ;)

    ( Reply )
  3. PG

    Bruce Alrighty July 1st

    Thanks for the tips. I will have to see what I can come up with.

    ( Reply )
  4. PG

    Bruce Alrighty July 1st

    Typo “There’s also a parallel article at NETTUTS that Editor Sean Hodge wrote, which actually inspired this one.”
    It should say PSDTUTS.

    ( Reply )
  5. PG

    Another Blog July 1st

    I will be looking to write a tutorial in the near future and this will help me greatly.

    Thanks

    Andrew

    ( Reply )
  6. I just hope this tutorial will help and inspire more and more to post tuts on this site :-)

    ( Reply )
  7. PG

    Taylor Satula July 1st

    Make a tut to wordpress template a file, That would be great

    ( Reply )
  8. PG

    Taylor Satula July 1st

    P.S
    What happened to the list of users at the bottom???

    ( Reply )
  9. PG

    Taylor Satula July 1st

    This is a good idea even if we dont do a tut, just a good checklist

    ( Reply )
  10. PG

    Shane July 1st

    Taylor: I’m not aware of the precise algorithm for ranking highly on the ‘Most talkative Users’ list, but it’s reset at the start of every month.

    Keep posting numerous comments that add little to the discussion and you’ll be at the top of the list in no time.

    ( Reply )
  11. One more thing; learn HTML and CSS thoroughly. I just harms the learners to practice bad code in the tutorials.

    ( Reply )
  12. PG

    Ben Griffiths July 2nd

    This is good advice for writing tutorials anywhere, not just here – many thanks :D

    ( Reply )
  13. PG

    Tony July 2nd

    Great tips. thanks

    ( Reply )
  14. PG

    Erik Reagan July 2nd

    Thank you, Raj, for the time put into this overview. As one who is considering writing a tutorial I find it quite useful.

    Note that this sounds unfair but is really no different than if you submit the full tutorial upfront.

    I think it’s the best overall approach and ultimately most respectful. Thank you for your consideration of not only the users, but the quality of tutorials!

    @Taylor – Do you do any code/design work or just try to stay on ‘talkative’ lists on sites and keep your message board post count high?

    ( Reply )
  15. PG

    Cal July 2nd

    Here’s some ideas for creative tutorials on nettuts:

    * Interesting ways to present RSS
    * PHP and XML community driven scripts that integrate social networking into every day websites (i.e flickr, twitter, myspace etc)
    * Flash AS XML presentations

    ( Reply )
  16. PG

    Eric July 2nd

    Hey thanks, I would like to give this a try (when I can find the time) :D

    ( Reply )
  17. PG

    Matt Radel July 2nd

    I love the tutorials here, and I’ve already learned a ton. But mayhaps you guys could churn out some more bite-sized tutorials to complement the larger ones? It’d be great to see some quick HTML, CSS & JS tips.

    ( Reply )
  18. PG

    Ali July 2nd

    A tutorial on how to customize CMS’s like Drupal / Joomla would be good.

    ( Reply )
  19. PG

    Gonzalo July 2nd

    lol @ internet exploDer :D

    ( Reply )
  20. PG

    Aravind July 2nd

    IMO, considering the huge user base of WordPress, publishing tuts on Wordpress Themes, PHP Code Tweaks, Plugin development basics will be a sure hit.

    But, yes, someone have to contribute that, and I’m sure, someone will do that soon.
    We are enjoying the ride; Go Ahead !!
    :)

    ( Reply )
  21. PG

    Raj Dash July 2nd

    C: Yes, you can pitch idea first, though ultimately a first-timer must submit a demo and tutorial text before I can say “yes.”

    BruceAlrighty: Typo fixed. Thx.

    Taylor: You’re at the top of the commenters list, given your triple-commenting :) So not sure what you’re asking.

    Tor: Yes, good point.

    Erik: I appreciate your appreciation of my appreciation. Um yeah.

    Matt: Excellent idea re the short tuts. I’ll have to check with Collis. Problem still is, while I have ton of pure-coding tuts in my head, as Editor, I’d like the focus to be on other contributers. This is not RAJTUTS, so I’m dependent on you guys to pitch great ideas. What might be nice is a user-contributed tutorial focused around one topic but with several short tutorials in one article.

    Gonzalo: Heh. I can’t take credit for that. A Plurk.com friend used that. Or was it Twitter?

    Everyone: I’m compiling all the tutorial submissions. So your suggestions are much appreciated. Thx.

    ( Reply )
  22. PG

    Danny July 2nd

    I like those ideas suggested above!

    ( Reply )
  23. PG

    Raj Dash July 2nd

    Just to clarify, in case something in the above article leads you to think otherwise: You can submit SUGGESTIONS for tutorials on the Make a suggestion page. But if you are offering to write something, submit your idea pitches via the form linked to on the Write a Tutorial page, or via email if you’ve already conversed with me.

    ( Reply )
  24. PG

    Nindia July 2nd

    I would LOVE to see a tutorial on how to go from a design in Photoshop to a template in Wordpress.

    ( Reply )
  25. PG

    Tom July 2nd

    I thought this was a post to suggest tutorials…. A step by step Joomla template tutorial is worth its weight in code, or gold, whichever

    ( Reply )
  26. PG

    Lamin Barrow July 3rd

    Thanx for the post.I will use it once i finally make up my mind about writing a tut.

    ( Reply )
  27. PG

    Tommy M July 4th

    Great post. This should be guidelines for all tutorial submissions on all sites:-)

    ( Reply )
  28. PG

    giackop July 4th

    why not a tutorial about a cool newsletter?

    ( Reply )
  29. PG

    Cal July 6th

    A perfect tutorial choice from an eden point of view would be to do a tutorial that will work and benefit FlashDen.

    A HUGE chunk of flashden developers are unable to embed their own flash files into blogs and remote web pages. I’d say 90-95% of them are unable to do this – yet embedding flash into blogs and remote sites are what a large percent of their ‘buyers’ seek.

    A great tutorial for nettuts would be to do a feature on how people can do this. Not only would it help the developers at FlashDen, but it would increase the sales at FlashDen if developers could incorporate such codes into their download files – along with people at nettuts who can benefit from something a lot of people struggle with.

    ( Reply )
  30. PG

    Cal July 6th

    Just to add to the above…I totally forgot to mention the flash files FD developers and people in general struggle to embed into blogs are their flash XML players and viewers.

    So a good tutorial on how to embed xml driven flash media players and image viewers would be a step in the right direction

    ( Reply )
  31. PG

    Andy Howard July 8th

    More Wordpress tutorials! Specifically, creating custom Wordpress templates. If this was done with example files (PSD, CSS, PHP, etc) it’d be an incredibly valuable resource.

    ( Reply )
  32. PG

    mat July 9th

    Make a tut on wordpress, im lost with it and need to design a site over the next months, That would be great

    ( Reply )
  33. PG

    Rene Monroy July 10th

    Great! There are some good tips!

    In my opinion this site is oriented to web developers, so in that way I think you should use Mootools or EXT as main JavaScript Framework because OOP.

    On the other hand, there are many great open sources projects to talk about and stay in the work like:

    MagentoDrupalJoomlaPHPbb

    You can talk about frameworks like Zend, CodeIgniter, maybe Ruby on Rails. Adobe Flex and Air will be great idea too.

    ( Reply )
  34. PG

    Jacob Gube July 13th

    Raj,

    Great job putting this very thorough tutorial together. Not only will it ensure quality submissions are published on NETTUTS for its readers, but it can also speed up the task for tutorial writers.

    ( Reply )
  35. PG

    Vishal A July 15th

    Raj,

    What software is that diagram produced in?

    ( Reply )
  36. PG

    markus July 15th

    Thanks Raj, this is probably what I need.

    ( Reply )
  37. PG

    Windows Themes September 5th

    Nice tips which can be applied anywhere else. Thanks again Raj

    ( Reply )
  38. PG

    Oscar Cardoso January 9th

    Thanks for the guide, it’ll be useful for future screencasts and tutorials for my friends.

    ( Reply )
  39. PG

    Joe October 11th

    Kool!

    ( Reply )
  1. Arrow
    Gravatar

    Your Name
    October 11th