SlideShare a Scribd company logo
APIs and SDKs: Breaking Into
and Succeeding in a Specialty
Market
Ed Marshall
2007 STC - Philadelphia Metro Conference
Copyright 2007
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
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
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 – h
ttp://groups.yahoo.com/group/svcstcapi/
• API writers –
http://groups.yahoo.com/group/APIWriters/
• NetTechWriters –
http://groups.yahoo.com/group/nettechwriters/
• HATT – http://groups.yahoo.com/group/HATT/
Listservers (Yahoo Groups), cont.
• MSHelp 2.0 –
http://groups.yahoo.com/group/MSHelp2/
• Eclipse –
http://groups.yahoo.com/group/eclipse_tw/
Ways to Get Information
• Reading the specifications
• Using the software
• Attending demos
• Running automated tools against the software
• Providing 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.
Automated Tools
• JavaDoc
• DOXYGEN
• Others
Help Authoring Tools
• Flare
• RoboHelp – It’s back, as of Jan. 2007
• WebWorks ePublisherPro – for Frame / Word
• Doc-to-Help
• AuthorIT
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.
www.notetab.com $19.95, Lots of other tools here.
• EditPadPro has color-coding for custom html tags
www.jgsoft.com $39.
JG Soft has other tools too such as a PowerGrep tool, Registry editor, and
others.
Search and Replace Tool
Funduc: Will search & replace both folders and
zip files. Will also search & replace ASCII and
binary files. Some cautions about using it with
binary files but my initial tests with Word .DOC
files worked fine.
www.funduc.com $25
Many other tools here also.
File / Folder Level Comparison
(Differencing Tools)
• Beyond Compare - 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.
http://www.scootersoftware.com/
Retail price: $30
• Araxis Merge - Folder and file level comparisons, ASCII and binary
http://www.araxis.com/merge/index.html
Retail price: $129
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 initially 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:
// Properties and Methods
#define CloseSpeech_PM 2001
• Sample .ali file entry:
CloseSpeech_PM=CloseSpeech_Method.htm
Summary
• Description of APIs / SDKs
• Benefits to writers
• Drawbacks to writers
• Training
• Writing considerations (i.e., tools, formats,
issues for context-sensitive help)
Closing
• Thank you.
• Questions?
Ed Marshall
ed.marshall@verizon.net
978-339-3095

More Related Content

PDF
A Rapid e-Learning Primer for Technical Communicators
PDF
Greythorn Whiteboard Interview Guide
PDF
Avoiding Resume Pitfalls
PDF
STC PMC Newsletter 2004-06
PPTX
International business english (Workshop, part 3) Svitlana Stetsy
PPT
How to do b tech be projects or any academic projects
PPT
Topic-based Authoring and Reuse
PPTX
Adding value as a technical communicator #CONDUIT2019
A Rapid e-Learning Primer for Technical Communicators
Greythorn Whiteboard Interview Guide
Avoiding Resume Pitfalls
STC PMC Newsletter 2004-06
International business english (Workshop, part 3) Svitlana Stetsy
How to do b tech be projects or any academic projects
Topic-based Authoring and Reuse
Adding value as a technical communicator #CONDUIT2019

What's hot (12)

PDF
Css tools and methodologies
PPT
Topic based and structured authoring - slides
PDF
Agile Software Development
PPTX
Testing User Manual
PDF
2014 Technical Communication Conference Program
PDF
Dancing for a product release
PDF
Good Code / Bad Code
PDF
The 360 Developer
ODP
The OpenOffice.org specification process demystified
PDF
Binary crosswords
PPTX
Dojo Masters - Collaborative Writing in Distributed Teams
PPTX
CV Hack
Css tools and methodologies
Topic based and structured authoring - slides
Agile Software Development
Testing User Manual
2014 Technical Communication Conference Program
Dancing for a product release
Good Code / Bad Code
The 360 Developer
The OpenOffice.org specification process demystified
Binary crosswords
Dojo Masters - Collaborative Writing in Distributed Teams
CV Hack
Ad

Viewers also liked (20)

PDF
STC PMC Newsletter 2003-10
PPT
All about me version 45 final
PDF
Revista hosp
PPT
Finance Final Power Point
PPT
Kaye prox food bank our families - spring 2014
PPS
Presentation obshta
PPT
Communication Culture: Resolving Conflict and Leveraging Feedback
PDF
Nachos practical presentation_3
PDF
Ashleys Portfolio
PDF
Planability ETI short sign & graphics
PDF
. Net Training Institute in Noida/NCR
DOC
PERSONAL NETWORK CJDW NETWORK Okt 2009
PPTX
Ciudadano digital
PDF
2011 freed
PDF
Moving Beyond Help: Transforming Yourself into Writing Corporate Strategy
PPT
8คำกริยา
PDF
Effective supervision
PDF
Tele2: итоги первого квартала 2014 года
PPTX
Badminton Club de Châteaugiron
PDF
Writing proposals
STC PMC Newsletter 2003-10
All about me version 45 final
Revista hosp
Finance Final Power Point
Kaye prox food bank our families - spring 2014
Presentation obshta
Communication Culture: Resolving Conflict and Leveraging Feedback
Nachos practical presentation_3
Ashleys Portfolio
Planability ETI short sign & graphics
. Net Training Institute in Noida/NCR
PERSONAL NETWORK CJDW NETWORK Okt 2009
Ciudadano digital
2011 freed
Moving Beyond Help: Transforming Yourself into Writing Corporate Strategy
8คำกริยา
Effective supervision
Tele2: итоги первого квартала 2014 года
Badminton Club de Châteaugiron
Writing proposals
Ad

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

PDF
APIs and SDKs: Breaking Into and Succeeding in a Specialty Market
PPT
APIs And SDKs Breaking Into And Succeeding In A Specialty Market
PDF
Write Generic Code with the Tooling API
PPTX
Building a REST API for Longevity
PDF
Cool Tools for Technical Writers
PPTX
Buildmanagment tools mavenandgradle.pptx
PPTX
API workshop: Introduction to APIs (TC Camp)
PPTX
IWSG2014: Developing Science Gateways Using Apache Airavata
PDF
Punta Dreamin 17 Generic Apex and Tooling Api
PPT
Ruby on Rails Plugins - Rich Collins
PDF
Code the docs-yu liu
PPT
.NET Recommended Resources
PDF
How To Use Selenium Successfully
PPT
SWE6653_Implementing Software Architecture.ppt
PPTX
Introducing systems analysis, design & development Concepts
PDF
The Ring programming language version 1.6 book - Part 6 of 189
PDF
The Characteristics of a Successful SPA
PPTX
Publishing API documentation -- Workshop
PDF
Open Source Tools and the Software Engineering Process
PDF
Presentation 1 Web--dev
APIs and SDKs: Breaking Into and Succeeding in a Specialty Market
APIs And SDKs Breaking Into And Succeeding In A Specialty Market
Write Generic Code with the Tooling API
Building a REST API for Longevity
Cool Tools for Technical Writers
Buildmanagment tools mavenandgradle.pptx
API workshop: Introduction to APIs (TC Camp)
IWSG2014: Developing Science Gateways Using Apache Airavata
Punta Dreamin 17 Generic Apex and Tooling Api
Ruby on Rails Plugins - Rich Collins
Code the docs-yu liu
.NET Recommended Resources
How To Use Selenium Successfully
SWE6653_Implementing Software Architecture.ppt
Introducing systems analysis, design & development Concepts
The Ring programming language version 1.6 book - Part 6 of 189
The Characteristics of a Successful SPA
Publishing API documentation -- Workshop
Open Source Tools and the Software Engineering Process
Presentation 1 Web--dev

More from STC-Philadelphia Metro Chapter (20)

PDF
From Multimedia to Social Media to Augmented and Virtual Reality April 2019
PPTX
March 2018 STC-PMC Webinar: Millennial Documentation (Presented by Pooja Vija...
PDF
Networking for Geeks (by Brian Winter)
PDF
The Cost of Doing Nothing (By Suzanne Mescan of Vasont)
PDF
Markup For Dummies (Russ Ward)
PPTX
Why is My Team Failing? (By Christine Loch)
PDF
7 Lessons from the Future of Content (By David Dylan Thomas)
PDF
Content Marketing Resource List
PPTX
Managing the MarComm/TechComm Showdown
PPTX
Effectively Telling Your Story through Content Marketing
PPTX
Defining New Roles for Information Engineering in the Customer Content Journey
PPTX
We’re Going Mobile! Great! Wait… What Does That Mean?
PDF
GitHub Workflows for Technical Communication
PDF
STC-PMC November 2016 Presentation - Mobile First Content
PPT
STC-PMC October 2016 Presentation-That's What You Think!
PDF
2016 Conduit Program
PPTX
Video Tools in Tech Writing
PDF
UX and Cognitive Load
PPTX
Public Speaking Skills: A Project Manager’s Best Friend
PPTX
Just Think About This - 9 Thinking Modalities to Consider
From Multimedia to Social Media to Augmented and Virtual Reality April 2019
March 2018 STC-PMC Webinar: Millennial Documentation (Presented by Pooja Vija...
Networking for Geeks (by Brian Winter)
The Cost of Doing Nothing (By Suzanne Mescan of Vasont)
Markup For Dummies (Russ Ward)
Why is My Team Failing? (By Christine Loch)
7 Lessons from the Future of Content (By David Dylan Thomas)
Content Marketing Resource List
Managing the MarComm/TechComm Showdown
Effectively Telling Your Story through Content Marketing
Defining New Roles for Information Engineering in the Customer Content Journey
We’re Going Mobile! Great! Wait… What Does That Mean?
GitHub Workflows for Technical Communication
STC-PMC November 2016 Presentation - Mobile First Content
STC-PMC October 2016 Presentation-That's What You Think!
2016 Conduit Program
Video Tools in Tech Writing
UX and Cognitive Load
Public Speaking Skills: A Project Manager’s Best Friend
Just Think About This - 9 Thinking Modalities to Consider

Recently uploaded (20)

PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPT
Teaching material agriculture food technology
PDF
Getting Started with Data Integration: FME Form 101
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
A Presentation on Artificial Intelligence
PPTX
Machine Learning_overview_presentation.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Big Data Technologies - Introduction.pptx
PDF
Encapsulation theory and applications.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Diabetes mellitus diagnosis method based random forest with bat algorithm
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Teaching material agriculture food technology
Getting Started with Data Integration: FME Form 101
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Spectral efficient network and resource selection model in 5G networks
A Presentation on Artificial Intelligence
Machine Learning_overview_presentation.pptx
Network Security Unit 5.pdf for BCA BBA.
Per capita expenditure prediction using model stacking based on satellite ima...
Accuracy of neural networks in brain wave diagnosis of schizophrenia
MIND Revenue Release Quarter 2 2025 Press Release
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Big Data Technologies - Introduction.pptx
Encapsulation theory and applications.pdf
Building Integrated photovoltaic BIPV_UPV.pdf

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 2007 STC - Philadelphia Metro Conference Copyright 2007
  • 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
  • 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. 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
  • 14. Education / Training Opportunities • Programming courses at local colleges • STC conferences / workshops
  • 15. 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
  • 16. Other Resources • MSDN – msdn.microsoft.com • RoboWizard Web site – www.robowizard.com • Flare forums – www.madcapsoftware.com • RoboHelp / Flare Web site – www.grainge.org/
  • 17. Listservers (Yahoo Groups) • STC API – h ttp://groups.yahoo.com/group/svcstcapi/ • API writers – http://groups.yahoo.com/group/APIWriters/ • NetTechWriters – http://groups.yahoo.com/group/nettechwriters/ • HATT – http://groups.yahoo.com/group/HATT/
  • 18. Listservers (Yahoo Groups), cont. • MSHelp 2.0 – http://groups.yahoo.com/group/MSHelp2/ • Eclipse – http://groups.yahoo.com/group/eclipse_tw/
  • 19. Ways to Get Information • Reading the specifications • Using the software • Attending demos • Running automated tools against the software • Providing fill-in-the-blank templates to developers
  • 20. 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.
  • 21. Automated Tools • JavaDoc • DOXYGEN • Others
  • 22. Help Authoring Tools • Flare • RoboHelp – It’s back, as of Jan. 2007 • WebWorks ePublisherPro – for Frame / Word • Doc-to-Help • AuthorIT
  • 23. 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. www.notetab.com $19.95, Lots of other tools here. • EditPadPro has color-coding for custom html tags www.jgsoft.com $39. JG Soft has other tools too such as a PowerGrep tool, Registry editor, and others.
  • 24. Search and Replace Tool Funduc: Will search & replace both folders and zip files. Will also search & replace ASCII and binary files. Some cautions about using it with binary files but my initial tests with Word .DOC files worked fine. www.funduc.com $25 Many other tools here also.
  • 25. File / Folder Level Comparison (Differencing Tools) • Beyond Compare - 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. http://www.scootersoftware.com/ Retail price: $30 • Araxis Merge - Folder and file level comparisons, ASCII and binary http://www.araxis.com/merge/index.html Retail price: $129
  • 26. Determining Which Help Format to Use • Platforms • Browsers • Minimum versions required by your product
  • 27. 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 initially available to us in Vista
  • 28. 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
  • 29. Sample Context ID Mapping for HTMLHelp • Sample .h file entry: // Properties and Methods #define CloseSpeech_PM 2001 • Sample .ali file entry: CloseSpeech_PM=CloseSpeech_Method.htm
  • 30. Summary • Description of APIs / SDKs • Benefits to writers • Drawbacks to writers • Training • Writing considerations (i.e., tools, formats, issues for context-sensitive help)
  • 31. Closing • Thank you. • Questions? Ed Marshall [email protected] 978-339-3095