Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building a Developer Platform

Building a Developer Platform

Brendan Nee

October 14, 2016
Tweet

More Decks by Brendan Nee

Other Decks in Technology

Transcript

  1. BUILDING A DEVELOPER
    PLATFORM
    BRENDAN NEE

    View Slide

  2. CITY PLANNING &
    TRANSPORTATION ENGINEERING

    View Slide

  3. DEVELOPER
    Maps
    Open Data
    Javascript
    Node.js
    Python
    Front End
    Back End
    Developer Platforms

    View Slide

  4. AUTOMATIC

    View Slide

  5. BLINKTAG.COM

    View Slide

  6. View Slide

  7. YOU HAVE AN API
    YOU WANT
    DEVELOPERS TO USE IT

    View Slide

  8. ITS MORE THAN AN API
    ▸ Documentation
    ▸ Developer Website
    ▸ Libraries / SDKs
    ▸ Example Applications
    ▸ Developer Tools
    ▸ Tutorials
    ▸ App Gallery
    ▸ Developer Support
    ▸ Developer Notifications

    View Slide

  9. Publicity
    Developer
    Tools
    Useful Apps Recruitment
    BENEFITS OF A GOOD DEVELOPER PLATFORM
    Wider Reach
    Product
    Position

    View Slide

  10. DOCUMENTATION

    View Slide

  11. TEXT
    DOCUMENTATION
    ▸ Editability
    ▸ Versioning
    ▸ Single page, for easy search
    ▸ New users and existing users
    ▸ When in doubt, check what other
    good developer platforms use

    View Slide

  12. View Slide

  13. DEVELOPER WEBSITE

    View Slide

  14. developer.yoursite.com

    View Slide

  15. Documentation
    Developer
    Tools
    App Gallery
    Intro
    Developer
    Support
    Example Apps
    DEVELOPER WEBSITE
    Libraries
    Tutorials

    View Slide

  16. TEXT
    DEVELOPER WEBSITE
    ▸ Keep it simple, not fancy
    ▸ Focus on content
    ▸ Launch sooner rather than later

    View Slide

  17. AVOID UNNECESSARY FENCES

    View Slide

  18. LIBRARIES / SDKS

    View Slide

  19. OFFICIAL UNOFFICIAL

    View Slide

  20. TO COPY OTHERS IS
    NECESSARY, BUT TO COPY
    ONESELF IS PATHETIC.
    Pablo Picasso
    TEXT

    View Slide

  21. TEXT
    LIBRARIES - DON’T REINVENT THE WHEEL
    ▸ Take best practices from an
    existing library that is similar
    ▸ Use the same format for
    documentation and examples

    View Slide

  22. USE THE LIBRARY
    IN YOUR CORE
    APP.

    View Slide

  23. EXAMPLE APPS

    View Slide

  24. OFFICIAL UNOFFICIAL

    View Slide

  25. DEVELOPER TOOLS

    View Slide

  26. TEXT
    DEVELOPER APPLICATION MANAGEMENT
    ▸ Support a developer owning multiple
    apps
    ▸ Support separate apps for staging and
    production
    ▸ API key and oAuth client/secret
    management
    ▸ App info: name, URL, oAuth redirect
    URL, category
    ▸ Scopes and permissions
    ▸ Webhook URL

    View Slide

  27. TEXT
    ADDITIONAL DEVELOPER TOOLS
    ▸ oAuth redirect URL generator
    ▸ Webhook/Websocket logs
    ▸ Application state / event simulator
    ▸ API playground

    View Slide

  28. TUTORIALS

    View Slide

  29. TEXT
    TYPES OF TUTORIALS
    ▸ “Hello World”
    ▸ Guide to building one of your
    sample apps
    ▸ Example of the most common use
    case
    ▸ Guide to a particularly tricky aspect
    of your service
    ▸ Tutorials in different popular
    languages and frameworks

    View Slide

  30. TEXT
    TUTORIALS
    ▸ Encourage developer feedback
    ▸ Push updates to the tutorial often
    ▸ Tutorials can help new team
    members, non-technical team
    members, partner organizations

    View Slide

  31. APP GALLERY

    View Slide

  32. TEXT
    APP GALLERY
    ▸ Expose useful 3rd party
    integrations of your service
    ▸ Determine API capabilities
    ▸ See novel uses of your API
    ▸ Developer recognition

    View Slide

  33. TEXT
    APP GALLERY PROMOTION
    ▸ Web based
    ▸ Integrated into your core app
    ▸ Highlight a new app in each
    developer newsletter
    ▸ Promote on developer social
    media

    View Slide

  34. DEVELOPER SUPPORT

    View Slide

  35. TEXT
    DEVELOPER SUPPORT
    [email protected]
    ▸ Assign a specific person to be
    responsible
    ▸ Zendesk
    ▸ Accept pull requests
    ▸ Respond quickly, even if you won’t
    have an answer right away

    View Slide

  36. MOST COMMON DEVELOPER QUESTIONS
    UPDATE DOCUMENTATION
    CREATE TOOLS
    SAMPLE APPS

    View Slide

  37. TEXT
    FEATURE REQUESTS
    ▸ Developer support lead should be a
    developer advocate
    ▸ Compile most common feature
    requests
    ▸ Advocate to team why these are
    needed
    ▸ Respond to developers that their
    requests have been noted
    ▸ Allow interested 3rd parties to beta
    test new feature to get feedback

    View Slide

  38. DEVELOPER NOTIFICATIONS

    View Slide

  39. TEXT
    DEVELOPER NOTIFICATIONS
    ▸ API changes
    ▸ Downtime
    ▸ New features/endpoints
    ▸ Required updates
    ▸ Example apps
    ▸ Featured apps

    View Slide

  40. TEXT
    DEVELOPER NOTIFICATION EMAILS
    ▸ Auto-subscribe developers
    ▸ Allow unsubscribe
    ▸ Don’t use for marketing purposes
    ▸ Keep email format simple
    ▸ Publish on developer blog as well
    ▸ Reply address
    [email protected]

    View Slide

  41. DEVELOPER PLATFORM RECAP
    ▸ Documentation
    ▸ Developer Website
    ▸ Libraries
    ▸ Example Applications
    ▸ Developer Tools
    ▸ Tutorials
    ▸ App Gallery
    ▸ Developer Support
    ▸ Developer Notifications

    View Slide

  42. BRENDAN NEE
    QUESTIONS
    @BRENDANNEE

    View Slide