Tuesday, October 10, 2006

how to promote your API: intro

Having top software developers create new web services and applications, using your API (application programming interface), is one of the hottest, and most promising, tech business trends.

This is a huge, complex, and fiercely competitive marketing arena, where billions of dollars are going to people barely out of their teens, as we witness with Google, successfully pioneering the API scene with Google Maps, buying YouTube for $1.6 billion recently.

You design an amazing platform, define a primary reference implementation, assemble a developer support system, open the platform API to the public, then wait for the genius scripts, killer apps, media accolades, and steady revenue to pour in. Yeah, funny.


How To Design a Good API and Why it Matters
Every day around the world, software developers spend much of their time working with a variety of Application Programming Interfaces (APIs).

Some are integral to the core platform, some provide access to widely distributed frameworks, and some are written in-house for use by a few developers. Nearly all programmers occasionally function as API designers, whether they know it or not.

A well-designed API can be a great asset to the organization that wrote it and to all who use it. Good APIs increase the pleasure and productivity of the developers who use them, the quality of the software they produce, and ultimately, the corporate bottom line.

Conversely, poorly written APIs are a constant thorn in the developer's side, and have been known to harm the bottom line to the point of bankruptcy. Given the importance of good API design, surprisingly little has been written on the subject....
Joshua Bloch, Principal Engineer at Google and author of the Jolt Award-winning book, "Effective Java" (Addison Wesley, 2001).

He is coauthor of JavaPuzzlers: Traps, Pitfalls, and Corner Cases (Addison-Wesley, 2005). He was previously a Distinguished Engineer at Sun Microsystems and a Senior Systems Designer at Transarc. Josh led the design and implementation of numerous Java platform features, including JDK 5.0 language enhancements and the award-winning Java Collections Framework.

Ph.D. in computer science from Carnegie Mellon University.

First, make sure you have a well designed API.

Become an expert on API design. Review the competition, study the leaders and emerging mavericks. Closely observe how they present and organize their API, XML or SOA, Getting Started, developer guides, developer tools, live data functionality, FAQ, sample code, examples, multiple services coordination, website integration, application contests, compensation models, etc.

Avoid over-constraint in the API. For support material, promotional efforts, and technical documentation, use modest, simple, clear professional language, and consensus terminology as used by the most professional companies in your field, your industry's API leaders and emerging mavericks.

Second, have a developer support system, forum community, and network in place. Test in in real world scenarios.

Third, prevail by soaring far beyond all the others.

This is a new field of writing, web marketing, and online community ministering. You minister to these folks, by that I mean you meet their needs. You don't push things at them. You forget everything you've ever seen in advertising and corporate promotions. Be one of them, as much as you can.

Study the developer community, in general and in the specific field you're in: web publishing, game gadgets, social networking, telecommunications, photo hosting, music sharing, whatever you're making products for.

DO NOT employ or act in the manner of paid word of mouth buzz agents. They can smell that fake enthusiasm and product hype a mile away. You will kill your product for sure. They don't want marketing, they want to get a job done.

Study the weaknesses of the leading API designs, revenue plans, and collaboration tools. Find out what they're doing weakly, in spite of their success, and make quantum or incremental improvements on what they're doing.

The first step in marketing anything, is to make it astonishing, super-excellant, as good as it can possibly be, PRIOR TO exposure to beta testers, early adaptors, developers, blogospherical and media critique.

Any marketing consultant who offers to help you promote your API must first be an expert on API design, online community formation, blogospheric buzz propagation, geek psychology, beta testing, and software developer community relations.

Superb analytical and writing skills are mandatory, with ability to display authentic expertise: smart without sounding preachy or pushy. The slightest hint of pompous hype, the merest morsel of myopic arrogance, or the tiniest slip in factual accuracy, and you're dead.

--from New Nuances: How to Promote Your APIs, Web Services, Mashups by Steven E. Streight (2006).

No comments: