Fork me on GitHub

APIs are powerful platforms

APIs; an area that we life science folks are not very good at. I once heard Mark Shuttleworth talk about building stuff that people can use to build more stuff (paraphrasing heavily). In other words we need to think about application and data platforms and for modern bioinformatics that is pretty much what we should strive to be doing. If one looks at the type of programming that needs to be done in the life sciences, you have applications that solve specific problems; alignments, assembly, etc, and ideally these should be applications that can be brought together without the developer having to worry about data formats, or at least handle those with minimal fuss. There are those who specialize in information retrieval, digging deep into data, slicing and dicing data sets. In a perfect world, these folks also wouldn’t have to worry to much about the vagaries of data formats, but rather would use APIs and the algorithms developed by the perfect group to come up with ways to evaluate and interrogate data and really mashup various sources. Then there are developers who build platforms to solve specific problems, e.g. manage and handle data for a core facility, take some of the best practices from the previous group and make reproducible, well understood computational and data pipelines available to Digital Biologists. Once again these developers would also benefit from being able to use APIs so that they can focus on the task and hand and be able to deliver more flexible environments. Ideally, especially if they are building applications that can form the basis for other apps (and you never know), this group of developers should also make APIs available so that the hard core bioinformaticians can make full use of these platforms.



None of what you’ve just read is a terribly original idea. Matt Wood started the whole #scidata meme on Twitter, which is one that I hope to see become more of a rallying cry in 2010, but what really got this blog post started was recent chatter about Twilio. Twilio has nothing to do with bioinformatics, but as they describe the problem they are trying to solve

We’re always building web applications, and sometimes we want those apps to be able to interact with phone callers. Maybe we want a customer to be able to call in and get information, or maybe we need to coordinate our employees more efficiently. Before Twilio, you would have had to learn some foreign telecom programming languages, or set up an entire stack of PBX software to do this. At which point, you’d say “aw, forget it!” Twilio lets you use your existing web development skills, existing code, existing servers, existing databases and existing karma to solve these problems quickly and reliably. We provide the infrastructure, you provide the business logic via HTTP, and together we rule the world.

The point is not the specifics, but the intent and execution. Essentially the goal is to help people solve problems but allowing them to focus on one side of the equation while they take care of the other side and make it available in a very easy to use API. We should be working extra hard at making the “small things loosely coupled” paradigm more prevalent in the life sciences by having folks who provide the kind of service that Twilio does, making life easier for application developers everywhere.

A simple example of something that fits the model is the Google Charts API. Very often I get to see the real developer at home use make excellent use of that API to deliver results to her customers (who happen to be biologists). Simply put, it allows the developer to spend time on tasks that require implementation and engineering time while delivering results faster and effectively to end users.

Those are but some examples of the power of APIs. Like Fred Wilson, I believe that APIs are development platforms in their own right, but the money quote is this one

Developers are the new power users. If you cater to them, you can build a large user base with significant network effects.

I can’t wait for the day that we look at developers as a key community in the life science world, one that has the ability to make digital biologists and informaticians more productive and help us do better science. And yes, I am looking at both funding agencies and employers when I say this

Image by ibuch under a CC-BY-NC-SA license

Please read this disclaimer

Reblog this post [with Zemanta]

This entry was posted in Bytes, Genes, Informatics, Infotech, Programming, Software & Internet. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

blog comments powered by Disqus
  • Archives

  • Disclaimer

    All opinions on this blog are my own and do not reflect those of my employers, past or present