Like many of my fellow developers and technology geeks, I was an avid LEGO-builder during my youth. Those tiny plastic building blocks gave me the possibility to create anything my imagination had in stock for me – and the cool thing was (and still is), the more basic the pieces were, the more freedom they gave me. As I grew older I changed, and so did LEGO - I still sit with my friends and complain about the "dark years" of LEGO, when those basic building blocks turned into pre-molded pieces of wings, buildings or animals, putting a definitive stop to the creative outlet that provided so much joy in our youth.
As stated by generations before us, things were definitely better when we were young. But after rain comes sunshine. LEGO has miraculously recovered – not only financially but also "ethically" - from our point of view, that is. Back are the boxes of basic building blocks that set your imagination free – you can even buy them by the gram (or pound) nowadays, shovel provided!
So what does that short story have to do with open data, APIs, innovation and, ultimately, software quality? Let’s see if I can piece that together - pun intended.
Open data is gaining constant traction nowadays, perhaps most notably with the recent Open Government Initiative by the White House. At its core, open data is about making data collected by governments, organizations, companies, etc. available to everyone, preferably at no cost. Instead of providing the pre-molded pieces of aggregated data, the actual building blocks are made available with the intention to fuel the creative minds of crafty entrepreneurs and technologists out there.
APIs, on the other hand, are the glue that makes this work. Just as Lego pieces have a universal way of adhering to each other thanks to those small plastic "bumps and holes," APIs provide a standardized and (fairly) simple way to connect sources of open data to each other. By utilizing standardized and platform-agnostic technologies like HTTP, JSON and XML, they are the ultimate facilitators for integrating all those open data sources into innovative applications and solutions.
Ah – Innovation! This is where things really get exciting. Instead of data providers assembling their data to tell the stories they want to tell (i.e. the pre-molded pieces I was talking about), they're giving us the data to tell whatever story we find relevant – no molding, just the basic pieces!
You want to build a travel app about Europe for the benefit of world peace? Awesome! Or perhaps you’d like to build a review app about airplanes for the benefit of the environment. Go for it! (All zany API/data integration ideas courtesy of the APIRandomizer). The point being that ultimately you and your users will be the judge of what is right for them and businesses will adapt accordingly by changing data sources, usage scenarios, etc.
Just as those basic Lego pieces nurtured our creativity and innovative spirit, open data and APIs are doing the same for us 20 years later (well, 30 years, to be honest).
So what about quality? Well, you might have thought it doesn’t get any more exciting, but it does. Quality of all the APIs that are used to glue these open data sources together are pivotal to their success. And the great thing is, not only are most of these open data sources available for free, so are the tools needed to build and test them. Not only can an innovative API or application idea be built using freely available open data sources, but the actual tools for ensuring the functionality, performance, availability and security of these apps and the APIs they consume are out there as well – for free. And be sure to note that some of these are well-crafted tools with large user communities whose vendors and providers realize and understand the value of being part of the whole open data and API movement.
And of course there are already cool apps out there harvesting these open data sources using API technologies (and presumably being built and tested using free API quality tools). Check out the open data applications page at Pinterest to dig into some less or more useful examples.
Are you already surfing the wave? Let us know!