SlideShare a Scribd company logo
APIs and SDKs: Breaking Into and
Succeeding in a Specialty Market
             Ed Marshall

              Copyright 2008
APIs and SDKs
API = Application Programming Interface
SDK = Software Development Kit

• Typical users and why they use them
• Typical producers of these products
• Examples
Typical Documentation Deliverables
•   Programmer’s reference guides
•   Online help (in some format, more later)
•   Programmer’s guides
•   Data dictionaries
•   API and SDK installation manuals
•   System administrator's guides
•   User configuration guides
Ideal Information for SDKs
• Provide an overview of the SDK
• Describe the tools and components in the SDK
  and how they relate to the APIs
• Describe each tool in detail
• Describe any sample programs included in the
  SDK
Ideal Information for APIs
• Break each component into the various
  families
• Describe each API completely, including cross-
  references to any types used in the definition
• Provide and explain examples that show both
  trivial and complex use of the class / API
Reference Information for APIs
•   Brief description
•   Syntax
•   Examples, examples, examples!
•   Error messages
•   Cross-references
Examples of API / SDK Documentation

• Visual Basic ActiveX Control Help Sample –
  print and online help
• C++ API Help Sample – print and online help
• Typical SDK documentation – Guide to Tools,
  Programmer’s Reference, Programmer’s
  Guide, etc.
Key Programming Concepts
•   Data types / variables
•   Program control – loops, conditions, etc.
•   Logical operators
•   Data structures such as arrays
•   Functions / methods
Benefits to the Writer
• Do more advanced technical writing = Higher
  pay / higher status
• Good if you like to play with software at the
  code level, create / test examples, talk / write
  in gibberish
• Work more closely with developers
Drawbacks to the Writer
• Possibly restrictive / repetitive writing
• Possibly less contact with users as they are
  developers / programmers themselves
• Possibly, more technically challenging
  development / build environments
Knowledge / Personality Traits that
              Work Well
• Some knowledge of programming languages
  BUT you don’t have to be a programmer!
• Willingness to work with advanced /
  programmer types of tools – Use software
  instead of specs
• Desire to work at the code level and write for
  developers who work at the code level
Knowledge / Personality Traits, cont.
• Willingness / confidence to work closely with
  senior developers
• Ability to develop context-sensitive level help at
  a lower-level than typical end-user (window-
  level) help
Ways to Get Information
•   Read the specifications
•   Use the software
•   Attend demos
•   Run automated tools against the software
•   Provide fill-in-the-blank templates to
    developers
Build and Deployment Issues
• Use of automated build systems
• Use of source code control systems
• Other tools to do file comparisons, advanced
  text editors, multi-file search and replace, etc.
Determining Which Help Format to Use
• Platforms
• Browsers
• Minimum versions required by your product
Common Help Formats
• WinHelp – Not in Vista but…
• HTMLHelp 1.x
• HTMLHelp 2.0 (used with Microsoft
  VisualStudio.NET)
• WebHelp / Web Help
• JavaHelp
• Vista help – Not available to us in Vista
Context-sensitive Help
• Need to determine if it is necessary
• Need developers to implement / hook to the
  API
• Have to use the appropriate API for the help
  format
• Mapping of context IDs to numbers / text
  strings
• Need to test all links from the product
Sample Context ID Mapping for
             HTMLHelp
Sample .h file entry:
  #define IntroTopic 0001
  #define CloseSpeech_PM 2001
  #define EngineTerminated_E 3001
Sample .ali file entry:
  IntroTopic=Intro_Topic.htm
  CloseSpeech_PM=CloseSpeech_Method.htm
  EngineTerminated_E=EngineTerminated_Event.htm
Automated Tools
• Doxygen
• JavaDoc
• Sandcastle – New tool for .Net help (MSDN
  style). Doc-to-Help supports Sandcastle help.
• Others
Doxygen
• Very powerful code generation tool
• Free
• Reads specially formatted comments in code
• Supports C / C++, Java, (Corba and Microsoft) Java,
  Python, IDL, and C#
• Outputs RTF, compiled HTML Help, browser-based
  help, and LaTex (PDF)
• Active development / support
• www.stack.nl/~dimitri/doxygen/download.html#latests
  rc – current version is 1.5.5
JavaDoc

• Powerful code generation tool for Java
• Free
• Reads specially formatted comments in code
• Outputs browser-based help
• Active development
• www.sun.com – current version: Java Development
  Kit 5.0 Update 15
• www.doclet.com – source for Java Doclets and
  Javadoc information
Help Authoring Tools (HATs)
• Flare – www.madcapsoftware.com
• RoboHelp – www.adobe.com
• Help & Manual - www.ec-software.com/
• WebWorks ePublisherPro – www.quadralay.com
• Doc-to-Help – www.componentone.com
• AuthorIT – www.authorit.com
For a searchable database of HATs, see hat-
  matrix.com/ - Char James-Tanny’s service
Microsoft IDEs
• Visual Studio 2008 Visual C++
• Visual C #
• Visual Basic

All free from
  http://www.microsoft.com/express/download/
Other IDEs
• Sun NetBeans – www.sun.com (Free - search
  for NetBeans)
• Eclipse – www.eclipse.org (a free open source
  IDE)
Advanced Text Editors
NoteTabPro and EditPadPro:

• Both tools have: Spell-checking. Big plus if you work in a mixed OS
  environment: Neither tool inserts Windows-style line feed
  characters in Unix files.

• NoteTabPro has an auto-complete option for html tags and other
  languages. Has a free version with reduced functionality.
  www.notetab.com $19.95, Lots of other tools here.

• EditPadPro has color-coding for custom html tags
  www.jgsoft.com $39.
  Free full-featured (except for Spell Check) evaluation download available.
  JG Soft has other tools such as a PowerGrep tool, Registry editor, and
  others.
File / Folder Level Comparison
               (Differencing Tools)
• Beyond Compare – Performs folder and file level comparisons, ASCII and
  binary. Can detect that ASCII or binary files are different but can only show
  the differences in ASCII files, not binary files. Highlights the specific
  characters different between 2 ASCII files. Has a 30-day full-featured free
  trial.
   www.scootersoftware.com/
   Retail price: $30

• Araxis Merge - Performs folder and file level comparisons, ASCII and
  binary. Has a 30-day free trial.
   www.araxis.com/merge/index.html
   Retail price: $129
Search and Replace Tool
Funduc – Searches & replaces both folders and
 zip files. Will search & replace ASCII and
 binary files. Will search binary files but cannot
 replace by itself. Has plug-ins for Word, Excel,
 and PowerPoint.

 www.funduc.com $25

 Many other tools here also.
Sample APIs
• Google APIs –
  code.google.com/more/#label=APIs&product=
  gdata
• Google Earth API – earth.google.com/comapi/
• Google Maps API –
  code.google.com/apis/maps/
• BackPack – www.backpackit.com/
Breaking into this Market
• Get training to develop the skills:
    - Courses
    - Self-paced training
    - On-the-job training
• Make your own sample help systems, with
  context-sensitive help coded
• Write some sample programs
Education / Training Opportunities
• Programming courses at local colleges
• STC conferences / workshops
Self-Paced Training
• Manuel Gordon’s API materials
  (www.gordonandgordon.com)
• Documenting APIs: Writing Developer
  Documentation for Java APIs / SDKs – James Bisso
  / Victoria Maki (www.bitzone.com/book.html)
• Deitel & Deitel “(C / C++ / C# / Java) How to
  Program”
• Sams “Teach Yourself…”
• Sample projects, such as the HTML Help API
Other Resources

•   MSDN – msdn.microsoft.com
•   RoboWizard Web site – www.robowizard.com
•   Flare forums – www.madcapsoftware.com
•   RoboHelp / Flare Web site – www.grainge.org/
Listservers (Yahoo Groups)
• STC API – groups.yahoo.com/group/svcstcapi/
• API writers –
  groups.yahoo.com/group/APIWriters/
• NetTechWriters –
  groups.yahoo.com/group/nettechwriters/
• HATT – groups.yahoo.com/group/HATT/
Listservers (Yahoo Groups), cont.
• MSHelp 2.0 –
  groups.yahoo.com/group/MSHelp2/
• Eclipse – groups.yahoo.com/group/eclipse_tw/
Web Services – A Growing Area
• Web Service - An application that provides a
  Web API to perform application integration
• Platform / language independent
• Related to service oriented architectures
  (SOAs)
• Uses SOAP (Simple Object Access Protocol)
  to send / receive XML messages
Web Services / SOA resources
• Web Services A Manager’s Guide – Anne Thomas
  Mannes
• Service Oriented Architecture for Dummies –
  Judith Hurwitz, Robin Bloor, and Carol Baroudi
Summary
•   Description of APIs / SDKs
•   Benefits to writers
•   Drawbacks to writers
•   Training
•   Writing considerations (tools, formats, issues
    for context-sensitive help)
Closing
• Thank you.
• Questions?

                  Ed Marshall

        Marshall Documentation Consulting
            ed.marshall@verizon.net
       www.MarshallDocumentationServices
                 +1 978-339-3095

More Related Content

What's hot

Ruby vs Java: Comparing Two Popular Programming Languages For Developing Ente...
Ruby vs Java: Comparing Two Popular Programming Languages For Developing Ente...Ruby vs Java: Comparing Two Popular Programming Languages For Developing Ente...
Ruby vs Java: Comparing Two Popular Programming Languages For Developing Ente...
Katy Slemon
 
Delphi developer certification study guide
Delphi developer certification study guideDelphi developer certification study guide
Delphi developer certification study guide
ANIL MAHADEV
 
Java Intro
Java IntroJava Intro
Java Intro
Nazmul Hasan Rupok
 
Livecode widget course
Livecode widget courseLivecode widget course
Livecode widget course
crazyaxe
 
API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015
Tom Johnson
 
Introduction to back-end
Introduction to back-endIntroduction to back-end
Introduction to back-end
Mosaab Ehab
 
Dart presentation
Dart presentationDart presentation
Dart presentation
Lucas Leal
 
API Docs Made Right / RAML - Swagger rant
API Docs Made Right / RAML - Swagger rantAPI Docs Made Right / RAML - Swagger rant
API Docs Made Right / RAML - Swagger rant
Vladimir Shulyak
 
API workshop: Deep dive into Java
API workshop: Deep dive into JavaAPI workshop: Deep dive into Java
API workshop: Deep dive into Java
Tom Johnson
 
Web programming UNIT II by Bhavsingh Maloth
Web programming UNIT II by Bhavsingh MalothWeb programming UNIT II by Bhavsingh Maloth
Web programming UNIT II by Bhavsingh Maloth
Bhavsingh Maloth
 
Writing Effective Self-Help Guides for World Domination
Writing Effective Self-Help Guides for World DominationWriting Effective Self-Help Guides for World Domination
Writing Effective Self-Help Guides for World Domination
Emma Jane Hogbin Westby
 
Programming paradigm and web programming
Programming paradigm and web programmingProgramming paradigm and web programming
Programming paradigm and web programming
Mohammad Kamrul Hasan
 
Apache Cordova
Apache CordovaApache Cordova
Apache Cordova
Ivano Malavolta
 
21. Java High Quality Programming Code
21. Java High Quality Programming Code21. Java High Quality Programming Code
21. Java High Quality Programming Code
Intro C# Book
 
HTML for beginners
HTML for beginnersHTML for beginners
HTML for beginners
Salahaddin University-Erbil
 
Os Koziarsky
Os KoziarskyOs Koziarsky
Os Koziarskyoscon2007
 
Top 10 programming languages
Top 10 programming languagesTop 10 programming languages
Top 10 programming languages
Aman Kumar
 
Introduction to Frontend Development - Session 1 - HTML Fundamentals
Introduction to Frontend Development - Session 1 - HTML FundamentalsIntroduction to Frontend Development - Session 1 - HTML Fundamentals
Introduction to Frontend Development - Session 1 - HTML Fundamentals
Kalin Chernev
 
The Ring programming language version 1.3 book - Part 4 of 88
The Ring programming language version 1.3 book - Part 4 of 88The Ring programming language version 1.3 book - Part 4 of 88
The Ring programming language version 1.3 book - Part 4 of 88
Mahmoud Samir Fayed
 
Java and Related Technologies
Java and Related TechnologiesJava and Related Technologies
Java and Related TechnologiesQualys
 

What's hot (20)

Ruby vs Java: Comparing Two Popular Programming Languages For Developing Ente...
Ruby vs Java: Comparing Two Popular Programming Languages For Developing Ente...Ruby vs Java: Comparing Two Popular Programming Languages For Developing Ente...
Ruby vs Java: Comparing Two Popular Programming Languages For Developing Ente...
 
Delphi developer certification study guide
Delphi developer certification study guideDelphi developer certification study guide
Delphi developer certification study guide
 
Java Intro
Java IntroJava Intro
Java Intro
 
Livecode widget course
Livecode widget courseLivecode widget course
Livecode widget course
 
API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015
 
Introduction to back-end
Introduction to back-endIntroduction to back-end
Introduction to back-end
 
Dart presentation
Dart presentationDart presentation
Dart presentation
 
API Docs Made Right / RAML - Swagger rant
API Docs Made Right / RAML - Swagger rantAPI Docs Made Right / RAML - Swagger rant
API Docs Made Right / RAML - Swagger rant
 
API workshop: Deep dive into Java
API workshop: Deep dive into JavaAPI workshop: Deep dive into Java
API workshop: Deep dive into Java
 
Web programming UNIT II by Bhavsingh Maloth
Web programming UNIT II by Bhavsingh MalothWeb programming UNIT II by Bhavsingh Maloth
Web programming UNIT II by Bhavsingh Maloth
 
Writing Effective Self-Help Guides for World Domination
Writing Effective Self-Help Guides for World DominationWriting Effective Self-Help Guides for World Domination
Writing Effective Self-Help Guides for World Domination
 
Programming paradigm and web programming
Programming paradigm and web programmingProgramming paradigm and web programming
Programming paradigm and web programming
 
Apache Cordova
Apache CordovaApache Cordova
Apache Cordova
 
21. Java High Quality Programming Code
21. Java High Quality Programming Code21. Java High Quality Programming Code
21. Java High Quality Programming Code
 
HTML for beginners
HTML for beginnersHTML for beginners
HTML for beginners
 
Os Koziarsky
Os KoziarskyOs Koziarsky
Os Koziarsky
 
Top 10 programming languages
Top 10 programming languagesTop 10 programming languages
Top 10 programming languages
 
Introduction to Frontend Development - Session 1 - HTML Fundamentals
Introduction to Frontend Development - Session 1 - HTML FundamentalsIntroduction to Frontend Development - Session 1 - HTML Fundamentals
Introduction to Frontend Development - Session 1 - HTML Fundamentals
 
The Ring programming language version 1.3 book - Part 4 of 88
The Ring programming language version 1.3 book - Part 4 of 88The Ring programming language version 1.3 book - Part 4 of 88
The Ring programming language version 1.3 book - Part 4 of 88
 
Java and Related Technologies
Java and Related TechnologiesJava and Related Technologies
Java and Related Technologies
 

Viewers also liked

Heritage Visualisation: Lessons From The Fun Side
Heritage Visualisation: Lessons From The Fun SideHeritage Visualisation: Lessons From The Fun Side
Heritage Visualisation: Lessons From The Fun Side
University of South Australlia
 
Software Development kits
Software Development kitsSoftware Development kits
Software Development kitsEverett Toews
 
Understanding Objects by Mark Lewis
Understanding Objects by Mark LewisUnderstanding Objects by Mark Lewis
Understanding Objects by Mark Lewis
Mark Lewis
 
Writing code samples for API/SDK documentation
Writing code samples for API/SDK documentationWriting code samples for API/SDK documentation
Writing code samples for API/SDK documentation
Tom Johnson
 
Transforming Your Business Through APIs
Transforming Your Business Through APIsTransforming Your Business Through APIs
Transforming Your Business Through APIs
Apigee | Google Cloud
 
50 Digital Marketing Metrics for CMOs, CDOs, CIOs and CFOs
50 Digital Marketing Metrics for CMOs, CDOs, CIOs and CFOs50 Digital Marketing Metrics for CMOs, CDOs, CIOs and CFOs
50 Digital Marketing Metrics for CMOs, CDOs, CIOs and CFOs
Vala Afshar
 

Viewers also liked (6)

Heritage Visualisation: Lessons From The Fun Side
Heritage Visualisation: Lessons From The Fun SideHeritage Visualisation: Lessons From The Fun Side
Heritage Visualisation: Lessons From The Fun Side
 
Software Development kits
Software Development kitsSoftware Development kits
Software Development kits
 
Understanding Objects by Mark Lewis
Understanding Objects by Mark LewisUnderstanding Objects by Mark Lewis
Understanding Objects by Mark Lewis
 
Writing code samples for API/SDK documentation
Writing code samples for API/SDK documentationWriting code samples for API/SDK documentation
Writing code samples for API/SDK documentation
 
Transforming Your Business Through APIs
Transforming Your Business Through APIsTransforming Your Business Through APIs
Transforming Your Business Through APIs
 
50 Digital Marketing Metrics for CMOs, CDOs, CIOs and CFOs
50 Digital Marketing Metrics for CMOs, CDOs, CIOs and CFOs50 Digital Marketing Metrics for CMOs, CDOs, CIOs and CFOs
50 Digital Marketing Metrics for CMOs, CDOs, CIOs and CFOs
 

Similar to APIs and SDKs: Breaking Into and Succeeding in a Specialty Market

APIs and SDKs: Breaking into and Succeeding in a Specialty Market
APIs and SDKs: Breaking into and Succeeding in a Specialty MarketAPIs and SDKs: Breaking into and Succeeding in a Specialty Market
APIs and SDKs: Breaking into and Succeeding in a Specialty Market
STC-Philadelphia Metro Chapter
 
APIs And SDKs Breaking Into And Succeeding In A Specialty Market
APIs And SDKs  Breaking Into And Succeeding In A Specialty MarketAPIs And SDKs  Breaking Into And Succeeding In A Specialty Market
APIs And SDKs Breaking Into And Succeeding In A Specialty Market
Bill Dubie
 
Scripting Recipes for Testers
Scripting Recipes for TestersScripting Recipes for Testers
Scripting Recipes for Testers
Adam Goucher
 
Write Generic Code with the Tooling API
Write Generic Code with the Tooling APIWrite Generic Code with the Tooling API
Write Generic Code with the Tooling API
Adam Olshansky
 
IDE and Toolset For Magento Development
IDE and Toolset For Magento DevelopmentIDE and Toolset For Magento Development
IDE and Toolset For Magento Development
Abid Malik
 
What is the best programming language for your web product?
What is the best programming language for your web product?What is the best programming language for your web product?
What is the best programming language for your web product?
MobiDev
 
compiler construction tool in computer science .
compiler construction tool in computer science .compiler construction tool in computer science .
compiler construction tool in computer science .
RanitHalder
 
Titanium Desktop Intro
Titanium Desktop IntroTitanium Desktop Intro
Titanium Desktop Intro
Marshall Culpepper
 
Android Bootcamp
Android   BootcampAndroid   Bootcamp
Android Bootcampahkjsdcsadc
 
Cool Tools for Technical Writers
Cool Tools for Technical WritersCool Tools for Technical Writers
Cool Tools for Technical Writers
Jeff Haas
 
Laird Best Practices Ajax World West2008
Laird Best Practices Ajax World West2008Laird Best Practices Ajax World West2008
Laird Best Practices Ajax World West2008rajivmordani
 
.NET Recommended Resources
.NET Recommended Resources.NET Recommended Resources
.NET Recommended Resources
Greg Sohl
 
API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)
Tom Johnson
 
Best Practices with Zend Framework - Matthew Weier O'Phinney
Best Practices with Zend Framework - Matthew Weier O'PhinneyBest Practices with Zend Framework - Matthew Weier O'Phinney
Best Practices with Zend Framework - Matthew Weier O'Phinneydpc
 
Java script anywhere. What Nombas was doing pre-acquisition.
Java script anywhere. What Nombas was doing pre-acquisition.Java script anywhere. What Nombas was doing pre-acquisition.
Java script anywhere. What Nombas was doing pre-acquisition.
Brent Noorda
 
Barcelona Multilanguage
Barcelona MultilanguageBarcelona Multilanguage
Barcelona Multilanguage
guest3a6661
 
What are your Programming Language's Energy-Delay Implications?
What are your Programming Language's Energy-Delay Implications?What are your Programming Language's Energy-Delay Implications?
What are your Programming Language's Energy-Delay Implications?
Stefanos Georgiou
 
C Language
C LanguageC Language
C Language
Syed Zaid Irshad
 
Week - 04, 05 Software Chapter 2 info sys.ppt
Week - 04, 05 Software Chapter 2 info sys.pptWeek - 04, 05 Software Chapter 2 info sys.ppt
Week - 04, 05 Software Chapter 2 info sys.ppt
TALHA RIAZ PERSOTA
 

Similar to APIs and SDKs: Breaking Into and Succeeding in a Specialty Market (20)

APIs and SDKs: Breaking into and Succeeding in a Specialty Market
APIs and SDKs: Breaking into and Succeeding in a Specialty MarketAPIs and SDKs: Breaking into and Succeeding in a Specialty Market
APIs and SDKs: Breaking into and Succeeding in a Specialty Market
 
APIs And SDKs Breaking Into And Succeeding In A Specialty Market
APIs And SDKs  Breaking Into And Succeeding In A Specialty MarketAPIs And SDKs  Breaking Into And Succeeding In A Specialty Market
APIs And SDKs Breaking Into And Succeeding In A Specialty Market
 
Scripting Recipes for Testers
Scripting Recipes for TestersScripting Recipes for Testers
Scripting Recipes for Testers
 
Write Generic Code with the Tooling API
Write Generic Code with the Tooling APIWrite Generic Code with the Tooling API
Write Generic Code with the Tooling API
 
IDE and Toolset For Magento Development
IDE and Toolset For Magento DevelopmentIDE and Toolset For Magento Development
IDE and Toolset For Magento Development
 
What is the best programming language for your web product?
What is the best programming language for your web product?What is the best programming language for your web product?
What is the best programming language for your web product?
 
compiler construction tool in computer science .
compiler construction tool in computer science .compiler construction tool in computer science .
compiler construction tool in computer science .
 
Titanium Desktop Intro
Titanium Desktop IntroTitanium Desktop Intro
Titanium Desktop Intro
 
Android Bootcamp
Android   BootcampAndroid   Bootcamp
Android Bootcamp
 
Cool Tools for Technical Writers
Cool Tools for Technical WritersCool Tools for Technical Writers
Cool Tools for Technical Writers
 
Laird Best Practices Ajax World West2008
Laird Best Practices Ajax World West2008Laird Best Practices Ajax World West2008
Laird Best Practices Ajax World West2008
 
.NET Recommended Resources
.NET Recommended Resources.NET Recommended Resources
.NET Recommended Resources
 
API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)
 
Best Practices with Zend Framework - Matthew Weier O'Phinney
Best Practices with Zend Framework - Matthew Weier O'PhinneyBest Practices with Zend Framework - Matthew Weier O'Phinney
Best Practices with Zend Framework - Matthew Weier O'Phinney
 
Java script anywhere. What Nombas was doing pre-acquisition.
Java script anywhere. What Nombas was doing pre-acquisition.Java script anywhere. What Nombas was doing pre-acquisition.
Java script anywhere. What Nombas was doing pre-acquisition.
 
Barcelona Multilanguage
Barcelona MultilanguageBarcelona Multilanguage
Barcelona Multilanguage
 
Ajax World West
Ajax World WestAjax World West
Ajax World West
 
What are your Programming Language's Energy-Delay Implications?
What are your Programming Language's Energy-Delay Implications?What are your Programming Language's Energy-Delay Implications?
What are your Programming Language's Energy-Delay Implications?
 
C Language
C LanguageC Language
C Language
 
Week - 04, 05 Software Chapter 2 info sys.ppt
Week - 04, 05 Software Chapter 2 info sys.pptWeek - 04, 05 Software Chapter 2 info sys.ppt
Week - 04, 05 Software Chapter 2 info sys.ppt
 

More from Scott Abel

The Future Of Technical Communication
The Future Of Technical CommunicationThe Future Of Technical Communication
The Future Of Technical Communication
Scott Abel
 
Move Over Text: Video Documentation Meets DITA
Move Over Text: Video Documentation Meets DITAMove Over Text: Video Documentation Meets DITA
Move Over Text: Video Documentation Meets DITA
Scott Abel
 
Twitter Who Cares What You\'re Doing Right Now, Anyway
Twitter Who Cares What You\'re Doing Right Now, AnywayTwitter Who Cares What You\'re Doing Right Now, Anyway
Twitter Who Cares What You\'re Doing Right Now, Anyway
Scott Abel
 
Intelligent Contet Here And Now
Intelligent Contet Here And NowIntelligent Contet Here And Now
Intelligent Contet Here And Now
Scott Abel
 
Authoring and Publishing with XMetaL and DITA
Authoring and Publishing with XMetaL and DITAAuthoring and Publishing with XMetaL and DITA
Authoring and Publishing with XMetaL and DITAScott Abel
 
Comparing DITA Support in XMetaL and FrameMaker
Comparing DITA Support in XMetaL and FrameMakerComparing DITA Support in XMetaL and FrameMaker
Comparing DITA Support in XMetaL and FrameMakerScott Abel
 
Success Factors for DITA Adoption with XMetaL: Best Practices and Fundamentals
Success Factors for DITA Adoption with XMetaL: Best Practices and FundamentalsSuccess Factors for DITA Adoption with XMetaL: Best Practices and Fundamentals
Success Factors for DITA Adoption with XMetaL: Best Practices and FundamentalsScott Abel
 
Blogzilla: Why Blogs Are The Monster In The Business Closet: You Are No Longe...
Blogzilla: Why Blogs Are The Monster In The Business Closet: You Are No Longe...Blogzilla: Why Blogs Are The Monster In The Business Closet: You Are No Longe...
Blogzilla: Why Blogs Are The Monster In The Business Closet: You Are No Longe...
Scott Abel
 
Controlled Authoring Workshop: Learn How Standardizing Content Will Improve Q...
Controlled Authoring Workshop: Learn How Standardizing Content Will Improve Q...Controlled Authoring Workshop: Learn How Standardizing Content Will Improve Q...
Controlled Authoring Workshop: Learn How Standardizing Content Will Improve Q...
Scott Abel
 
The Changing Face of TechComm and the Society for Technical Communication
The Changing Face of TechComm and the Society for Technical CommunicationThe Changing Face of TechComm and the Society for Technical Communication
The Changing Face of TechComm and the Society for Technical Communication
Scott Abel
 
The Truth about Content: Learning from the Past in order to Succeed in the Fu...
The Truth about Content: Learning from the Past in order to Succeed in the Fu...The Truth about Content: Learning from the Past in order to Succeed in the Fu...
The Truth about Content: Learning from the Past in order to Succeed in the Fu...
Scott Abel
 
Content Oriented Architectures: Putting Content at the Center of CM Projects
Content Oriented Architectures: Putting Content at the Center of CM ProjectsContent Oriented Architectures: Putting Content at the Center of CM Projects
Content Oriented Architectures: Putting Content at the Center of CM Projects
Scott Abel
 
Modular Content Projects: One Size DOES NOT Fit All
Modular Content Projects: One Size DOES NOT Fit AllModular Content Projects: One Size DOES NOT Fit All
Modular Content Projects: One Size DOES NOT Fit All
Scott Abel
 
Navigating the Vendor Maze: Understanding XML Authoring Tools and Content Man...
Navigating the Vendor Maze: Understanding XML Authoring Tools and Content Man...Navigating the Vendor Maze: Understanding XML Authoring Tools and Content Man...
Navigating the Vendor Maze: Understanding XML Authoring Tools and Content Man...
Scott Abel
 
Writing, Clear and Simple - Document Testing: The Missing Step
Writing, Clear and Simple - Document Testing: The Missing StepWriting, Clear and Simple - Document Testing: The Missing Step
Writing, Clear and Simple - Document Testing: The Missing StepScott Abel
 
It
ItIt
Theory of Constraints and Project Management: Challenging the Dominant Paradigm
Theory of Constraints and Project Management: Challenging the Dominant ParadigmTheory of Constraints and Project Management: Challenging the Dominant Paradigm
Theory of Constraints and Project Management: Challenging the Dominant ParadigmScott Abel
 
[Case Study] - Nuclear Power, DITA and FrameMaker: The How's and Why's
[Case Study] - Nuclear Power, DITA and FrameMaker: The How's and Why's[Case Study] - Nuclear Power, DITA and FrameMaker: The How's and Why's
[Case Study] - Nuclear Power, DITA and FrameMaker: The How's and Why's
Scott Abel
 
We Eat Our Own Dog Food: Three Companies in the World of Localization Technol...
We Eat Our Own Dog Food: Three Companies in the World of Localization Technol...We Eat Our Own Dog Food: Three Companies in the World of Localization Technol...
We Eat Our Own Dog Food: Three Companies in the World of Localization Technol...
Scott Abel
 
Sustainable XML for Publishing Applications: DITA Makes It Possible
Sustainable XML for Publishing Applications: DITA Makes It PossibleSustainable XML for Publishing Applications: DITA Makes It Possible
Sustainable XML for Publishing Applications: DITA Makes It Possible
Scott Abel
 

More from Scott Abel (20)

The Future Of Technical Communication
The Future Of Technical CommunicationThe Future Of Technical Communication
The Future Of Technical Communication
 
Move Over Text: Video Documentation Meets DITA
Move Over Text: Video Documentation Meets DITAMove Over Text: Video Documentation Meets DITA
Move Over Text: Video Documentation Meets DITA
 
Twitter Who Cares What You\'re Doing Right Now, Anyway
Twitter Who Cares What You\'re Doing Right Now, AnywayTwitter Who Cares What You\'re Doing Right Now, Anyway
Twitter Who Cares What You\'re Doing Right Now, Anyway
 
Intelligent Contet Here And Now
Intelligent Contet Here And NowIntelligent Contet Here And Now
Intelligent Contet Here And Now
 
Authoring and Publishing with XMetaL and DITA
Authoring and Publishing with XMetaL and DITAAuthoring and Publishing with XMetaL and DITA
Authoring and Publishing with XMetaL and DITA
 
Comparing DITA Support in XMetaL and FrameMaker
Comparing DITA Support in XMetaL and FrameMakerComparing DITA Support in XMetaL and FrameMaker
Comparing DITA Support in XMetaL and FrameMaker
 
Success Factors for DITA Adoption with XMetaL: Best Practices and Fundamentals
Success Factors for DITA Adoption with XMetaL: Best Practices and FundamentalsSuccess Factors for DITA Adoption with XMetaL: Best Practices and Fundamentals
Success Factors for DITA Adoption with XMetaL: Best Practices and Fundamentals
 
Blogzilla: Why Blogs Are The Monster In The Business Closet: You Are No Longe...
Blogzilla: Why Blogs Are The Monster In The Business Closet: You Are No Longe...Blogzilla: Why Blogs Are The Monster In The Business Closet: You Are No Longe...
Blogzilla: Why Blogs Are The Monster In The Business Closet: You Are No Longe...
 
Controlled Authoring Workshop: Learn How Standardizing Content Will Improve Q...
Controlled Authoring Workshop: Learn How Standardizing Content Will Improve Q...Controlled Authoring Workshop: Learn How Standardizing Content Will Improve Q...
Controlled Authoring Workshop: Learn How Standardizing Content Will Improve Q...
 
The Changing Face of TechComm and the Society for Technical Communication
The Changing Face of TechComm and the Society for Technical CommunicationThe Changing Face of TechComm and the Society for Technical Communication
The Changing Face of TechComm and the Society for Technical Communication
 
The Truth about Content: Learning from the Past in order to Succeed in the Fu...
The Truth about Content: Learning from the Past in order to Succeed in the Fu...The Truth about Content: Learning from the Past in order to Succeed in the Fu...
The Truth about Content: Learning from the Past in order to Succeed in the Fu...
 
Content Oriented Architectures: Putting Content at the Center of CM Projects
Content Oriented Architectures: Putting Content at the Center of CM ProjectsContent Oriented Architectures: Putting Content at the Center of CM Projects
Content Oriented Architectures: Putting Content at the Center of CM Projects
 
Modular Content Projects: One Size DOES NOT Fit All
Modular Content Projects: One Size DOES NOT Fit AllModular Content Projects: One Size DOES NOT Fit All
Modular Content Projects: One Size DOES NOT Fit All
 
Navigating the Vendor Maze: Understanding XML Authoring Tools and Content Man...
Navigating the Vendor Maze: Understanding XML Authoring Tools and Content Man...Navigating the Vendor Maze: Understanding XML Authoring Tools and Content Man...
Navigating the Vendor Maze: Understanding XML Authoring Tools and Content Man...
 
Writing, Clear and Simple - Document Testing: The Missing Step
Writing, Clear and Simple - Document Testing: The Missing StepWriting, Clear and Simple - Document Testing: The Missing Step
Writing, Clear and Simple - Document Testing: The Missing Step
 
It
ItIt
It
 
Theory of Constraints and Project Management: Challenging the Dominant Paradigm
Theory of Constraints and Project Management: Challenging the Dominant ParadigmTheory of Constraints and Project Management: Challenging the Dominant Paradigm
Theory of Constraints and Project Management: Challenging the Dominant Paradigm
 
[Case Study] - Nuclear Power, DITA and FrameMaker: The How's and Why's
[Case Study] - Nuclear Power, DITA and FrameMaker: The How's and Why's[Case Study] - Nuclear Power, DITA and FrameMaker: The How's and Why's
[Case Study] - Nuclear Power, DITA and FrameMaker: The How's and Why's
 
We Eat Our Own Dog Food: Three Companies in the World of Localization Technol...
We Eat Our Own Dog Food: Three Companies in the World of Localization Technol...We Eat Our Own Dog Food: Three Companies in the World of Localization Technol...
We Eat Our Own Dog Food: Three Companies in the World of Localization Technol...
 
Sustainable XML for Publishing Applications: DITA Makes It Possible
Sustainable XML for Publishing Applications: DITA Makes It PossibleSustainable XML for Publishing Applications: DITA Makes It Possible
Sustainable XML for Publishing Applications: DITA Makes It Possible
 

Recently uploaded

Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 

Recently uploaded (20)

Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 

APIs and SDKs: Breaking Into and Succeeding in a Specialty Market

  • 1. APIs and SDKs: Breaking Into and Succeeding in a Specialty Market Ed Marshall Copyright 2008
  • 2. APIs and SDKs API = Application Programming Interface SDK = Software Development Kit • Typical users and why they use them • Typical producers of these products • Examples
  • 3. Typical Documentation Deliverables • Programmer’s reference guides • Online help (in some format, more later) • Programmer’s guides • Data dictionaries • API and SDK installation manuals • System administrator's guides • User configuration guides
  • 4. Ideal Information for SDKs • Provide an overview of the SDK • Describe the tools and components in the SDK and how they relate to the APIs • Describe each tool in detail • Describe any sample programs included in the SDK
  • 5. Ideal Information for APIs • Break each component into the various families • Describe each API completely, including cross- references to any types used in the definition • Provide and explain examples that show both trivial and complex use of the class / API
  • 6. Reference Information for APIs • Brief description • Syntax • Examples, examples, examples! • Error messages • Cross-references
  • 7. Examples of API / SDK Documentation • Visual Basic ActiveX Control Help Sample – print and online help • C++ API Help Sample – print and online help • Typical SDK documentation – Guide to Tools, Programmer’s Reference, Programmer’s Guide, etc.
  • 8. Key Programming Concepts • Data types / variables • Program control – loops, conditions, etc. • Logical operators • Data structures such as arrays • Functions / methods
  • 9. Benefits to the Writer • Do more advanced technical writing = Higher pay / higher status • Good if you like to play with software at the code level, create / test examples, talk / write in gibberish • Work more closely with developers
  • 10. Drawbacks to the Writer • Possibly restrictive / repetitive writing • Possibly less contact with users as they are developers / programmers themselves • Possibly, more technically challenging development / build environments
  • 11. Knowledge / Personality Traits that Work Well • Some knowledge of programming languages BUT you don’t have to be a programmer! • Willingness to work with advanced / programmer types of tools – Use software instead of specs • Desire to work at the code level and write for developers who work at the code level
  • 12. Knowledge / Personality Traits, cont. • Willingness / confidence to work closely with senior developers • Ability to develop context-sensitive level help at a lower-level than typical end-user (window- level) help
  • 13. Ways to Get Information • Read the specifications • Use the software • Attend demos • Run automated tools against the software • Provide fill-in-the-blank templates to developers
  • 14. Build and Deployment Issues • Use of automated build systems • Use of source code control systems • Other tools to do file comparisons, advanced text editors, multi-file search and replace, etc.
  • 15. Determining Which Help Format to Use • Platforms • Browsers • Minimum versions required by your product
  • 16. Common Help Formats • WinHelp – Not in Vista but… • HTMLHelp 1.x • HTMLHelp 2.0 (used with Microsoft VisualStudio.NET) • WebHelp / Web Help • JavaHelp • Vista help – Not available to us in Vista
  • 17. Context-sensitive Help • Need to determine if it is necessary • Need developers to implement / hook to the API • Have to use the appropriate API for the help format • Mapping of context IDs to numbers / text strings • Need to test all links from the product
  • 18. Sample Context ID Mapping for HTMLHelp Sample .h file entry: #define IntroTopic 0001 #define CloseSpeech_PM 2001 #define EngineTerminated_E 3001 Sample .ali file entry: IntroTopic=Intro_Topic.htm CloseSpeech_PM=CloseSpeech_Method.htm EngineTerminated_E=EngineTerminated_Event.htm
  • 19. Automated Tools • Doxygen • JavaDoc • Sandcastle – New tool for .Net help (MSDN style). Doc-to-Help supports Sandcastle help. • Others
  • 20. Doxygen • Very powerful code generation tool • Free • Reads specially formatted comments in code • Supports C / C++, Java, (Corba and Microsoft) Java, Python, IDL, and C# • Outputs RTF, compiled HTML Help, browser-based help, and LaTex (PDF) • Active development / support • www.stack.nl/~dimitri/doxygen/download.html#latests rc – current version is 1.5.5
  • 21. JavaDoc • Powerful code generation tool for Java • Free • Reads specially formatted comments in code • Outputs browser-based help • Active development • www.sun.com – current version: Java Development Kit 5.0 Update 15 • www.doclet.com – source for Java Doclets and Javadoc information
  • 22. Help Authoring Tools (HATs) • Flare – www.madcapsoftware.com • RoboHelp – www.adobe.com • Help & Manual - www.ec-software.com/ • WebWorks ePublisherPro – www.quadralay.com • Doc-to-Help – www.componentone.com • AuthorIT – www.authorit.com For a searchable database of HATs, see hat- matrix.com/ - Char James-Tanny’s service
  • 23. Microsoft IDEs • Visual Studio 2008 Visual C++ • Visual C # • Visual Basic All free from http://www.microsoft.com/express/download/
  • 24. Other IDEs • Sun NetBeans – www.sun.com (Free - search for NetBeans) • Eclipse – www.eclipse.org (a free open source IDE)
  • 25. Advanced Text Editors NoteTabPro and EditPadPro: • Both tools have: Spell-checking. Big plus if you work in a mixed OS environment: Neither tool inserts Windows-style line feed characters in Unix files. • NoteTabPro has an auto-complete option for html tags and other languages. Has a free version with reduced functionality. www.notetab.com $19.95, Lots of other tools here. • EditPadPro has color-coding for custom html tags www.jgsoft.com $39. Free full-featured (except for Spell Check) evaluation download available. JG Soft has other tools such as a PowerGrep tool, Registry editor, and others.
  • 26. File / Folder Level Comparison (Differencing Tools) • Beyond Compare – Performs folder and file level comparisons, ASCII and binary. Can detect that ASCII or binary files are different but can only show the differences in ASCII files, not binary files. Highlights the specific characters different between 2 ASCII files. Has a 30-day full-featured free trial. www.scootersoftware.com/ Retail price: $30 • Araxis Merge - Performs folder and file level comparisons, ASCII and binary. Has a 30-day free trial. www.araxis.com/merge/index.html Retail price: $129
  • 27. Search and Replace Tool Funduc – Searches & replaces both folders and zip files. Will search & replace ASCII and binary files. Will search binary files but cannot replace by itself. Has plug-ins for Word, Excel, and PowerPoint. www.funduc.com $25 Many other tools here also.
  • 28. Sample APIs • Google APIs – code.google.com/more/#label=APIs&product= gdata • Google Earth API – earth.google.com/comapi/ • Google Maps API – code.google.com/apis/maps/ • BackPack – www.backpackit.com/
  • 29. Breaking into this Market • Get training to develop the skills: - Courses - Self-paced training - On-the-job training • Make your own sample help systems, with context-sensitive help coded • Write some sample programs
  • 30. Education / Training Opportunities • Programming courses at local colleges • STC conferences / workshops
  • 31. Self-Paced Training • Manuel Gordon’s API materials (www.gordonandgordon.com) • Documenting APIs: Writing Developer Documentation for Java APIs / SDKs – James Bisso / Victoria Maki (www.bitzone.com/book.html) • Deitel & Deitel “(C / C++ / C# / Java) How to Program” • Sams “Teach Yourself…” • Sample projects, such as the HTML Help API
  • 32. Other Resources • MSDN – msdn.microsoft.com • RoboWizard Web site – www.robowizard.com • Flare forums – www.madcapsoftware.com • RoboHelp / Flare Web site – www.grainge.org/
  • 33. Listservers (Yahoo Groups) • STC API – groups.yahoo.com/group/svcstcapi/ • API writers – groups.yahoo.com/group/APIWriters/ • NetTechWriters – groups.yahoo.com/group/nettechwriters/ • HATT – groups.yahoo.com/group/HATT/
  • 34. Listservers (Yahoo Groups), cont. • MSHelp 2.0 – groups.yahoo.com/group/MSHelp2/ • Eclipse – groups.yahoo.com/group/eclipse_tw/
  • 35. Web Services – A Growing Area • Web Service - An application that provides a Web API to perform application integration • Platform / language independent • Related to service oriented architectures (SOAs) • Uses SOAP (Simple Object Access Protocol) to send / receive XML messages
  • 36. Web Services / SOA resources • Web Services A Manager’s Guide – Anne Thomas Mannes • Service Oriented Architecture for Dummies – Judith Hurwitz, Robin Bloor, and Carol Baroudi
  • 37. Summary • Description of APIs / SDKs • Benefits to writers • Drawbacks to writers • Training • Writing considerations (tools, formats, issues for context-sensitive help)
  • 38. Closing • Thank you. • Questions? Ed Marshall Marshall Documentation Consulting ed.marshall@verizon.net www.MarshallDocumentationServices +1 978-339-3095