Scott on Writing

Musings on technical writing...

Coming up with ideas

Technical writing is so much easier when you are told what to write about, as opposed to having to come up with an idea yourself.  However, oftentimes this responsibility falls square on the shoulders of the author (as it should, usually).  Such is always the case for editors of technical Web sites who place themselves in the precarious position that I have: namely, I have a weekly newsletter that has paid subscribers, and the newsletter contains fresh content.  Translated this means that I need to come up with a new idea for an article and create an article based on that idea at least once a week.  And by a week I really mean within two to three days, since I usually don't sit down to start the newsletter, which goes out on Wednesday morning, until Sunday or Monday.  (Of course creating a newsletter once a week isn't nearly as hard as what I did my first six months running 4Guys - then I had a newsletter called WebDaily, which, as the name implies was sent out every freakin' day.)

One option is to merely offload the work to someone else.  As any sane Web editor will tell you, it's a smart move to solicit other authors to write for your site.  Of course, depending on the author, the job of editing the author's work can be exponentially more time-consuming than creating an article from scratch!  In any event, over the years I've served as the 4Guys editor, I have received a number of potential author candidates who were excited about giving back to the community by writing for 4Guys, but were plumb out of ideas and wondered if I had any.  As you can see, coming up with ideas can be tricky!

In my experience, I've found a number of tactics helpful for coming up with ideas.  The fist tactic, which is the simplest and best, is to use real-world ideas.  That is, you're working on a project, you hit a snag, bang your head against the wall for hours on end, and then finally come up with a neat work-around or solution.  These types of things are great material for technical articles.  However, events like this do not happen on a regular basis for me, especially since writing, consulting, and teaching are my full time job - that is, I'm not at a company developing all day.

Failing any real-world experiences, the next place to turn is online messageboards, email listservs, and newsgroups.  I'll spend maybe half an hour digging through recent posts, trying to find some good questions that make me think, "Yes, answering this problem would make a great article."  Those are nice too, because you can forward the article to the person who asked the original question, so it's like you're directly helping someone out.  Positive karma and all.  And, if you already spend significant time browsing through these resources, then oftentimes you know what the common questions and problems developers are asking and facing, and can bypass the actual searching through the resources.

If no online questions do the trick for me, I'll turn to existing articles on other resource Web sites.  No, I'm not looking for ideas to copy, rather I'm looking for neat solutions that have potential to be enhanced, or explained in a different way.  For example, I might find an article that's short on explanation and long in code on how to perform a cool task.  This makes a great basis for an article.  I can start off the article like, "I recently read so and so's article at such and such URL, where she described how to do this and that."  And then I can delve into a more rigorous English explanation, show a different way to solve the problem, and do so using a different language (if the article was in C#, I'll show it in VB.NET, or vice-a-versa).

Finally, if all of these techniques fail, as a last resort I'll recycle material from a past book of mine or from the course material of a past class I taught.  Mind you I don't just copy text from an old book, but I'll take an idea I discussed in a chapter in a previous book, and write a new article on that material.  This is usually the quickest writing job on my side, but it sort of feels like cheating.  Plus, it's more fun to come up with a new idea or concept or slant on an existing article/question, than to merely rehash old material.

All of these past approaches essentially take something that I've or someone else have worked on before, be it a real-world application, someone else's question in a newsgroup, or someone else's article, and adds explanation to provide a useful article.  However, the ideal situation is to come up with fresh, new content. For example, when writing magazine articles or books, oftentimes I need to come up with "new" ideas, or new ways to explain the standard material.  For example, I recently finished an article for Microsoft's online MSDN Web site.  I was asked to write about ASP.NET and XML.  Now, even though I had a braod topic, I still had to spend some time thinking on how to formulate the article - what examples would I use?  What direction would I take the reader?  How would each section segue into the next?  I find that thinking about this stuff while driving, showering, lying in bed before falling asleep, or during any other low-key "downtime" is ideal. 

Coming up with new ideas is not only difficult, I've found, but also time consuming, because they can involve significant development time.  For example, for the MSDN article I decided to step the reader through creating an news aggregator Web application, seeing as how this touched upon many pertinent XML and ASP.NET topics, like accessing remote XML documents, displaying XML data on an ASP.NET Web page, and translating XML data with XSLT stylesheets.  Once I decided to go with this approach, and mulled over the organization of the article, I still had one big task in front of me: writing the application itself!  Granted, an online news aggregator isn't rocket science, but it took up a full day to create the application.

Coming up with new ideas is definitely the hardest approach, and rarely makes its way into the weekly articles I write for the Web site (seeing as I usually only have two to three days to create the Web site content due to the looming Wednesday deadline!).  I try to save the new ideas for books and magazine articles, unless the new idea can be quickly converted into an article, but usually it takes some time to mull the idea over in my head for a while before I begin writing.  Furthermore, working with new ideas usually requires more editing time during and after the writing process, and when you have two to three days to wrap everything up, oftentimes this is not sufficient for more involved new ideas, some of which may require significant development time before I can start writing.

To summarize, there are a number of venues I examine when trying to come up with ideas, from using inspiration from real-world problems I've encountered, to directly trying to help a person who has posed a question to the online community, to enhancing an existing article or tutorial, and, finally, to rehashing old content.  Ideally, each week I'd have the time, energy, and interest to come up with new ideas and concepts to write about, but typically there isn't enough time in the day for this sort of thing.

posted on Tuesday, July 08, 2003 8:16 PM

Feedback

# re: Coming up with ideas 7/9/2003 5:45 AM Darren Neimke

I normally write articles about whatever I'm interested in at the time... and that changes pretty regularly.

I don't normally jump into new technologies; in fact, apart from my adoption of .NET in mid-2000 I'd say that I'm probably a slow adopter.

When I've decided on my topic I'll normally spend the next 4 or 5 days on the bus building a mind-map of the subject. The mind-map will cover everything:

- Implementation details
- Tips'n'Hints
- History of
- Future of
- Blah

Then I'll sort of re-arrange the topics and give them some sort of priority ranking. Once they're ranked I'll group them into categories, then the categories sort of evolve their way into the article sub-headers.

Once I've got the sub-headers then I just need to describe each of the topic items under them and join them into sentences.

One thing that I've struggled with - but you helped me with in my early ASP.NET Authentication articles I published on 4Guys - is building an interesting story that flows throughout the article. I think that's an area that I'd be interested in working on.

Cheers,
- Darren

# re: Coming up with ideas 7/9/2003 7:17 AM Kent Sharkey

OK, I'll have ideas *for* you next time ;)

# re: Coming up with ideas 7/9/2003 9:20 AM Scott Mitchell

Hehe, don't worry about it, Kent, part of the payment for writing the article is for coming up with the idea, no? :-)

# re: Coming up with ideas 7/16/2003 11:36 AM Bill Graziano

Hey Scott, nice to see you're still keeping busy :) I can sure agree with your comments about the difficulty in coming up with topics. Some interesting ideas you have. I'll have to try a few of them.

# re: Coming up with ideas 7/16/2003 12:28 PM Scott Mitchell

Bill, how are things going over at SQLTeam.com? Things seem to be kind of slow, eh? Only three new articles in the past six months. I guess consulting is keeping you busy?

Take care.

# Kent Sharkey's blog 7/8/2003 8:16 PM Pingback/TrackBack

Kent Sharkey's blog

# Scott on Writing 7/8/2003 8:16 PM Pingback/TrackBack

Scott on Writing

# Scott on Writing 7/8/2003 8:16 PM Pingback/TrackBack

Scott on Writing

Title:  
Name:  
Url:
Protected by Clearscreen.SharpHIPEnter the code you see:
Comments   

Add To Your Reader

My Links

Archives

Post Categories

 

I am a Microsoft MVP for ASP.NET.
I am an ASPInsider.
<May 2008>
SMTWTFS
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

Comment Stats

DayTotal% of Total
Sunday 1866.8%
Monday 37913.9%
Tuesday 45316.7%
Wednesday 50418.5%
Thursday 53519.7%
Friday 49418.2%
Saturday 1666.1%
Total 2717100.0%

Hour1Total% of Total
12:00 AM 652.4%
1:00 AM 682.5%
2:00 AM 622.3%
3:00 AM 742.7%
4:00 AM 572.1%
5:00 AM 1033.8%
6:00 AM 1084.0%
7:00 AM 1585.8%
8:00 AM 1716.3%
9:00 AM 1475.4%
10:00 AM 1716.3%
11:00 AM 1816.7%
12:00 PM 1886.9%
1:00 PM 1696.2%
2:00 PM 1605.9%
3:00 PM 1324.9%
4:00 PM 1073.9%
5:00 PM 923.4%
6:00 PM 913.3%
7:00 PM 963.5%
8:00 PM 833.1%
9:00 PM 782.9%
10:00 PM 792.9%
11:00 PM 772.8%
Total 2717100.0%

Comments by Blog Entry Date/Time

Day Entry MadeAvg.Total
Sunday 5.54144
Monday 5.22339
Tuesday 4.28419
Wednesday 7.67637
Thursday 6.90607
Friday 5.48411
Saturday 5.33160
Total 5.842717

Hour1 Entry MadeAvg.Total
12:00 AM 5.0035
1:00 AM 1.002
5:00 AM 0.000
7:00 AM 7.0035
8:00 AM 5.35107
9:00 AM 6.32278
10:00 AM 6.47246
11:00 AM 4.41181
12:00 PM 6.88330
1:00 PM 3.00111
2:00 PM 5.41222
3:00 PM 8.64285
4:00 PM 4.0589
5:00 PM 5.92154
6:00 PM 4.52113
7:00 PM 9.67174
8:00 PM 9.80147
9:00 PM 5.05111
10:00 PM 5.4265
11:00 PM 4.5732
Total 5.842717

Learn More About Comment Stats
1 - All times GMT -8...


Blog Stats

Favorite Web Sites

My Books

My MSDN Articles