API Manifesto: A Personal Approach in the Industry
APIs (or API / Application Programming Interface ) are important tools for the software community. No matter if we are talking about huge enterprises or about small start-ups the case is always the same:
Companies are struggling to create more revenue to survive in the business (super-competitive) world.
APIs do just that.
Each API is a collaborative tool that helps businesses, wanna-become-businesses and hobbyists to share their information or consume others information in order to create relevant business models where each one’s survival is dependent on the other ones surviving the business world.
Why do Enterprises use APIs?
A huge trend has been surrounding the Enterprise Area where now some of the biggest “players” have started organizing API conferences, Meetups and even sustain dedicated Twitter accounts around the subject.
I will only try to scratch the surface of those answers (since those can only be personal – heavily debatable opinions).
Since the era of mobile marketing rose, there has been an immediate need to support easier integration mechanisms that would sustain lighter transactions. There is a general disagreement about APIs that are indeed a new term and not just a rebranding for services that already exist for a long time. The key difference is that APIs aim at developer adoption. They try to be friendly, easy to understand and they tend to change more often according to the market needs. In a word, APIs aim to be attractive for the customers. On the other hand, traditional web services aim on long term contracts and general cost in mind. That is why this was mainly designed for enterprise processes and for agile mobile development. A nice analogy would be that APIs are a nice fancy expensive smartphone that provides a lot of functionality but needs updates and may crash from time to time, while on the other hand services are the cheap reliable phone that will continue to work for many years without any update, and with no extra cost.
What is the difference between APIs and the Internet of Things?
It is more than clear that #IoT is a hot topic where the biggest enterprises in the area are now focusing on. For example, Amazon now has officially launched their core IoT product, which is mainly a rebranding and a mashup of some of their existing #AWS stack. Oracle, on the other hand, has also launched their IoT platform which is based on their existing cloud infrastructure as well.
IBM is approaching the industry in also a competitive way by participating in #IoT standards, creating an Internet of Things foundation and obviously also launching its own #IoT focused cloud-based platform, which has been trending for a while as the newly introduced PaaS: Bluemix.
Other companies have also been launching #IoT specific products, for example, Golgi is one of them. Most of those products are based on existing cloud infrastructure with all the updates of the #API era. In my opinion, Internet of Things is the evolution of APIs for businesses to APIs for Everything.
What is expected from the API world?
Now I am taking a step further by discussing a little bit on what I expect to see over the next couple of decades in the area of #APIs. Why we even stay on that domain?
This is a discussion that happens over a round of beers with API friends after a #Meetup or a conference. The obvious answer, is that the Internet of Things is the next best thing which we expect to experience in our pro-careers or in our lifetime in general. I definitely agree that Internet of Things will be a great revolution which is going to change the way we live, and for this, we need to heavily brainstorm on several aspects of this.
Smart Cities, A revolution that is just knocking on our door
Apart from the #IoT, Smart Cities is the next best thing in my personal opinion. It is going to be much bigger than API revolution, even bigger than #IoT, maybe even greater than the Computer Revolution itself.
There are already huge efforts to standardise Smart Cities and #IoT. An important effort driven by IEEE, tries to create a community of people interested in Smart Cities with the ultimate goal to conclude in a Standard, Specification or even a set of best practices. Another similar approach more Specification oriented leaded by manufacturing and enterprises is the HyperCat. There are even more approaches that I do not mention here, because I just want to show that there is a community and a lot of effort around Smart Cities but I am not making an exhaustive SotA here.
Some related material I have been studying recently around the subject:
- Smart Cities: Big Data, Civic Hackers, and the Quest for a New Utopia
- Smart Cities That Work for Everyone: 7 Keys to Education & Employment
- Designing the Urban Future: Smart Cities
- Building Smart Cities: Analytics, ICT, and Design Thinking
- The Responsive City: Engaging Communities Through Data-Smart Governance
All the discussions, the material I’ve been studying or the various tweets on the subject having been giving me various ideas and future directions that I would like to discuss in future articles and webinars (or beer sessions).
More Stuff to Read
If you read this article and you think that API is what you are looking for, you can always read more in my Education Section or go directly to the ultimate API source provided by the API Evangelist. Another source that I like to consult quite often, is the blog of the API Handyman, where he writes about API best practices.
Obviously, no such blog post could ever exist without mentioning the ProgrammableWeb which is a website dedicated on news and information about APIs and there exists for a long time, before most of us even started working on the area.