Untitled
Untitled
an API
Fine-Tuning Developer Relations &
Platform Advocacy
Nordic APIs
© 2016 - 2022 Nordic APIs
Contents
Supported by Curity . . . . . . . . . . . . . . . . . . . . . i
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii
Review . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Endnotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
CONTENTS i
Supported by Curity
Nordic APIs was founded by Curity CEO Travis Spencer and has
continued to be supported by the company. Curity helps Nordic
APIs organize two strategic annual events, the Austin API Summit
in Texas and the Platform Summit in Stockholm.
Curity is a leading provider of API-driven identity management
that simplifies complexity and secures digital services for large
global enterprises. The Curity Identity Server is highly scalable, and
handles the complexities of the leading identity standards, making
them easier to use, customize, and deploy.
Through proven experience, IAM and API expertise, Curity builds
innovative solutions that provide secure authentication across mul-
tiple digital services. Curity is trusted by large organizations in
many highly regulated industries, including financial services, health-
care, telecom, retail, gaming, energy, and government services
across many countries.
Check out Curity’s library of learning resources on a variety of
topics, like API Security, OAuth, and Financial-grade APIs.
Follow us on Twitter and LinkedIn, and find out more on curity.io.
Preface
From Hello World to Hello Developers
New public APIs hit the market all the time and behind these
APIs sit a myriad of different companies and organizations; indi-
vidual developers, startups and established businesses who have
concluded they need a public API program in order to better serve
their audience. Doubtless these new API providers will all have
different ideas on starting a public API program, the implications
for their business, and what their future plans for expanding or
enhancing their API entail. In this chapter we’ve drawn together 5
tips for starting a public API program, with some advice on what
to consider when you go from zero to a production API deployment.
Starting a public API program is a massive topic. For the sake of
Building from the Ground Up: Tips for Starting Your API Program 3
1. Initial build out of the MVP with internal private testing only;
2. Offering the MVP to a select audience of existing customers
or partners who have the potential to become consumers of
your API;
Building from the Ground Up: Tips for Starting Your API Program 6
In order to get the most value in your goal of offering a public API
the MVP should be comprised of a number of things:
Act on Feedback
• Revisit the design of the API and ensure it’s updated to reflect
any feedback on usability;
• Ensure you listen to reasonable customer demands for dif-
ferent encoding types: The majority of new APIs use JSON
as their encoding of choice, but if it makes sense to provide
the data as XML because the majority of your potential
API consumers prefer XML for legacy reasons you should
consider it;
• Ensure the rate limits and throttling you introduced with
your MVP can realistically be sustained when higher usage
is applied;
• Tweak your conditions of use to ensure you address your
target audience correctly, giving your API consumers terms
they are happy to commit to, but also allowing business to
sustain as your API grows.
Final Thoughts
The tips we’ve drawn together in this chapter should help shape
your thinking if you are considering starting a public API program.
However, every business or organization’s circumstances and mo-
tivations are unique, so most importantly trust your gut instincts.
APIs are a great method for taking products to market, so trust your
own judgement and use what advice you can from this post to help
make your public API program a reality.
Define Your Target
Developer Audience
• …and more.
view API documentation? More often than not, their needs are
excluded. There is a lack of high-level summary and sample use
cases to inspire non-technical minds — this experience is often non-
existent.
Krohn believes that Developer evangelism should rather be End
User Evangelism. As Krohn says, “be aware of who you are includ-
ing or excluding, and make it a conscious decision.” Think you know
your target audience? that may soon change.
Technology Preferences
Developers have varying technological specializations, focusing in
different programming languages, attracted to certain protocols
over others, and coming with a unique history using specific tools.
So, how critical is it to consider these concerns when marketing an
API?
Developer Experience
The presentation of developer facing material is paramount to suc-
cess in the space. According to Mike Kelly, “providers may see the
best growth opportunities in customer acquisition and activation by
developing tutorials, improving documentation, exposing sandbox
environments, tailoring the API design to specific use cases.”
API providers can use tactics to help acquire developers, increase
onboarding efficiency, and maintain user retention by appealing to
the tastes and needs of the audience. Stellar reasoning behind creat-
ing quality developer experience can be found in John Musser’s “10
Reasons Why Developers Hate Your API.” Harking back to Andreas
Krohn’s stance on the need for increased inclusion, API experience
should also consider the entrepreneur experience, the manager
experience, and the designer experience. In that spirit, embrace
developer language, but also cater content, appearance, UI, and
UX to your audience. According to Kelly, “developer experience is
the most important metric of quality for an API. It’s vital.”
assume the product will be used, but too often, marketing is either
too slim or inefficient, leading to a low adoption.
Developer Relations
Developer Program
Maintaining DX means having a holistic product approach to
APIs; part of this means forming an internal product team, with
the responsibility of API program upkeep and marketing. Tuning
into consumer feedback is important, but Phillipp also believes
that “if providers ‘eat their own dogfood’ they usually experience
the caveats and hurdles of their offering quite fast.” ### Devel-
oper Segmentation, Targeting and Positioning We’ve seen how
the developer consumer market has diversified in recent years. As
with any product, the right segmentation needs to be considered.
This involves an intimate understanding of your consumer and
where they fit within the API economy. How you target specific
developers depends on the market and audience:
Finland.
• Utilize API Model Canvas to craft a business model for APIs
needed.
• Describe API with design driven language such as RAML or
Swagger.
Final Thoughts
There are many theories on API business modeling; the Nordic
APIs philosophy of API practice involves 6 core tenets, for exam-
Developer Experience is a Key Ingredient of Quality APIs 29
calls, and manage their account via some sort of dashboard. Many
management solutions in the API space have built-in developer
portals with these sort of functions, but if you were constructing
a quality presence yourself, what key factors would you make sure
not to leave out?
So, for this chapter we compared 10 successful public API programs
to see what attributes their developer centers have in common,
and distilled this research into seven main ingredients providers
should prioritize when creating a developer center. Whether or not
your API is free, monetized, or strictly B2B, all these items are going
to hold true for any usable kit.
Authentication Guide
All quality platforms dedicate time to explain the authentication
mechanisms required to access the API. Too often, authorization
Ingredients That Make Up a Superb Developer Center 34
relies solely on API keys, but as we’ve explained before, API keys
shouldn’t be a sole reliance when it comes to platform security.
Likely, your API will be using OAuth or a combination of OAuth
and ID tokens. After the client has registered their application, this
process enables an app to authenticate a user on their behalf. Most
platforms create a unique guide to OAuth 2.0 for developers unfa-
miliar with the workflow. Overview the token exchange process in
your own words or refer them to other OAuth resources for more
information.
For example, Spotify has a very detailed Authorization Guide
acting in tandem with their onboarding process. Some developers
interacting with end users will require varying scopes of autho-
rization to be granted, all of which flows should be document in
a digestible manner.
Ingredients That Make Up a Superb Developer Center 35
API Documentation
The reference is by far the focal point for all API developer centers.
Endpoint documentation is the main tool developers will have
in understanding precisely how your API behaves. A common
approach for structuring readable documentation is a 3-columned
arrangement: endpoint on the left, example call in middle, and
sample code in various languages on the right hand side.
These specs describe each resource accessible with an HTTP verb
Ingredients That Make Up a Superb Developer Center 36
(GET, POST, PATCH, or DELETE) in technical terms but also offer human-
readable description. This means outlining the following:
Testing Environment
The next pixel in our image of the perfect API involves having a
demo of API functionality so that prospective users can instantly
understand how the API behaves. This is often an interactive
console where sample HTTP requests are made to mock endpoints.
Spotify, along with many APIs in existence, offers such an interac-
tive API console accessible even before registration.
Ingredients That Make Up a Superb Developer Center 37
Developer Resources
Developer resources are additional tools that aid the API inte-
gration experience. This includes code tutorials, sample code,
or Software Development Kits for integrating an API in the
programming language or OS of choice.
Ingredients That Make Up a Superb Developer Center 38
Alchemy API, for example, has specific guides for consuming their
REST API in Python, PHP, Ruby, and Node.js. Often community
maintained libraries emerge to consult programmers in their lan-
guage of choice, but taking ownership of the unique cases where
users interact with your REST API from the onset establishes trust
— maintaining your own code libraries and workflows helps ensure
consistency across the platform.
Support Channels
Great support is a crucial and all encompassing tenant to many
successful API programs. Below we categorize the type of support
offered by starling developer centers into two groups: status chan-
nels, and human support.
Human Support
Static pages can be useful, but when was the last time an FAQ actu-
ally catered to your unique technical dilemma? The best developer
portals offer instant help through human-human support methods.
We write a lot on developer relations, and for a good reason;
increasing the positive experience a developer has with your API
is absolutely paramount. It’s no wonder that active engagement on
Stack Overflow, a Google Group, Developer Twitter handle, and
of course a Developer email are tools used by most on our top 10
list. Surprisingly still, many big name APIs could do their developer
relations a lot better if they embraced instant chat windows with
provider support representatives.
Platform Policy
Have. A. Readable. Terms. of. Use. Period.
Yes, platform policy legalize in this setting will likely be lengthy. Let
the lawyers do their bidding, but when they’re finished, summarize
the main Restrictions and allowed API use cases in a bulleted list
that users will actually read.
Another thing well-established developer centers do well is protect-
ing their brand identity — in fact, extending brand image may be
the sole business advantage to exposing a free API. Brand guide-
lines often specify required conditions for naming, logo placement,
color pallette, and more. Spotify, for example, even specifies the
padding between their logo and app foreground space to ensure
their identity is spotlighted.
sample apps that are already using your API in the live establishes
credibility, acting as testimonials. Uber does both well, with hypo-
thetical example integrations and live apps as samples:
Final Thoughts
These seven concepts are arguably the bread and butter to sus-
taining any developer user — the building blocks to creating a
consumable API. Of course every SaaS business will have it’s own
requirements that will require a unique perspective.
What other ingredients must your public-facing developer portal
have? If you are implementing these seven general concepts, than
you will likely require some sort of account dashboard for account
management like billing and usage monitoring. For all the ingredi-
ents mentioned, carefully worded page descriptions using targeted
Ingredients That Make Up a Superb Developer Center 42
keywords can help optimize your API home page, making it more
discoverable for search engines.
In this study we reviewed what some of the developer darling API
programs have already done to structure their service — but your
case is unique. Prioritize what tools your unique consumers need,
and build out intelligent developer centers that both inform and
inspire creativity.
Crafting Excellent API
Code Tutorials that
Decrease On-boarding
Time
• Creating an application.
Armed with this information the developer should have the neces-
sary context to start exploring the API in detail.
inclusive and address the majority of audiences; not just those with
skills and capabilities to decipher the important information from
the code.
Rather, help users understand the code with a series of explanatory
statements accompanied by code snippets which build up a com-
plete picture of the API integration from nothing to a successful API
call. The snippets need not amount to a working application, but if
all were pulled together they should amount to something close to
a working package, class or script (depending on the technology
you’re using in the course of the tutorial) — building towards the
complete solution discussed in the next section. Developers with
more advanced skills are obviously welcome to skip the exploration
section and go on to the completed solution.
The snippets themselves should exhibit a number of important
characteristics:
Creating an Application
The final step in a building a great tutorial is bringing what you’ve
explained to life by creating an application that a developer can
actually run. Depending on the depth and detail of the solution
itself this could be a simple code snippet, gist, GitHub project, or a
Docker image that can be executed with minimal effort on the part
of the developer. Naturally you are not going to walk through the
Crafting Excellent API Code Tutorials that Decrease On-boarding Time 48
Final Thoughts
We’ve explored what makes a great API tutorial and have high-
lighted the core themes that make it easy for your developer
community to comprehend and digest the key information about
your API.
It goes without saying that not every API tutorial will exhibit
everything discussed here; however, if you focus on the points
raised you should succeed in creating a compelling narrative that
not only holds the reader’s interest but does meet the goal of
decreasing the time it takes to on-board into your API program.
What is the Difference
Between an API and an
SDK?
Define: API
Define: SDK
Part of the confusion behind the difference between APIs and SDKs
is the fact that, more often than not, an SDK contains an API. In
geometry, “rectangles” is inclusive of both rectangles and squares,
whereas “squares” is inclusive only of squares.
What is the Difference Between an API and an SDK? 52
Examples
Luckily, we have a great example of the difference between an API
and an SDK in the Facebook suite of solutions. Because this suite
provides tools for both active users and developers, it includes both
an API and an SDK, each with different functionalities and use
cases.
Facebook APIs
1 GET graph.facebook.com
2 /me?
3 fields=albums.limit(5){name, photos.limit(2){name, pi\
4 cture, tags.limit(2)}},posts.limit(5)
Here we see a sample API issuance. In this call, the API is used
to request a user’s photo, the URL the photo generates, and all
the people tagged in the photo. While this is a rather simple use,
consider the possibilities — a restaurant manager or even host could
use this API call to generate a list of users in a photo shot at a
specific engagement, generating a list of social accounts they can
reach out to for further publicity or promotion. Try doing that
without the API!
Graph API isn’t the only API in town, either. Facebook also
provides the Marketing API, designed specifically to allow brands
What is the Difference Between an API and an SDK? 54
1 use FacebookAds\Object\AdSet;
2 use FacebookAds\Object\Fields\AdSetFields;
3 use FacebookAds\Object\Values\BillingEvents;
4 use FacebookAds\Object\Values\OptimizationGoals;
5
6 $adset = new AdSet(null, 'act_<AD_ACCOUNT_ID>');
7 $adset->setData(array(
8 AdSetFields::NAME => 'My Ad Set for oCPM',
9 AdSetFields::BILLING_EVENT => BillingEvents::IMPRESSION\
10 S,
11 AdSetFields::OPTIMIZATION_GOAL => OptimizationGoals::LI\
12 NK_CLICKS,
13 AdSetFields::BID_AMOUNT => 150,
14 AdSetFields::CAMPAIGN_ID => <CAMPAIGN_ID>,
15 AdSetFields::DAILY_BUDGET => 1000,
16 AdSetFields::TARGETING => array(
17 'geo_locations' => array(
18 'countries' => array(
19 'US'
20 ),
21 ),
22 ),
What is the Difference Between an API and an SDK? 55
23 ));
24
25 $adset->create(array(
26 AdSet::STATUS_PARAM_NAME => AdSet::STATUS_PAUSED,
27 ));
In this example, the Marketing API has created a campaign that can
be bid upon under constraints set up by the campaign budget values.
This dynamic bidding makes for a very powerfully optimized
system that captures the highest-value impressions and establishes
a value that makes sure the ROI ratio of input to expense isn’t
exceeded.
A dynamic bidding system allows for the best return on the dollar
— this is the power of a properly crafted API, allowing for complex
interactions and manipulations above and beyond what any portal
or internal page could deliver on its own.
Facebook SDKs
We can see the main difference between SDKs and APIs in their ex-
pressed functions. While the previously mentioned APIs are clearly
designed for interaction between applications and campaigns or
other applications, the SDKs provided by Facebook are clearly
designed for the creation of these applications.
Let’s look at the Facebook SDK for iOS. Designed specifically to
allow for the development of Facebook applications for iOS, the
SDK is fully featured, allowing for a multitude of functions to be
defined and called.
As a basic example, the following code snippet is from the SDK
reference guide for iOS:
What is the Difference Between an API and an SDK? 56
1 // AppDelegate.m
2 #import <FBSDKCoreKit/FBSDKCoreKit.h>
3 - (void)applicationDidBecomeActive:(UIApplication *)appli\
4 cation {
5 [FBSDKAppEvents activateApp];
6 }
1 FB.ui({
2 method: 'share_open_graph',
3 action_type: 'og.likes',
4 action_properties: JSON.stringify({
5 object:'https://developers.facebook.com/docs/',
6 })
7 }, function(response){
8 // Debug response (optional)
9 console.log(response);
10 });
This code creates a share dialog that pops up over the application
page when an action is performed, and publishes an Open Graph
action which can then be tied into the greater ecosystem and used
to generate complex relationships and metric data.
With this basic understanding, and a few key code examples, the
difference between SDKs and APIs should now be obvious.
Developer Resources:
SDKs, Libraries, Auto
Generation Tools
1 uri = URI.parse(‘https://auth.api.rackspacecloud.com”)
2 http = Net::HTTP.new(uri.host, uri.port)
3 http.use_ssl = true
4 http.verifiy_mode = OpenSSL::SSL::VERIFY_NONE
5 request = NET::HTTP::Post.new(‘/v1.1/auth”)
6 request.add_field(‘Content-Type’,’application/json’)
7 request.body = {‘credentials’ => {‘username’ => ‘username\
8 ’, ‘key’ => ‘key’}}
9 response = http.request(request)
Data Problem
API providers also need to embrace conventions, and consider what
data formats are being used. For example, when you have to send
dates, what date standard are you using? Perhaps your service
uses a different log than base 10. When users are browsing your
documentation, they need to understand it in the scope of their
own languages.
This is where helper libraries come into play. Just exposing an
HTTP resource is fine, but we need to give developers a bit more
help. For example, using a Ruby gem for the Twitter API:
Developer Resources: SDKs, Libraries, Auto Generation Tools 61
This simple code found on Github initializes the helper object, and
uses it to send a tweet “I’m tweeting with @gem” to Twitter —
library. It handles everything we don’t want to care about.
1. PHP
2. Python
3. Ruby
4. .NET / C#
5. Java
6. Perl
7. ColdFusion
8. Node.js
9. ActionScript
1 curl/7.31.0
2 PHP_Request/curl-7.15.5
3 Java/1.6.0_31
There are some languages in the world that are tough to master and
for your average application developer none more so than Legaleze,
a language so inaccessible that only a learned few can speak it
fluently. The diction and terminology is generally so difficult that
most don’t even attempt to learn: When presented with an API’s
terms of use or platform policy, most developers simply click ‘I
accept’ and get on with coding.
OK, so this description of the language found in legal documents is
meant to be tongue in cheek, but it’s amazing how organizations in
general expect non-lawyers to make informed decisions on whether
or not they can accept lengthy terms of use. Deciphering such
documents often involves collaboration between a lawyer and a
software developer, which is less than ideal given there is room
for error or misinterpretation as one attempts to inform the other
(lawyers who are also software specialists being a rare, expensive
commodity). There are even websites such as Terms of Service;
Didn’t Read dedicated to evaluating the terms of use of major web
apps to help users combat what TOSDR calls “the biggest lie on the
web.” Failing to digest the small print correctly could result in the
organization falling foul of a clause in the terms of use that could
be passed on directly to their customers.
The blind acceptance of an API’s terms and conditions presents
A Human’s Guide to Drafting API Platform Policy 68
Key Themes
Nearly every API provider publishes one or more legal documents
that define the terms and conditions under which their API can be
used. These documents can include any of the following:
• Terms of Use;
• Privacy Policy;
• Terms of Service;
• Cookie Policy (for a developer portal).
• Defining responsibilities;
• Setting expectations;
• Describing good behavior.
Given the realities of legal systems it’s difficult to make these points
bubble up to the attention of the developer (as Stripe reflects upon
in their terms of use. However, it’s paramount that these themes
are drawn out to pique the interest of the API consumer and ensure
they’ve either consciously accepted the terms and conditions they
are signing up to, or have drawn it to the attention of their
organization’s legal team.
Defining Responsibilities
Almost all legal documents start with a definition of the responsi-
bilities of all the parties involved in the contract and API platform
policies are no exception. A traditional legal contract will contain
several sentences with prescriptive definitions of terms like ‘You’
and ‘Us’: If possible, keep these terms in core legal documentation
but summarize the key points with sufficient brevity to keep the
reader’s interest. The level of brevity required is demonstrated
well by Instagram, who use a numbered General Terms section to
clarify for the API consumer what they absolutely need to know
whilst keeping the more lengthy terms of use in the background.
It’s important to “dumb down” the key points in this way to
highlight the responsibilities that have the greatest impact on the
API consumer. As we’ve seen before, Instagram actively pursues
taking down consumers who breach their terms, therefore they
phrase their agreement in plain English to ensure consumers know
exactly what they can and cannot do with the Instagram API.
A Human’s Guide to Drafting API Platform Policy 70
Setting Expectations
Once a clear map of responsibilities is created, the API platform
policy should then describe what the API consumer should expect
of the API provider. Setting expectations is synonymous with a
service-level agreement, but again the goal should be to define
it such a way as to make it straightforward for the API consumer
to digest. This is almost the most important part of the policy, as
the API consumer may need to pass these expectations onto their
customers: If an API provider defines the availability of their API
as being 99%, for example, this implicitly becomes part of the terms
and conditions between the API consumer and their customers.
It would be easy to create a huge compendium of the aspects that
API providers should take account of when setting expectations,
but a brief list would include:
Now that we know what to expect of the API provider, the final
step is to define what is expected of the API consumer. This next
part describes what is acceptable and not acceptable behavior, and
communicates the actions the API provider might take should these
good behaviors not be observed.
A Human’s Guide to Drafting API Platform Policy 71
Application Behavior
Consumer Behavior
While application behavior can be coded, ensuring good API con-
sumer behavior is a bit more tricky: It involves a human being
making a decision about how they are going to use an API that
may not concur with the terms of use defined by the API provider.
Consumer behavior generally (but not always) comes as a result
of a business decision and should not be made in isolation by a
software developer but in conjunction with the product’s legal and
commercial teams.
The majority of humans are generally subjective in their points of
view, so it helps if API providers are prescriptive in what an API
consumer can and can’t do with their API with a summarized list
in the manner of Stripe. API providers can take breaches of their
terms of use very seriously, as with the 9 month take down of
Politwoops by Twitter showed: It’s therefore important for both the
provider and the consumer to be 100% clear on both the definition
of consumer behavior and the consequences of not observing it.
Final Thoughts
Making an API policy interesting, relevant and to the point is a goal
that any API architect or product manager should take seriously.
Whilst the lawyers will always have their day in wrapping up your
policy in jargon, you should actively shape the output, ensuring the
key points are easy to digest, understand and act upon. If possible
reflect the following in your policy:
Taking this action can only make your API more accessible to
the developer community: As the API economy continues to grow
with increasing competition between different API providers, such
an approach can only, prima facie (as the lawyers would say
:smirk:) help develop competitive advantage for your API in the
marketplace.
Creating A Brand Guide
for Your API Program
What you let others do with your image is just as important as what
you let them do with your API.
Hosting a free-to-consume public API is a powerful tool for expand-
ing your functionality and branding into entirely new networks.
But many programs lack comprehensive and digestible guidelines
to protect their brand. Without a developer Branding Guide you
leave your company name, product name, logo, style, and message
open for reproduction in untasteful or even illegal ways.
For free APIs, data and functionality is given to third party de-
velopers to integrate into their apps in exchange for outsourced
R&D and increased marketing. Attribution is commonplace, and
at times desirable for third party applications as it helps establish
their credibility with end users. Therefore, most platforms establish
some sort of branding guideline for the API consumer to follow
based on their platform policies. This is unique from a press kit or
internal design style guide as it is developer focused — similar to a
partner or affiliate marketing guide — making it an important asset
to carefully prepare and maintain.
In this walkthrough, we’ll lay out typical brand guidelines that
providers offering a public API should use to ensure their company
logo, style, and message is reproduced in the best way possible on
third party channels. It’s ok to be specific throughout, as specificity
will help your developers in the long run.
Creating A Brand Guide for Your API Program 75
Message
Naming
Attribution
If the API provider’s brand must consistently accompany third
party app behaviors, be explicit in its implementation. Should
branding link to the API provider’s home page at all times? Re-
member when, where and what:
The Logo
For your logo, consider adding stipulations for your branding guide
like:
If you have logo variations, note which is the best possible brand
representation. Logotypes are most accurate and should be used
whenever possible, but icons/glyphs are acceptable after brand has
been established or if there is limited horizontal space in the UI.
Make sure to note that it’s not acceptable to alter the logo in any
way. Embellishments like drop shadow, distortion, or clip masking,
as well as inserting the logo in front of busy backgrounds or
complex patterns should all be discouraged. So that the logo still
Creating A Brand Guide for Your API Program 80
remains visible with bright and dark backgrounds, have both a col-
ored, white, and grey/monochrome logo matching your platform’s
color scheme. It’s pretty easy to dream up of some hideous logo
misuses:
Exclusion Zone
What are the colors used within your logo and throughout your
branding? Represent your default logo color for a light background,
and preferred color for a dark background, and list the specific
color hexadecimal as well as RGB, CMYK, and Pantone indicator
for each. Our hypothetical API, for example, has a nice evergreen
color. Similarly, note the font used on your logotype, headings, and
in body text for your general communications.
Creating A Brand Guide for Your API Program 82
Brands take time to choose the right colors that match their service
image. Unfortunately though, considering the varying browser
color settings and screen calibrations across thousands of different
devices, it’s hard to match colors exactly. Therefore, have fall
back color options for devices or screens with less optimized
color grading. As long as your identity is obvious and color not
significantly distorted, you should be fine.
Creating A Brand Guide for Your API Program 83
Lastly, package your assets in .ZIP file and ensure you have enough
color variants and transparent images that can be used against
various backgrounds. Remember, keep it lightweight (each image
file size should be no more than 1000 KB) and offer an array of file
formats (EPS, PNG, PDF) and color scales (RGB, CMYK, PMS).
Final Thoughts
Maintaining consistent platform-wide branding for a company is
hard enough as is. Extending that image to social channels can
be tricky, and retaining identity within a third party developer’s
application is even more difficult.
In this chapter, we’ve outlined a step-by-step process to create your
own API branding guide, modeled after some of the best programs
in existence. As spreading platform brand awareness to as many
eyes as possible may be a primary objective for a public API, the
importance of defining these guidelines cannot be overestimated.
Use this cheat sheet as inspiration for your own program, but at the
end of the day, you control your branding, how it is represented and
where it is present in the developer’s app. Learn from the developer
relations missteps of Instagram and Twitter; if you plan on releasing
an API with branding restrictions, do so carefully and in a really
transparent way.
Creating A Brand Guide for Your API Program 85
• Spotify
• Zillow
• Dropbox
• Orange
• Slack
• TokBox
• Walkscore
• NYTimes
Part Three:
Promotion
Build it and they will come is certainly not the case in the API
world. If you are managing an API program and seeing little to no
adoption, then perhaps you haven’t framed your service correctly.
Hopefully, the functionality is awesome, but perhaps your devel-
oper portal is lacking in usability or the API is not easily discover-
able. Launching an API without having it drop dead in the water
means having a strategy to get on the radars of relevant developer-
attended networks.
We must reiterate that focusing on technical details is simply not
enough. Treating an API as a product means giving it a marketing
arsenal the same as for any product launch. So what do successful
programs do? On top of having a working program, they planned,
they participated, and they got the word out. This chapter walks
through a general approach for releasing an API, many of which
points will be expanded in following chapters.
What do I release?
Are you looking for alpha or beta users to help give feedback? Will
you open source components in order to have a community partici-
pate in designing your API? Or will you have a more authoritarian
hold on your product and wait for a full release? In our world of
Perfecting Your API Release 89
Have a Demo
Realizing your business acumen off the bat can improve how you
market your API. Giving visitors a taste of functionality through
sample calls or API playground is absolutely neessary if you expect
your product to compete for their time.
Keyword Frequency
Let’s take a deeper look into why Aylien performs so well in this
test search. The site copy isn’t the only thing performing well, the
URL http://aylien.com/text-api specifically contains two of our
keywords — “text” and “analysis.” Though Aylien supplies different
services (two APIs, apps, and publisher tools), they have separate
home pages for their two API services — Text Analysis API &
News API. Separating service presences with dedicated developer
centers that use simple, targeted URLs is a boost to SEO. This is
necessary for API suites that cater to many specific services, such as
Microsoft’s Cognitive Services — a library of artificial intelligence
APIs. The BarChart on-demand financial market data platform
takes this even a step further, isolating the public documentation
of each API parameter onto unique URLs.
Tips to Make Your API More Discoverable 94
Separate homes pages for your multiple APIs helps organize site
architecture, and widens your content impact to take advantage of
specific focus keywords, opening you to a wider net of searches.
Home pages per service also allow a space to introduce technol-
ogy to non-developers — a good example is the Pitney Bowes
Developer Hub — for each individual API they have a page with
detailed copy, and an accessible video that communicates the value
proposition for the specific function.
Don’t push the segmentation of actual documentation too far
though, or you risk a decrease in usability and developer experi-
ence.
This may seems obvious, but choosing the correct product name is
crucial. An API-centric company promoting a single product has
the benefit of tying niche functionality into a single brand image —
Wit.ai, for example, uses the Artificial Intelligence acronym (AI)
within their name and domain extension. However, larger tech
companies must partition multiple brand identities under one roof,
thus increasing the importance of targeted product naming and
service identity.
affair. Potential users must consider things like licensing costs, rate
limiting, data formats, usage policies, authorization methods, and
documentation types, and then must experiment with actual code
implementation and testing before deciding on a single service to
use.
Bruno Pedro, API specialist and co-founder of Hitch hq, sees the
entire process of API discovery as thus:
At the very end of all this searching and testing, there’s no guaran-
tee they’ll even find the right match. So, the question is, how can we
automate certain parts of this discovery process to make finding the
right service more easy?As we’ve outlined before, solutions exist
to automate Code Generation, and there are many API monitoring
solutions on the market as well.
But the other points are not as easily automated.
The hope is that by creating machine readable and consumable
meta format for describing APIs, machines can easily understand
what an API is capable of doing, and can describe the human-facing
documentation, the price, signup process, authorization mecha-
nism, endpoints, and more. That’s where APIs.json comes in — a
project that hopes to combine these items into a single format to
make all APIs more discoverable.
Tips to Make Your API More Discoverable 96
APIs.json
The open APIs.json format, supported by 3scale and API Evangelist,
is an emerging format for describing API operations to increase the
chance of automated discoverabiltiy by software robots. The idea
is novel because it is the first approach to standardizing an API’s
operational metadata.
Ok. Now we have a good take on refining brand identity and copy.
Next is making sure that your API is represented in the following
directories so that developers using resources other than Google
are able to find them. We don’t have any numbers on site traffic for
these sites, but as submitting profiles is a relatively easy process, it
seems worth it to increase the online visibility of your API.
ProgrammableWeb
ProgrammableWeb is the best site to follow for new API releases
and to search for APIs. If you want to target developers who are
looking for a tech like yours, this is a great first stop. What makes
ProgrammableWeb great is that they are pretty open to featuring
content from the community. There are a few things you can do on
their site:
Mashape
APIs.guru
Now, the next two aren’t exactly API directories, but smart to
consider as part of a promotion strategy for web apps that have
APIs.
IFTTT
If This Then That (IFTTT) is a platform where users can set triggers
between web apps — if one thing happens in one app it will
influence a function on another app. The cool thing is that IFTTT
does accept requests to build a new channel on their platform if
your app has a public API. If you want to get your functionality
and branding in front non-developers, this could be a good outlet:
Zapier
• TechCrunch
• TheNextWeb
• InfoQ
Important Press Networks and Developer Channels in the API Space 103
• Vision Mobile
• Gigaom
• Gizmodo
• Computerworld
• GeekWire
• Wired
• VentureBeat
• ZDnet
• Cnet
Social Bookmarking
• Product Hunt
• Reddit
API Events
Curated by Matthew Reinbold of VoxPop.co, webapi.events cata-
logs all upcoming API events, meetups, or conferences around the
Important Press Networks and Developer Channels in the API Space 104
process.
There are evidently best practices for owning your Product Hunt
presence and utilizing the community as a means to announce
a release. Thus, in this chatper we review some success (and
horror) stories from past releases on Product Hunt. We’ll interview
folks from Sheetsu, Batch.com, and Flutterwave about their API
launches, and also tune into past campaigns from API Plug, API
Castor, Deepgram, and others. We’ll use these collective experi-
ences to arrive at ideas on how to correctly prepare for your own
future release. Though we’ll focus on the unique qualities of API
evangelism, the same general roadmap can be followed by other
types of startups creating a Product Hunt campaign.
visiting your website might not have an idea how to use the
API you are providing. It’s always a good idea to prepare an
easy tutorial for them, with screens if needed, to help them
configure and use your API.”
• Prepare easy signup process and retain emails: Prepare for
the surge of interest by creating an easy way to collect emails.
The most clean way to do this is without those pesky email
confirmations.
• Have a ready-to-use demo: “PH submission is a chance for
you to demo your product to many people. Make your demo
short, easy and preferably with your user’s data, so it’s more
appealing to them. With that, they can see value instantly.”
Most landing pages welcome the visitor with a cat wearing Google Glass
Or, API Plug’s Product Hunt referral page offers a 20% discount and
$25 Credit from Digital Ocean Digital Ocean:
In Batch’s case, the team opted for the Exclusive access using a
dedicated landing page, which gave the community early access
for 24 hours. This preparation took a bit of planning for the team;
and required “managing individual sub-access accounts, handling
redirects, and ad-hoc design integrations)”, but they found that it
helped grant more control on launch day, and enabled them to work
more closely with the Product Hunt team to schedule their launch.
Since any member can post to the site, this sort of potential
is always there. Horror stories aside, the moderators are pretty
understanding, and have allowed teams to submit again in the past
to get the traction they deserved. If this happens when you’re not
already a member, tweet at @ProductHunt and they’ll likely give
you access.
Resources
PH Campaigns mentioned:
We’ve covered the many ways to improve API usability with things
like content negotiation, hypermedia, API gateways, Mullet-in-the-
back architecture philosophy, and much more. To be agile, API
programs must balance simplicity and complexity, have ongoing
testing, and always be compiling feedback from users on how to
improve.
Proper design is unique to the service and thus complex to define
— but you know bad design when you see it. Evangelists need to
evangelize the best version of their product not only externally, but
internally as well.
As with any technical product, support channels must be in place
to aid onboarding. A good dev center and documentation should
answer most of this, but the best evangelists will jump on a call to
quickly aid a developer user to success.
Evangelism vs Advocacy
There is arguably enough of a difference between the job roles of
an ‘evangelist’ and ‘advocate’ to make certain distinctions.
In the proposed 5 level maturity model for developer relations,
advocacy is at the top, defined as a two-way dialogue in which de-
veloper support and gathering feedback is paramount. In the same
hierarchy, evangelism is a rung below, and consists of attending
conferences, explaining, and the like.
Writing on his personal blog, ex Pusher advocate Phil Leggetter
analyzes the dev relations mission statements for Google and
Twilio. Using these cues, Leggetter built the DevRelOMeter, a
cool tool that will tell you if your team is actually performing
evangelism (awareness & aquisition) or advocacy (product support
& retention).
Day in the Life of an API Developer Evangelist 129
Q&A Section
Conclusion
The actual tasks an API evangelist performs will often fluctuate,
especially as roles are blurred in the startup world, as Rush points
out above. Arguably, openness and transparency triumph in the
position. If you are going to have an active voice in the developer
community, it definitely helps to integrate these core ideals into
your presence.
At the end of the day, API programs want apps to flourish —
meaning that evangelists are only successful when the developers
they support are successful. Phil Nash, developer evangelist with
Twilio, framed it well when he told us:
Interviewees:
Thank you to our interviewees for participating in this Q&A! We
didn’t intend to be exclusive with our panel, and hope we get the
chance to talk with other API evangelists and advocates on the topic
in the future.
This does run a rather significant risk, however — when’s the last
time a consumer received a casual cold-call and said “oh, thank
you, that’s great, we will absolutely use your service”? The fact
is that poorly formed initial discussions and pushy sales methods
can do more harm than good, so these relationships should be
somewhat casual in nature, framed within the concept of one
developer helping another. A great example of this is the “cold
response” when signing up for an API. Seeing a “personal message
from the co-founder” that is obviously automated is one of the
worst symptoms of this situation.
While this might seem ineffective, you will always find more
success and goodwill in the concept of “one dev helping another”
than you will in the concept of “I have a great product to sell you”.
The other approach is one of indirect marketing, also referred to as
“word of mouth”. Creating a stellar online presence publishing blogs
pertaining to the industry, showing new, experimental projects, or
even just sharing partners that you think are amazing can do a lot
to link the brand of the API provider with the success of the referred
products.
This is not to say that online portals should be an advertisement
— reputable testimonials are definitely helpful, but something like
“I’m Kristopher Sandoval, and when I generate API documentation,
I use DocuGen” simply comes across disingenuous, and could do
more harm than good.
Instead, offer solutions — post chunks of code you find interesting,
or platforms that you think others could use, and tie them into
your API, framing it as a “portal to great solutions”. If you open
these channels of communication, when developers come looking
for solutions, they will find you.
A quick note on email and social media responses — this is not
a one-sided conversation. When you are tweeted at, commented
on in YouTube instructional videos, contacted via email, etc., you
must respond in a timely, professional manner. Networks live and
How to Offer Unparalleled Developer Support 138
While this certainly adds a great deal of control over the resultant
documentation and the community the uses it, it has several
drawbacks. The first and most prominent is the added stress upon
the API provider. While basic documentation is a core requirement,
documenting every solution to every problem that might or might
not arise in an infinite number of situations is daunting, and
borderline impossible.
Just as important is the fact that documentation from the developer
will often come from those who wrote the code, and at time, can
be too technical in nature. Writing documentation for machines
is an unfortunately common mistake — especially when human
readability is the ultimate goal for most of these projects.
While having good error reporting, syntax, style constraints, and
documentation codes can do a lot to help in this regard, the undue
stress is simply too massive for most API providers.
The second train of thought is the concept of the user knowledge
base. The concept is simple — creating a database where users
can tag issues, perhaps in ticket form or even a wiki-like interface,
allows users to document radiant and new issues, as well as their
solutions, for future users.
The main benefit here, of course, is that the documentation will
be by its very nature human-readable. Because the documentation
was generated directly from the userbase, it will be easily read by
the userbase, and if it in fact is found to be too difficult to read or
use, the number of users willing to fix it will be more often than
not larger than what could be provided by the API provider.
There is of course, as with all of these topics, a huge caveat. Repeat
the following — knowledge bases do not replace human contact.
Too many corporate databases exist documenting issues found on
APIs, operating systems, and applications that terminate with a
generic answer — this is a failure in communication.
When a user finds a knowledgebase article, the best hope is that
it answers their question and gives an easy solution. If it does not,
How to Offer Unparalleled Developer Support 141
Conclusion
These basic techniques and approaches should comprise 99% of
most API provider’s strategies when it comes to fostering unparal-
leled developer outreach. While some of it seems common sense,
many would be surprised at just how common and epic these
failures in basic outreach are, and how damaging they are to the
API space.
Adapting these solutions will provide the leverage that API providers
need to succeed, catapulting initial success and goodwill to a new,
higher plane.
Accumulating Feedback:
4 Questions API
Providers Need to Ask
Their Users
users in the first place? Knowing what to ask, when to ask it, and
how to ask it, is just as important as ingesting the eventual response
— perhaps even more important, when considering how it sets the
developer/user dichotomy and tone of discourse for the future.
In this piece, we’re concerned with answering a singular question
— what questions should API developers ask their users and how
should they ask them?
The API economy has evolved, and their are now many types of
consumers using APIs. You likely have a wealth of demographic
data on your specific user; age groups, hardware and browser
profiles, geographic location, etc. Pairing this profile with what
specifically enticed different consumers to your API could be
powerful knowledge for segmenting lean marketing campaigns.
If you know why people flock to your API, future development
can be geared toward specialization, emphasizing the qualities and
functionalities considered “unique” and “attractive” to these users,
while mitigating the negative aspects that might otherwise have
turned them away.
Keep in mind however that this sort of data can be overreacted to,
leading to “mob rule”. While adjusting to the wants and desires
of the majority user group is important, it is equally important
that developers attempt to stave off feature creep and bloat. This
philosophy is most commonly referred to as the 80/20 rule in agile
software development.
These first few questions hinge around the languages used by the
API, and contains questions such as “do you like the Twitter API
integration that we did with the data handling package?” and “what
do you think about the use of Go?”.
The questionnaire gets passed on to the public resources specialist,
Sandra, who adds her own questions. Things like “did you know
about our work with non-profit charities?” and “what are your
favorite websites?” abound.
Finally, the questionnaire is lightly edited, put into a stock form,
and is blast-emailed to all the users who have registered their email
as part of the API registration process. The questionnaire gets very
few answers, and the userbase declines.
Straight off the bat, there are some huge issues with the method-
ology by which this questionnaire was constructed. First and
foremost, the scope is extremely broad — identifying new markets
and increasing monetization revenue is a huge topic and one that
respondents could easily feel put-off by.
Secondly, the questions aren’t very useful. Because the tone of the
questions vary wildly depending on who is asking them, and go
from high-technical to “fluff”, the questionnaire would be hard to
take serious at best, and annoying at worst. Even if the questions
were well-formed, providing them in a stock form without brand-
ing or explanation makes it easier to disregard the survey.
Finally, the questionnaire was distributed in an annoying way.
Respondents likely did not know their emails would be used for
analytics like this, and as such, when they are inundated with what
is essentially spam mail, their opinions of both the API provider
and its product will decline rapidly.
Accumulating Feedback: 4 Questions API Providers Need to Ask Their Users 151
Think As a User
At the end of the day, compiling these sorts of questions is incredi-
bly useful for an API provider. It helps validate your product’s di-
rection, as well as the viability, necessity, and desire for additional
services with new monetization possibilities.
The takeaway from all of this is simple — think like a user.
Imagine logging into your email one day to find a huge survey
foisted upon you by a company that you at one time thought as
non-intrusive and privacy respecting. Imagine this survey is filled
Accumulating Feedback: 4 Questions API Providers Need to Ask Their Users 153
Types of Get-Togethers
For people new to the concepts of hackathons, meetups, workshops,
and developer conferences, let’s quickly define exactly what these
events are.
What is a Hackathon?
Hackathons are events in which programmers, providers, and team
members related to development collaborate in the usage, creation,
or manipulation of software or hardware projects. Hackathons
might be free form, where developers are given code or API access
and are allowed to do what they wish, or might be guided, wherein
a cause or goal is given and used to guide programmer efforts.
In the API space, what this functionally means is that a hackathon
is a “get together” focused on skill implementation. Providers and
developers unify their efforts to create something unique that
consumes the provider’s API in some way. This collaboration and
implementation of divergent ideas and processes can reveal new
development methods, highlight core strengths, and can even help
highlight deficiencies in the current API space or system being
demoed.
How to Hold a Killer First Hackathon or Developer Conference 156
5: Don’t Sweat It
1. Making your code short. The live code itself must be very
short (1 minute in total, which can imply 2 or even more
sections) and leave the rest of the time for the audience to
see the results, and even interact with the outcome.
2. Make it easy to display code on the screen. Rehearse in
advance to see what is the best way to display your code.
This will involve the choice of your code editor, the color
of text and background (usually black characters in white
background are the best), and even the fonts. Take into
account that the quality of the projector, screen, and lighting
of the room will affect how your audience sees your code.
3. Explain what you are writing in sync. Say in a clear way what
every line you write is going to do. It will help tremendously
if the names of functions are self-explanatory. Needless to say,
if you already follow good coding habits, this is easier.
What Makes an API Demo Unforgettable? 168
6: A theater-like script
If you ever performed in theater, you must have learned and mem-
orized a script by heart, maybe adding your own interpretation to
the lines. For an API demo, similarly prepare a step-by-step script
for yourself. Why this is so important? You must know exactly
which parameters you will use for every example — the order of
steps makes a huge difference. The successful guys who have had
memorable API demos are all said to have rehearsed the same
sequences dozens of times. Some claimed to have even dreamt
about it.
Another huge advantage of using a written script is that it makes
your demo repeatable. If your next meetup isn’t for a few months,
you don’t have to rely on your memory to start preparing yourself
again. An API demo is a play, not improv.
An extra piece of advice is: reduce the number of steps to the
minimum, and minimize the number of parameters. All this will
reduce the probability of failure.
A final piece of advice is: time yourself and stick to the allotted time
slot. The most successful API demos are short and to the point. So,
when it’s your time to rehearse, set an optimal time length and
repeat the demo until you and the chronometer are in sync.
Conclusion
Following these six best practices and preparing for potential flaws
will make your API demo unforgettable, and will make you or
your company’s end goal of stimulating developer adoption more
realizable. Great demos have the power to transform a technical
event into an enjoyable, memorable, and inspiring experience.
Ultimately, it will inspire developers to build great things with your
API, which will bring value to end users. Feel free to share other
amazing API demos in the comments section and tell us why they
were unique.
We wish you a successful next API demo. It’s API time. It’s
showtime!
Case Study: Twitter’s 10
Year Struggle with
Developer Relations
Time will tell whether these efforts will convince developers to give
Twitter another shot, and if the tension between the company and
its developer community will subside. One reason to be optimistic is
that Twitter is consciously steering developers away from building
features on top of its core product and is positioning its API as an
enabler instead, in the same vein as developer darlings Stripe and
Parse.
Twitter is often singled out for its problems with the developer
community, but its advocates argue that this is an unfair as-
sessment, pointing to Twitter’s numerous contributions to open
source software (such as Bootstrap, Bower, FlockDB, Gizzard and
Finagle).
Certainly, other social networks have had similar woes. In the
next section we’ll briefly look at two other giant social networks
and how they handled relations with their respective developer
communities.
The API Lifecycle: An agile process for managing the life of an API
- the secret sauce to help establish quality standards for all API and
microservice providers.
API-Driven DevOps: Learn about the API-driven approach to
uniting development and operations. This eBook combines all our
writing on DevOps, the firestorm that empowers and extends
capability for developers
The API Economy: Tune into case studies as we explore how agile
businesses are using APIs to disrupt industries and outperform
competitors.
Securing the API Stronghold: The most comprehensive freely avail-
able deep dive into the core tenants of modern web API security,
identity control, and access management.
Developing The API Mindset: Distinguishes Public, Private, and
Partner API business strategies with use cases from Nordic APIs
events.