Thoughts on API Best Practices API Management and Infrastructure Blog

If you build it will they come? Developer Community and Audience

(The 10th installment in our API Roadmap Considerations series)

You've built a great API and have the operational bases covered.  Now the fun part - buiiding awareness, adoption, and community.

Think about it like throwing a party - you need to get the word out, have food and drinks covered, and help people mingle.

That is - 3 things need to work together  - audience, tools, and community.

(But first you must have a cool product.)

Always loved this talk by Dave McClure.  First – your product better be cool. Or..start with a great, differentiated API.

Developers will make or break your API strategy. If you focus on making developers successful you are building on a very strong foundation.

It's important understand different developer segments, what's important to each, and key contributors. And there are thousands of APIs now - maybe dozens in your vertical.  Is yours differentiated by features?  Better terms?  A SLA?  More data?

Get the word out: Audience

We often see API developer community plans that focus heavily on tools and building a 'destination portal'. 

But first - plug into existing destinations and communities.  You can sign up for most of these now, for free.  They reach thousands or millions of developers and they rely on your content and participation.  Examples include:

This also helps your search engine discoverability on anything related to "API + your business."  You want to rank well aginst similar APIs in Google searches.

All the fixin's:  Tools and processes

Just like a decent party needs catering and comfy chairs, you need tools and processes dialed in before your API launches.  Things like developer onboarding , developer key management, and integrations with the business (billing, compliance, etc.).   Dress rehearse these during the private alpha period so you can handle demand when it comes.   We often see teams that have licensed all the tools but haven't run the processes end to end - it's just as important as testing your API.

You'll need to make it easy for developers to find and help each other when working with your APIs. Blogs, documentation in wikis, code samples and app galleries are critical and easy to create. (most are free).   And again, not just the tools but dress rehearse the processes. (i.e. who's on duty for monitoring and responding to tweets and blog posts.).  For example, we love GetSatisfaction for Apigee.

For content and resources, code samples are consistently ranked at the top by developers.   You can use your own QA stuff for starters -  that they can incorporate in their own apps.

Take jackets and get drinks:  Community

If your API is easy to find and you have tools in place, you can tackle 'community'.   A book could be written about this, but successful communities have a hardcore group of developers that help each other be successful, an open dialogue with the API provider, show up at both online and offline events, and have at least one rabid, hardcore evangelist ringleader at the core that writes code with the API and seems to be everywhere.

The best community managers make it all about the developers – welcoming them, showcasing their work, and making them stars.  (more ideas at the end)

Should you outsource community management?  It's all about the passion - we usually see the best being full-time employees that actively seek out the position.  

Your Roadmap: Audience and Community

So if you are opening and API, think about the following for your roadmap.

Audience and distribution

  • Can you get awareness and distribution through existing developer communities, such as any vendor (MS, Google IBM), Platform (Ruby, iPhone), Independent, Directories (programmableweb)
  • What Web marketing - Search Engine Optimization or Adwords - can you do to make sure developers find you

 Tools and processes

  • Do you have formal documentation? Can you put it on a wiki?
  • Do you have code samples on how to use the API?
  • Do you have a place for developers to put their own code samples and showcase their own work and sample apps? (widgets, mobile apps, etc.)
  • Are code libraries needed for important platforms? Should these be open source?
  • Do you have a blog for best practices and a way to get in touch with developers on important changes (such as API version updates?)
  • What about adding and managing developers?  More on that in User Onboarding and Management

Community management

  • Should you have a dedicated full-time employee to drive community and evangelize your product and best developers?
  • Are there any offline events or meetups you should be at?
  • How can you recognize and promote your hardcore community members? Do you have an evangelist that knows these folks personally?

Good resources and other ideas

Create discussions & docs on Google Groups.  Check out how some of the great developer communities use Google Groups, like:

Make your API sample code available on a social version control system like:

Promote Yourself on facebook, twitter & a blog

  • facebook.com - create a fan page
  • twitter - look for people doing the stuff with your API and call it out
  • blogger, typepad, etc all provide a great way to respond to and showcase developers

(and thanks to Richard0 for the photo..)

There might be 10 other APIs in your vertical space – you need to be near the top of the list.

Welcome Aboard:  API user management and onboarding

(Continuing our blog series on Is your API Naked:  10 API Roadmap considerations).

Just like you have processes to add and maintain user accounts with your website, you'll need the same for developers using your API.     Making it easy for developers to quickly get API account details squared away is critical to reduce barriers to adoption.

And good user management will reduce your support costs and increase customer sat.  

This includes setting developers up with an account and any authentication credentials they need to work with your API.  But you'll also need UI and processes to add, maintain (such as reset) and revoke or delete these accounts.      You may also need to take into account how to hand out keys or OAuth keys, and even consider an approval process, if you are going that route.  (although you don’t necessarily need to use API keys).  

Also, consider whether you can make things simpler by defining rights around standard user profile.  For example, ‘bronze’ customers have access to certain APIs or requests vs. ‘gold’ customers.

Finally, consider any other information you can give developers that will make it faster and easier to work with you - to get their questions answered without calling you.   For example, usage statistics and alerts on versioning upgrades and outages. 

Do you need to start from scratch? 

Before building or buying this, consider if you might be able to extend some other existing user management UI and processes to work for developers requesting access to your API.  

(For example, we built our own user management system for Apigee freemium API management over a couple days with our existing salesforce.com setup.) 

Key to this decision is - how much integration do you need into your existing business processes?   Do you need to create accounts in your CRM system, and make sure you have enough developer information to map developers to applications, and customers? 

Consider the following user management questions for your API roadmap: 

For on-boarding developers

  • Do you already have a way to manage user accounts that you plan to re-use for your API? Or have you considered it?
  • If you have, do you also wish to offer OAuth keys?
  • If you have no user management at all, what does a user need to do in order to sign up to use your API?
  • Can they sign up quickly and easily using a web browser?
  • Can you simplify things by defining ‘tiers’ of users?
  • What kind of information do they need to have access to?

For maintaining and managing accounts

  • Can you re-set their passwords?
  • What user interface do you want to create for user management?
  • Can users do it using a web site or is there some other way?
  • Can you monitor their usage?  Can they monitor it themselves
  • Can you revoke user accounts?
  • Do you need to implement an approval or screening process?
  • Do you need reporting and analytics around users – active developers, engagement and retention rates?


Integrating your API users into the rest of your business

  • Does your developer activity need to get mapped into your sales, support, and ERP systems?
  • Does your API key structure enable you to map developers to applications, your customers, and their end users?
  • Does user data need to be integrated with existing profiles or user data systems?  Can you use existing SSO (single sign-on) systems?
  • Can you create the right usage incentives by providing developer access to their own usage data?