SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Topic based and structured authoring - slides
Topic based and structured authoring - slidesTopic based and structured authoring - slides
Topic based and structured authoring - slides
Neil Perlin
 

Mais procurados (13)

Css tools and methodologies
Css tools and methodologiesCss tools and methodologies
Css tools and methodologies
 
Lecture 31
Lecture 31Lecture 31
Lecture 31
 
Topic based and structured authoring - slides
Topic based and structured authoring - slidesTopic based and structured authoring - slides
Topic based and structured authoring - slides
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Testing User Manual
Testing User ManualTesting User Manual
Testing User Manual
 
2014 Technical Communication Conference Program
2014 Technical Communication Conference Program2014 Technical Communication Conference Program
2014 Technical Communication Conference Program
 
Dancing for a product release
Dancing for a product releaseDancing for a product release
Dancing for a product release
 
Good Code / Bad Code
Good Code / Bad CodeGood Code / Bad Code
Good Code / Bad Code
 
The 360 Developer
The 360 DeveloperThe 360 Developer
The 360 Developer
 
The OpenOffice.org specification process demystified
The OpenOffice.org specification process demystifiedThe OpenOffice.org specification process demystified
The OpenOffice.org specification process demystified
 
Binary crosswords
Binary crosswordsBinary crosswords
Binary crosswords
 
Dojo Masters - Collaborative Writing in Distributed Teams
Dojo Masters - Collaborative Writing in Distributed TeamsDojo Masters - Collaborative Writing in Distributed Teams
Dojo Masters - Collaborative Writing in Distributed Teams
 
CV Hack
CV HackCV Hack
CV Hack
 

Destaque

All about me version 45 final
All about me version 45 finalAll about me version 45 final
All about me version 45 final
mikiua
 
Kaye prox food bank our families - spring 2014
Kaye prox food bank   our families - spring 2014Kaye prox food bank   our families - spring 2014
Kaye prox food bank our families - spring 2014
ccncinci
 
Nachos practical presentation_3
Nachos practical presentation_3Nachos practical presentation_3
Nachos practical presentation_3
Richi Garza
 
Ashleys Portfolio
Ashleys PortfolioAshleys Portfolio
Ashleys Portfolio
ashholbrook
 
Planability ETI short sign & graphics
Planability ETI short sign & graphicsPlanability ETI short sign & graphics
Planability ETI short sign & graphics
PlanabilityETI
 
PERSONAL NETWORK CJDW NETWORK Okt 2009
PERSONAL NETWORK CJDW NETWORK Okt 2009PERSONAL NETWORK CJDW NETWORK Okt 2009
PERSONAL NETWORK CJDW NETWORK Okt 2009
Web Seo Indonesia
 
8คำกริยา
8คำกริยา8คำกริยา
8คำกริยา
sobandjop
 
Tele2: итоги первого квартала 2014 года
Tele2: итоги первого квартала 2014 годаTele2: итоги первого квартала 2014 года
Tele2: итоги первого квартала 2014 года
Tele2Russia
 

Destaque (20)

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

Semelhante a APIs and SDKs: Breaking into and Succeeding in a Specialty Market

Open Source Tools and the Software Engineering Process
Open Source Tools and the Software Engineering ProcessOpen Source Tools and the Software Engineering Process
Open Source Tools and the Software Engineering Process
Steve Arnold
 

Semelhante a 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
 
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
 
Building a REST API for Longevity
Building a REST API for LongevityBuilding a REST API for Longevity
Building a REST API for Longevity
 
Cool Tools for Technical Writers
Cool Tools for Technical WritersCool Tools for Technical Writers
Cool Tools for Technical Writers
 
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)
 
IWSG2014: Developing Science Gateways Using Apache Airavata
IWSG2014: Developing Science Gateways Using Apache AiravataIWSG2014: Developing Science Gateways Using Apache Airavata
IWSG2014: Developing Science Gateways Using Apache Airavata
 
Punta Dreamin 17 Generic Apex and Tooling Api
Punta Dreamin 17 Generic Apex and Tooling ApiPunta Dreamin 17 Generic Apex and Tooling Api
Punta Dreamin 17 Generic Apex and Tooling Api
 
Ruby on Rails Plugins - Rich Collins
Ruby on Rails Plugins - Rich CollinsRuby on Rails Plugins - Rich Collins
Ruby on Rails Plugins - Rich Collins
 
Code the docs-yu liu
Code the docs-yu liuCode the docs-yu liu
Code the docs-yu liu
 
.NET Recommended Resources
.NET Recommended Resources.NET Recommended Resources
.NET Recommended Resources
 
How To Use Selenium Successfully
How To Use Selenium SuccessfullyHow To Use Selenium Successfully
How To Use Selenium Successfully
 
Introducing systems analysis, design & development Concepts
Introducing systems analysis, design & development ConceptsIntroducing systems analysis, design & development Concepts
Introducing systems analysis, design & development Concepts
 
The Ring programming language version 1.6 book - Part 6 of 189
The Ring programming language version 1.6 book - Part 6 of 189The Ring programming language version 1.6 book - Part 6 of 189
The Ring programming language version 1.6 book - Part 6 of 189
 
The Characteristics of a Successful SPA
The Characteristics of a Successful SPAThe Characteristics of a Successful SPA
The Characteristics of a Successful SPA
 
Publishing API documentation -- Workshop
Publishing API documentation -- WorkshopPublishing API documentation -- Workshop
Publishing API documentation -- Workshop
 
Open Source Tools and the Software Engineering Process
Open Source Tools and the Software Engineering ProcessOpen Source Tools and the Software Engineering Process
Open Source Tools and the Software Engineering Process
 
Presentation 1 Web--dev
Presentation 1 Web--devPresentation 1 Web--dev
Presentation 1 Web--dev
 
compiler construction tool in computer science .
compiler construction tool in computer science .compiler construction tool in computer science .
compiler construction tool in computer science .
 
Foundations of a Successful Developer Platform - DeveloperWeek 2015
Foundations of a Successful Developer Platform - DeveloperWeek 2015Foundations of a Successful Developer Platform - DeveloperWeek 2015
Foundations of a Successful Developer Platform - DeveloperWeek 2015
 

Mais de STC-Philadelphia Metro Chapter

March 2018 STC-PMC Webinar: Millennial Documentation (Presented by Pooja Vija...
March 2018 STC-PMC Webinar: Millennial Documentation (Presented by Pooja Vija...March 2018 STC-PMC Webinar: Millennial Documentation (Presented by Pooja Vija...
March 2018 STC-PMC Webinar: Millennial Documentation (Presented by Pooja Vija...
STC-Philadelphia Metro Chapter
 
The Cost of Doing Nothing (By Suzanne Mescan of Vasont)
The Cost of Doing Nothing (By Suzanne Mescan of Vasont)The Cost of Doing Nothing (By Suzanne Mescan of Vasont)
The Cost of Doing Nothing (By Suzanne Mescan of Vasont)
STC-Philadelphia Metro Chapter
 
Why is My Team Failing? (By Christine Loch)
Why is My Team Failing? (By Christine Loch)Why is My Team Failing? (By Christine Loch)
Why is My Team Failing? (By Christine Loch)
STC-Philadelphia Metro Chapter
 
7 Lessons from the Future of Content (By David Dylan Thomas)
7 Lessons from the Future of Content (By David Dylan Thomas)7 Lessons from the Future of Content (By David Dylan Thomas)
7 Lessons from the Future of Content (By David Dylan Thomas)
STC-Philadelphia Metro Chapter
 

Mais de STC-Philadelphia Metro Chapter (20)

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

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

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 ed.marshall@verizon.net 978-339-3095