LOUNGE all new asksnapzu ideasforsnapzu newtribes interesting pics videos funny technology science technews gaming health history worldnews business web research entertainment food living internet socialmedia mobile space sports photography nature animals movies culture travel television finance music celebrities gadgets environment usa crime politics law money justice psychology security cars wtf art google books lifetips bigbrother women apple kids recipes whoa military privacy education facebook medicine computing wildlife design war drugs middleeast diet toplists economy fail violence humor africa microsoft parenting dogs canada neuroscience architecture religion advertising infographics sex journalism disaster software aviation relationships energy booze life japan ukraine newmovies nsa cannabis name Name of the tribe humanrights nasa cute weather gifs discoveries cops futurism football earth dataviz pets guns entrepreneurship fitness android extremeweather fashion insects india northamerica

Petrox's feed

  • 3 years ago
    Comment PeterBB

    I worked as a developer at a company whose main product was an API, so I definitely have some thoughts. Your list of features seems reasonable to me, but in my opinion the most important questions are more subtle.

    There's a crucial step that's easy to overlook: Make sure you have a solid plan for how you're going to update your API. The ideal is a versioned API, where old versions are supported indefinitely. If that's not plausible for you, consider how you're going to communicate changes to developers with enough lead time for them to update their apps. (And you'll still want to version things, because it's no good to make everyone deploy at the exact same time as you.) Remember that since you don't have control over third-party code, even changes that seem totally innocuous to you might break things.

    It's often hard for a web company that's used to agile-style fast release cycles to get in the proper mindset for maintaining an API. The ideal is for breaking changes to be rare, and done with a lot of lead time. This can of course be different in a beta period, but communicate that heavily and plan to lock things in eventually.

    Related to the above, try to give good error messages when things go wrong. There's a big difference between "our servers are having trouble right now" and "the route you're using doesn't work any more". Developers won't have access to your server logs, so they'll be relying on you for debugging information.

    Thinking about the business side of things is also important. Start thinking now about what sort of apps you'd be tempted to try to shut down, and whether you're going to do that. Try to come up with a terms of service that you can live with for a long time, because nothing makes developers more wary of a company than them shutting down any third party service that gets too popular.

    Get all of that right, and you'll be head and shoulders above 90% of APIs out there. :)

    show moreshow less
  • 3 years ago
    Level Up PeterBB

    Level 2

    PeterBB is now level 2 with 1,080 XP.

     View Unlocks  
    • Profile title You now have the ability to enter a profile title.
    • Tribe membership The maximum amount of tribes you can join has been raised by 5 to a total of 55.
  • 3 years ago
    Comment PeterBB

    It's unfortunate that there's no real data or analysis in this article. Crowdsourcing can be unreasonably effective in many situations (my experiences with Alternate Reality Games has left me no doubt on that), but it's not at all clear to me whether this is a good usecase for it. Anyone know of any better information available about this?

  • 3 years ago
    Comment PeterBB

    I read a lot of sci-fi growing up, and I credit it with helping me develop a lot of mental flexibility. The range of possibilities is always broader than you think, and having your mind repeatedly and thoroughly blown by fiction is a good way to teach you that.