<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-13020975</id><updated>2011-12-13T19:56:34.641-08:00</updated><category term='API/SDK'/><category term='API Writing Resources'/><category term='API Guide'/><category term='API Writing'/><category term='doxygen'/><category term='API Documentation'/><category term='API Documentaion Resources'/><category term='txt2man'/><category term='Javadoc'/><category term='Programming Writer'/><category term='API Writer'/><title type='text'>API-Writing / API-Documentation</title><subtitle type='html'>API Writing / API Documentation: Links , Resources, Articles, and Presentations: Compiled by Rajeev Jain (Author / API Writer / Programming Writer / Trainer)</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://api-writing.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13020975/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://api-writing.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Rajeev Jain</name><uri>http://www.blogger.com/profile/11588138737660524240</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-13020975.post-6935199878536534019</id><published>2008-04-22T23:27:00.000-07:00</published><updated>2008-05-02T04:12:12.231-07:00</updated><title type='text'>API Template</title><content type='html'>&lt;p&gt;&lt;strong&gt;An API Template must include the following: &lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;em&gt;Syntax&lt;/em&gt;: Syntax (prototype) of API &lt;/li&gt;&lt;li&gt;&lt;em&gt;Description&lt;/em&gt;: Detailed description of the API &lt;/li&gt;&lt;li&gt;&lt;em&gt;Parameters &lt;/em&gt;(input, output): Details of all the input and output parameters along with description of values that can be passed. &lt;/li&gt;&lt;li&gt;&lt;em&gt;Return Value(s)&lt;/em&gt;: Details of the values returned by API after execution. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;API template may also include all / any of the following: &lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;em&gt;Synopsis&lt;/em&gt;: One line description of the API &lt;/li&gt;&lt;li&gt;&lt;em&gt;Calling Sequence&lt;/em&gt;: The order in which an API must be called &lt;/li&gt;&lt;li&gt;&lt;em&gt;Usage Scenario&lt;/em&gt;: Expected scenarios where the API can be used &lt;/li&gt;&lt;li&gt;&lt;em&gt;Examples&lt;/em&gt;: Most of the programmers makes best use of this place and are expert in copying the examples provided illustrating the use of APIs. &lt;/li&gt;&lt;li&gt;&lt;em&gt;Related APIs&lt;/em&gt;: Information on the APIs that could be related to the API being documented&lt;br /&gt;Class / Object/ Method name: Name of class / object / method associated with API &lt;/li&gt;&lt;li&gt;&lt;em&gt;Data types&lt;/em&gt;: Any special data type declared only for specific API &lt;/li&gt;&lt;li&gt;&lt;em&gt;Header File&lt;/em&gt;: Any header file associated with API &lt;/li&gt;&lt;li&gt;&lt;em&gt;Parent class&lt;/em&gt;: Details of any parent class associated with API &lt;/li&gt;&lt;li&gt;&lt;em&gt;Exceptions / Error Messages&lt;/em&gt;: Any exceptions or errors that a user may encounter while using the API &lt;/li&gt;&lt;li&gt;&lt;em&gt;Notes/Warnings&lt;/em&gt;: Special notes or warnings while using the API &lt;/li&gt;&lt;li&gt;Associations or dependencies (if any) &lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Sample API Template- &lt;/strong&gt;Here is the sample API Template for C/C++ language:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;API name [Write API name here] &lt;/li&gt;&lt;li&gt;Synopsis [Provide brief description of the API] &lt;/li&gt;&lt;li&gt;Include(s) [Provide name of header files to be included.] &lt;/li&gt;&lt;li&gt;Library / Libraries [Provide name of associated libraries] &lt;/li&gt;&lt;li&gt;Syntax / Prototype [Detailed Syntax of API, here example of C++]&lt;br /&gt;int function(&lt;br /&gt;int param1,&lt;br /&gt;char* parma2,&lt;br /&gt;int* param3) &lt;/li&gt;&lt;li&gt;Description [Provide detailed description of the API along with exceptions (if any)] &lt;/li&gt;&lt;li&gt;Argument(s) [Provide the details of parameters/ arguments]&lt;br /&gt;param1 - param1 description, by default an input parameter&lt;br /&gt;param2 [out] – param2 description, output parameter&lt;br /&gt;param3 [in/out] - param3 description, both input and output parameter &lt;/li&gt;&lt;li&gt;Return Values&lt;br /&gt;ret1 Description of return value&lt;br /&gt;err1 Description of error (Error is also a return value) &lt;/li&gt;&lt;li&gt;Calling Sequence - Provide the flow chart or sequence in which the API should be called, mention if there is any dependency. &lt;/li&gt;&lt;li&gt;Usage Scenario - Provide the usage scenario (details on how to use and when to use this API) of the API and possible error or success conditions and how to tackle those errors.&lt;/li&gt;&lt;li&gt;Example&lt;br /&gt;Example Statement&lt;br /&gt;Example code &lt;/li&gt;&lt;li&gt;See Also / Related APIs&lt;br /&gt;API1 (along with cross reference)&lt;br /&gt;API2 &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;h&lt;a href="http://coloredwritings.blogspot.com/2007/05/api-session-with-rajeev-jain.html"&gt;ttp://coloredwritings.blogspot.com/2007/05/api-session-with-rajeev-jain.html&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13020975-6935199878536534019?l=api-writing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://api-writing.blogspot.com/feeds/6935199878536534019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13020975&amp;postID=6935199878536534019' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13020975/posts/default/6935199878536534019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13020975/posts/default/6935199878536534019'/><link rel='alternate' type='text/html' href='http://api-writing.blogspot.com/2008/04/api-template.html' title='API Template'/><author><name>Rajeev Jain</name><uri>http://www.blogger.com/profile/11588138737660524240</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13020975.post-1850731988208312787</id><published>2008-03-12T22:15:00.000-07:00</published><updated>2010-03-11T20:28:20.053-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='txt2man'/><category scheme='http://www.blogger.com/atom/ns#' term='API Documentaion Resources'/><category scheme='http://www.blogger.com/atom/ns#' term='API Writing Resources'/><category scheme='http://www.blogger.com/atom/ns#' term='doxygen'/><category scheme='http://www.blogger.com/atom/ns#' term='Javadoc'/><title type='text'>Resources / Links for API Documentation</title><content type='html'>&lt;div align="left"&gt;&lt;b&gt;API Writer : Wikipedia&lt;/b&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;b&gt;&lt;a href="http://en.wikipedia.org/wiki/API_Writer"&gt;http://en.wikipedia.org/wiki/API_Writer&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;b&gt;API Documentation - Trends and Opportunities&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.stc-india.org/conferences/2004/PprPrest/Conf_Rajeev.htm"&gt;http://www.stc-india.org/conferences/2004/PprPrest/Conf_Rajeev.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Developing your First API Guide, by Rajeev Jain&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.stc-india.org/conferences/2006/agenda_web.htm"&gt;http://www.stc-india.org/conferences/2006/agenda_web.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;API documentation: Wikipedia Definition&lt;/b&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/API_documentation"&gt;http://en.wikipedia.org/wiki/API_documentation&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How To Write Technical Documentation For APIs&lt;/strong&gt; &lt;br /&gt;&lt;a href="http://www.ihearttechnicalwriting.com/content-management/how-to-write-technical-documentation-for-apis/4268/"&gt;http://www.ihearttechnicalwriting.com/content-management/how-to-write-technical-documentation-for-apis/4268/&lt;/a&gt; &lt;br /&gt;&lt;b&gt;FrameScript Tutorials&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.frameexpert.com/tutorials/index.htm"&gt;http://www.frameexpert.com/tutorials/index.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What Programmers Really Want-Manuel Gordon &lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.gordonandgordon.com/downloads/What-Programmers-Really-Want.doc"&gt;http://www.gordonandgordon.com/downloads/What-Programmers-Really-Want.doc&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What are APIs and SDKs by Susan W Gallagher &lt;/b&gt;&lt;br /&gt;&lt;a href="http://members.cox.net/susanwg/susanwg/api.html"&gt;http://members.cox.net/susanwg/susanwg/api.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Source Code Documentation using Doxygen, by Ruchi Kak &lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.stc-india.org/conferences/2004/SessionInfo.htm"&gt;http://www.stc-india.org/conferences/2004/SessionInfo.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;API Writing Tips (Surface level tips for good API writing)&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.dustindiaz.com/api-writing-tips/"&gt;http://www.dustindiaz.com/api-writing-tips/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;An Introduction to API Documentation, by Akash Dubey &lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.stc-india.org/activities/learningsessions/BloreSessions/october/API.PPT"&gt;http://www.stc-india.org/activities/learningsessions/BloreSessions/october/API.PPT&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Creating a Linux Manual (man) Page-Subhasish Ghosh &lt;/b&gt;&lt;br /&gt;&lt;a href="http://linux.omnipotent.net/article.php?article_id=12493"&gt;http://linux.omnipotent.net/article.php?article_id=12493&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Doxygen &lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc"&gt;http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;How to document VB6, VB.NET and ASP.NET projects &lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.vbdocman.com/"&gt;http://www.vbdocman.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;txt2man-Txt2man converts flat ASCII text to man page format. &lt;/b&gt;&lt;br /&gt;&lt;a href="http://mvertes.free.fr/"&gt;http://mvertes.free.fr/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Javadoc Tool: To generating API documentation in HTML format &lt;/b&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/j2se/javadoc/index.jsp"&gt;http://java.sun.com/j2se/javadoc/index.jsp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Writing for Programmers &lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.stc-northbay.org/newsletters/aug00.pdf"&gt;http://www.stc-northbay.org/newsletters/aug00.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Yesterday API was just another acronym; today I have to document one! by Susan&lt;/b&gt;&lt;br /&gt;&lt;a href="http://members.cox.net/susanwg/susanwg/api.html"&gt;http://members.cox.net/susanwg/susanwg/api.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;How to Write Doc Comments for the Javadoc Tool? &lt;/b&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/j2se/javadoc/writingdoccomments/"&gt;http://java.sun.com/j2se/javadoc/writingdoccomments/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Working with XML: Table of Contents &lt;/b&gt;&lt;br /&gt;&lt;a href="http://industry.ebi.ac.uk/~senger/xml/docs/tutorial/TOC.html"&gt;http://industry.ebi.ac.uk/~senger/xml/docs/tutorial/TOC.html&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13020975-1850731988208312787?l=api-writing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://api-writing.blogspot.com/feeds/1850731988208312787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13020975&amp;postID=1850731988208312787' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13020975/posts/default/1850731988208312787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13020975/posts/default/1850731988208312787'/><link rel='alternate' type='text/html' href='http://api-writing.blogspot.com/2008/03/api-documentation-trends-and.html' title='Resources / Links for API Documentation'/><author><name>Rajeev Jain</name><uri>http://www.blogger.com/profile/11588138737660524240</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13020975.post-2595145221205959069</id><published>2007-09-30T23:27:00.000-07:00</published><updated>2008-03-30T22:39:23.224-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming Writer'/><category scheme='http://www.blogger.com/atom/ns#' term='API Writer'/><category scheme='http://www.blogger.com/atom/ns#' term='API Guide'/><category scheme='http://www.blogger.com/atom/ns#' term='API Documentation'/><category scheme='http://www.blogger.com/atom/ns#' term='API/SDK'/><title type='text'>Links to my API/SDK related presentations</title><content type='html'>1. Mar 08 - Your First XML/DTD: STC India Session, Bangalore&lt;br /&gt;&lt;a href="http://techwriter.meetup.com/2/messages/boards/thread/4435282"&gt;http://techwriter.meetup.com/2/messages/boards/thread/4435282&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2. Feb 08 - MITWA Yahoo Chat Conference: API Documentation - Best Practices&lt;br /&gt;(Chat transcript is available under files section of yahoo group APIWriters as well as MITWA)&lt;br /&gt;&lt;br /&gt;3. Dec 07 - Documenting Your First API Guide: &lt;a href="http://rubricate.wordpress.com/2007/11/17/delhi-ncr-stc-regional-conference-december-8-2007-oracle-noida"&gt;http://rubricate.wordpress.com/2007/11/17/delhi-ncr-stc-regional-conference-december-8-2007-oracle-noida&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://rubricate.wordpress.com/2007/12/"&gt;http://rubricate.wordpress.com/2007/12/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;4. Sep 07 - Programming Concepts for Writers (with C++): &lt;a href="http://twin-india.org/portal/node/1833"&gt;http://twin-india.org/portal/node/1833&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://coloredwritings.blogspot.com/2007/09/makarand-pandit-and-rajeev-jains.html"&gt;http://coloredwritings.blogspot.com/2007/09/makarand-pandit-and-rajeev-jains.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;5. Apr – 07 - Documenting Your First API: &lt;a href="http://twin-india.org/portal/node/905"&gt;http://twin-india.org/portal/node/905&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://coloredwritings.blogspot.com/2007/05/api-session-with-rajeev-jain.html"&gt;http://coloredwritings.blogspot.com/2007/05/api-session-with-rajeev-jain.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;6. Feb 07 - Developing your first API Guide: &lt;a href="http://twin-india.org/portal/node/684"&gt;http://twin-india.org/portal/node/684&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;7. Dec 06 - Developing You First API Guide: &lt;a href="http://www.stc-india.org/conferences/2006/agenda_web.htm"&gt;http://www.stc-india.org/conferences/2006/agenda_web.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;8. Dec 04 - Trends in API documentation: &lt;a href="http://www.stc-india.org/conferences/2004/PprPrest/Conf_Rajeev.htm"&gt;http://www.stc-india.org/conferences/2004/PprPrest/Conf_Rajeev.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;All these PPT / PPS files can be downloaded from Files section of yahoo group APIWriters.&lt;br /&gt;&lt;br /&gt;Apart from these, I have also conducted workshops / seminars in various educational institutes on topics like:&lt;br /&gt;-Software Engineering&lt;br /&gt;-Visual Basic&lt;br /&gt;-FoxPro&lt;br /&gt;-C&lt;br /&gt;-C++&lt;br /&gt;-BASIC&lt;br /&gt;-Email Communication&lt;br /&gt;-Resume Writing &lt;br /&gt;-Programming Guidelines&lt;br /&gt;-MS Office&lt;br /&gt;-SQL&lt;br /&gt;-MS-Access&lt;br /&gt;&lt;br /&gt;&lt;a href="http://groups.yahoo.com/group/APIWriters/"&gt;http://groups.yahoo.com/group/APIWriters/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13020975-2595145221205959069?l=api-writing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://api-writing.blogspot.com/feeds/2595145221205959069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13020975&amp;postID=2595145221205959069' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13020975/posts/default/2595145221205959069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13020975/posts/default/2595145221205959069'/><link rel='alternate' type='text/html' href='http://api-writing.blogspot.com/2007/09/links-to-my-apisdk-related.html' title='Links to my API/SDK related presentations'/><author><name>Rajeev Jain</name><uri>http://www.blogger.com/profile/11588138737660524240</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13020975.post-5128056015039254325</id><published>2007-05-23T21:10:00.000-07:00</published><updated>2007-05-23T21:21:44.034-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='API Writing'/><category scheme='http://www.blogger.com/atom/ns#' term='API Writer'/><category scheme='http://www.blogger.com/atom/ns#' term='API Documentation'/><title type='text'>Documenting Your First API</title><content type='html'>Details about the presentation - "&lt;strong&gt;Documenting Your First API&lt;/strong&gt;"&lt;br /&gt;(With introduction to programming basics and API writing examples)"&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Topics&lt;/strong&gt;&lt;br /&gt;- Programming basics (sequence, selection, and iteration)&lt;br /&gt;- Basics of API writing,- Skills required to write API guides&lt;br /&gt;- Commonly used template, resources available&lt;br /&gt;- Do's and dont's while working with API guides along with examples of C++ APIs.&lt;br /&gt;&lt;br /&gt;Yahoo group APIWriters - &lt;a href="http://groups.yahoo.com/group/APIWriters"&gt;http://groups.yahoo.com/group/APIWriters&lt;/a&gt;&lt;br /&gt;Orkut community APIWriters - &lt;a href="http://www.orkut.com/Community.aspx?cmm=27221500"&gt;http://www.orkut.com/Community.aspx?cmm=27221500&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13020975-5128056015039254325?l=api-writing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://api-writing.blogspot.com/feeds/5128056015039254325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13020975&amp;postID=5128056015039254325' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13020975/posts/default/5128056015039254325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13020975/posts/default/5128056015039254325'/><link rel='alternate' type='text/html' href='http://api-writing.blogspot.com/2007/05/documenting-your-first-api.html' title='Documenting Your First API'/><author><name>Rajeev Jain</name><uri>http://www.blogger.com/profile/11588138737660524240</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13020975.post-111685003791839538</id><published>2005-05-23T05:07:00.000-07:00</published><updated>2008-03-12T22:31:02.669-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='API Writing'/><category scheme='http://www.blogger.com/atom/ns#' term='API Documentation'/><title type='text'>API-Writing / API - Documentation: Links , Resources, and Presentations</title><content type='html'>&lt;a href="http://api-writing.blogspot.com/"&gt;API-Writing&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13020975-111685003791839538?l=api-writing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://api-writing.blogspot.com/feeds/111685003791839538/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13020975&amp;postID=111685003791839538' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13020975/posts/default/111685003791839538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13020975/posts/default/111685003791839538'/><link rel='alternate' type='text/html' href='http://api-writing.blogspot.com/2005/05/api-writing.html' title='API-Writing / API - Documentation: Links , Resources, and Presentations'/><author><name>Rajeev Jain</name><uri>http://www.blogger.com/profile/11588138737660524240</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13020975.post-111649714118509894</id><published>2005-05-19T03:00:00.000-07:00</published><updated>2005-05-19T03:42:15.306-07:00</updated><title type='text'>Current trends and opportunities in API Documentation</title><content type='html'>&lt;div align="center"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:180%;"&gt;API Documentation: Trends and Opportunities&lt;/span&gt;&lt;br /&gt;&lt;em&gt;Rajeev Jain (M.Sc., M.B.A.)&lt;/em&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-family:arial;"&gt;Due to rapid growth in companies engaged in software product development, the volume of API documentation has increased considerably in recent years. API documents help customer to customize an application.&lt;br /&gt;&lt;br /&gt;Good API guides help companies save a lot of money in terms of support services and companies have realized that they need the services of professional technical writers for API guides. Individuals responsible for creating API guides must be highly skilled in their ability to transform volumes of technical jargon into easy-to-follow end-user workflows.&lt;br /&gt;&lt;br /&gt;The demand for API writers is increasing. To become an API documentation expert, you are not required to be a FrameMaker, RoboHelp, Doxygen, or JavaDoc expert. But you must have an analytical mind, basic programming skills, and a desire to explore and learn new technologies.&lt;br /&gt;&lt;br /&gt;This paper includes the basics of API guides and also covers the topics, such as:&lt;br /&gt;- current API documentation trends&lt;br /&gt;- skills required to write API guides&lt;br /&gt;- auto-generation tools available&lt;br /&gt;- opportunities available for technical writers&lt;br /&gt;- challenges&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;Among the first lessons for technical writers is “Whatever you see, document it”. Technical writers are expert in documenting the things they see. But can you imagine documenting something:&lt;br /&gt;- which you can’t see easily&lt;br /&gt;- without any GUI&lt;br /&gt;- without any screenshots&lt;br /&gt;- written very systematically with limited number of words&lt;br /&gt;- for which you need to brush up with programming skills&lt;br /&gt;&lt;br /&gt;If yes, then get ready for the high salaries, as you could be among those who will be contributing as an application programming interface (API) writer.&lt;br /&gt;&lt;br /&gt;API is an interface used by programmers to customize an application. It is an interface through which the user interacts with your software and in not user friendly.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Purpose&lt;/span&gt; &lt;/strong&gt;&lt;br /&gt;The purpose of this paper is to:&lt;br /&gt;- create awareness for API writing&lt;br /&gt;- look into the need for API guides&lt;br /&gt;- discuss the API documentation process and contents required&lt;br /&gt;- explore the current trend and practices followed to write API guides&lt;br /&gt;- explore the skills and knowledge of tools required to master the art of API writing&lt;br /&gt;- discuss auto-generation tools and their limitations&lt;br /&gt;- explore the opportunities available for technical writers &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;API documentation&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;An API is required to customize the working of an application. API guides are used by programmers and other professionals only. Sometimes, these guides are also used by students.&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Skills Required&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;The basic skills required to master the art of API writing are:&lt;br /&gt;- Ability to understand languages like C, C++, Java, VB.NET, etc.&lt;br /&gt;- Basic understanding of programming concepts&lt;br /&gt;- Ability to understand code, functions, methods, classes, etc.&lt;br /&gt;- Ability to think like a programmer&lt;br /&gt;&lt;br /&gt;The basic understanding of Unix or Linux operating system and the man pages&lt;br /&gt;(help provided by Unix and Linux operating systems) will be an added advantage.&lt;br /&gt;Current Trends&lt;br /&gt;Generally, but not always, API documents are written by programmers and SMEs. Technical editors edit these documents for grammar, punctuation, and style-related issues. Finally, tools like Javadoc and Doxygen are used to generate the required output.&lt;br /&gt;&lt;br /&gt;Until recently, the volume of API documents was not very high and since these documents were meant for high-tech professionals only, no one really bothered much about the overall quality. But the trend is changing and companies have realized the importance of the presentation and overall quality of these guides. This change provides an opportunity to all technical writers. For this, we must update ourselves with basic skills required to write API guides.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;strong&gt;Auto-generation tools&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;Auto-generation tools are used with source code files to generate the API guides. Auto-generation tools are helpful in freezing the contents (from the source code files), written by the developers and SMEs, based on the template designed by you. These tools must be customized according to the needs and requirements of the users.&lt;br /&gt;&lt;br /&gt;There are a few limitations with these tools, such as:&lt;br /&gt;- No direct contribution from technical writers&lt;br /&gt;- Language inconsistency&lt;br /&gt;- They do not provide great look and feel options&lt;br /&gt;opportunites And challanges&lt;br /&gt;As discussed previously, the API documentation has increased considerably due to rapid growth in companies engaged in software product development. This provides both opportunities and challenges to all the technical writers such as:&lt;br /&gt;- Technical writers will be required to brush up on the skills required to write the API guides&lt;br /&gt;- Technical writers with programming skills will be in demand&lt;br /&gt;- Developers with good writing skills may switch to this field&lt;br /&gt;- Technical writers with domain experience will be in demand &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt; &lt;/div&gt;&lt;/span&gt;&lt;div align="left"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;Summary &lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;API writing is not a very new field for Indian TWs but we don’t have a large database of API writers. The demand for API writers is increasing due to rapid growth in software product development companies in India. We must be ready to grab this opportunity. To master the art of API writing:&lt;br /&gt;- Learn the basics of at least one programming language&lt;br /&gt;- Learn tools like Doxygen, JavaDoc, Help2Man, Mif2man, Text2man&lt;br /&gt;- Understand the basic programming concepts&lt;br /&gt;- Familiarize yourself with the Unix operating system and the man pages (optional)&lt;br /&gt;&lt;br /&gt;Once you are comfortable with API guides, you can also contribute in the programmer’s manuals.&lt;br /&gt;&lt;br /&gt;Finally, good news for all budding API writers: salaries are often on par with developers and may be even higher.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;color:#3333ff;"&gt;Rajeev Jain&lt;br /&gt;Lead Technical Writer&lt;br /&gt;&lt;/span&gt;&lt;a href="mailto:rajeevjain@vsnl.com"&gt;&lt;span style="font-family:arial;color:#3333ff;"&gt;rajeevjain@vsnl.com&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;&lt;span style="font-family:arial;"&gt;rajeevjain72@gmail.com&lt;br /&gt;Mobile: 091-93141311170&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;(The author has over twelve years of IT experience. He has worked as programmer and system analyst with organizations like W.H.O. and DBS Bank (Singapore). He has written books titled Y2K and India, Informatics Practices, and others. He has organized seminars and workshops on topics such as “Software Engineering”, “Visual Basic”, “C”, “FoxPro”, “Y2K Scenario”, and many more.)&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13020975-111649714118509894?l=api-writing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://api-writing.blogspot.com/feeds/111649714118509894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13020975&amp;postID=111649714118509894' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13020975/posts/default/111649714118509894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13020975/posts/default/111649714118509894'/><link rel='alternate' type='text/html' href='http://api-writing.blogspot.com/2005/05/current-trends-and-opportunities-in.html' title='Current trends and opportunities in API Documentation'/><author><name>Rajeev Jain</name><uri>http://www.blogger.com/profile/11588138737660524240</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry></feed>
