What is an API?
An API -- Application Programming Interface -- at its most basic level, allows your product or service to talk to other products or services. In this way, an API allows you to open up data and functionality to other developers and to other businesses. It is increasingly the way in which companies exchange data and services, both internally and externally.
What are APIs used for?
APIs are launched primarily to give partners that are outside the company "firewall" access to data and resources. But recently, APIs are also being used by more and more of the general public, including non-developers. As APIs' ease-of-use and popularity increases -- and as APIs demonstrate their value and deliver efficiencies -- many companies have begun to consume their own APIs to build internal systems, websites, and mobile apps using the same APIs that they make available to third-party developers and to the public.
Why do you need an API?
An API is the cornerstone of what's known as BizDev 2.0. In other words, having a well-developed API is poised to be the way in which business development happens. A decade ago, businesses were still working to understand the importance of having a website. Today, businesses need to understand the importance of the API.
History of modern web APIs
APIs have been around since the 1980s, when they were used in hardware and software development. However, the history of the modern Web API is fairly short -- just a little over ten years. There are several pioneers of Web APIs, and while they didn't necessarily invent any of the technologies at play here, they did popularize their usage and establish some of the common practices.
Many of these pioneers have shaped the way in which we develop, deploy, consume, and support APIs, sparking a lot of innovation within the API space in the last decade.
What technology goes into an API?
APIs are driven by a set of specific technologies, making them easily understood by developers. This type of standardization means that APIs can work with common programming languages. On API Evangelist I work to highlight the most popular approach to delivering web APIs, which is:
Since REST takes advantage of the same Internet mechanisms that are used to view regular web pages it has many advantages, resulting in faster implementations and easier for developers to understand. REST APIs allow you to take data and functionality available on your website and make these resources available through a Web API. Then, instead of returning HTML to represent these resources, the API returns data in one of two possible formats:
Developers can then take this data and use in web and mobile applications. However XML and JSON are easily consumed by spreadsheets and other tools non-developers can use as well, making APIs accessible by anyone.
Easy access to all this data and resources is great, but sometimes we need to control access to APIs, there are two primary ways to provide authentication to an API:
REST with JSON has become the favorite of developers and API owners, because it is easier to both deploy and consume than other implementations. Even though REST + JSON is not a standard, it is seeing wide acceptance across the industry.
Essential Building Blocks for a Successful API
After reviewing 100+ of the most popular APIs you start to notice common set of building blocks that are essential to API adoption. Here is a list of the most common building blocks for API areas:
- Getting Started
- API Reference / Documentation
- Code Samples
- Terms and Conditions
- Self-Service Registration
API pioneers like Ebay, Salesforce, Flickr, and Google have established a common set of essential API building blocks through trial and error over the last decade.
Tools to Launch and Manage Your API
As the number of APIs grow, so do the number of approaches in delivering an API. There are a number of open-source tools specifically designed for APIs:
- REST API Frameworks
- REST API Client Libraries
- Testing and Documentation Tools
There are also a number of open-source tools designed for a wider purpose, but can easily be adapted for specific API building blocks:
- Metrics and Analytics
Service Providers to Help You Manage Your API
These are the handful of API service providers I am tracking on with API Evangelist. Service providers offer software, technical, marketing, legal and other types of services to API owners and developers.
There are some dedicated to API management:
Also service providers who focus on specific building blocks for your API:
Overall there are gaps in services being offered for API owners.
An API starts with the desire to share data or resources that a company offers. It's built with technologies like REST, XML, and JSON, and supported through documentation, along with a handful of code samples to show how to use it.
An API and its supporting developer area are created. And then, what's next? How does a simple API area build community? How does it evolve into a thriving ecosystem like Facebook’s of Foursquare's?
It all starts with developers. Giving developers a self-service, resource-rich environment where they have the spotlight and a voice that will encourage them in turn to contribute to the API community.
An API owner has to support its API's community, be proactive about reaching out to its community and know what it needs. API support needs to be available in basic forms like a forum, but also there needs to be ways for partners and developers to pay for support and receive premium attention as well.
Resources for developers need to be abundant and well organized. Common resources like blogs, forum, and FAQs are necessary. Tutorials, case studies and "How To’s" can take things even further.
Support and resources can create a positive feedback loop among developers and encourage activity that will ideally spread to other users.
Developers can’t be expected to visit an API area regularly, so an API community needs to extend its reach to existing social network and developer communities including Twitter, LinkedIn, Github, and Stack Exchange.
Even more than just a presence on these social networks, an API needs to have an offline presence too -- something that can be accomplished by attending conferences, meet-ups, and hackathons, for example. These activities will only serve to strengthen the API community.
What Are Benefits of an API
The most direct benefits of an API are quicker, easier and more re-usable technical access to your companies assets and resources. APIs will allow your company to rapidly develop web, mobile and tablet applications from a single technical resource.
Using an API you will be able to take better advantage of outside and 3rd party resources. Giving developers access to only the resources they need and build applications you need to expand your business. It is the perfect balance of opening up access to your resources while also keeping things secure. This will allow your company to eliminate traditional IT resource bottlenecks.
Beyond the technical benefits of an API, an API can bring an entirely new way of thinking to your business operations. APIs will allow you to think differently about your companies most valuable assets and resources, allowing you to decouple them and allow them to be used independently and in new ways you never imagined before. As you take inventory and prepare your resources to be available as APIs, it will give you a new way of looking at business that encourages transparency, interoperability and scalability by default, without costing you security. Making your operations more agile, nimble and flexible and able to take on any challenge in this new API driven economy.
Its not the early days of API mash-ups anymore, there are numerous new ways that API usage is evolving--further connecting the data and resources we need to build the next generation of web and mobile apps. Here are just a few of the emerging trends in the API space:
- API Aggregation - Innovative start-ups like Singly apply these concepts with social and personal data, combining services like Twitter, Facebook, LinkedIn, Instagram and other services into single services. Singly's goal is to shorten time for developers to get to finished app, by providing developers a fabric that weaves together common objects like friends, images, status and check-in into a aggregate API platform.
- API Reciprocity - API reciprocity allows for the flow of information between the common platforms we depend on for our daily operations. In the enterprise this has been known as Extract Transform and Load (ETL), but in this new API world it is not about data sources, but cloud services across the Internet. This new approach requires acknowledging terms of service and user privacy agreements made via oAuth--allowing for reciprocity for platforms, but also end users, allowing anyone, even non-developers to take advantage of APIs.
- Backend as a Service (BaaS) - Backend as a service (BaaS), also known as "mobile backend as a service" (MBaaS), is a model for providing web and mobile app developers with a way to link their applications to backend cloud storage while also providing features such as user management, push notifications, and integration with social networking services. These services are provided via the use of custom software development kits (SDKs) and application programming interfaces (APIs).
- Reai-Time - Real-time approaches to deploying APIs involve technological approaches like PubSubHub, Websockets and Webhooks are can be as simple as an SMS or email sent when there is an update. There are several platforms focusing on the real-time world of APIs. in this section i will be tracking news and companies that are doing interesting things around API interoperability, while also sharing blog analysis I provide on API interoperability as well.
These are just a handful of the trends emerging around APIs. There are over 10K public APIs available currently, with many more private APIs being used to drive business at the SMB, SME and Enterprise levels. APIs are not just driving developers to innovate while building web and mobile applications. APIs and the resulting trends are empowering anyone, even non-developers to put valuable API driven resources to work.
Beyond the trends in API usage, there are several opportunities emerging for both businesses and developers to take advantage of. The simplistic, web-based approach to providing access to resource is moving into new and exciting areas:
- 3D Printing - 3D printing, with the help of web APIs are moving beyond hobby and art, and have serious potential for re-defining the global manufacturing landscape. There are several platforms focusing on providing APIs for 3D printing. In this section I will be tracking on news and companies that are doing interesting things around 3D printing and APIs, while also sharing blog analysis as well.
- Automobiles - Think of the amount of time the average person spends in their car? It makes sense that the automobile would be an opportunity for delivering API driven data and resources. Major automakers like Ford, GM and BMV are turning our vehicles into API driven platforms, providing huge opportunities for businesses and developers.
- Buildings - Buildings play a large role in our personal and professional lives. Many buildings already have automated heating, air, electrical, water and other system. Many of these building manufacturers are understanding the importance of allowing API access to their hardware and software. Imagine if all of our buildings thought for themselves, and were able to teach us to reduce energy consumption, diagnose problems in real-time, allowing them to self correct when necessary or call a service provider when they need repair or tuning.
- Internet of Things - The Internet of Things refers to uniquely identifiable objects (things) and their virtual representations in an Internet-like structure. Equipping all objects in the world with minuscule identifying devices will continue to transform our daily lives. APIs are the transport layer in which all devices, sensors and connected objects will be communicating.
- Quantified Self - There are a new wave of devices that allow the wearer to understand more about themselves, ranging from heart rate to location. While sports is a common model for many devices, because they have APIs, it opens up this new wave of quantified self devices to be used for everything from life style tracking to health care.
These five areas represent just a handful of the opportunities available with APIs. API Evangelist will continue to track on all opportunities as they emerge and put APIs to use. APIs are not just about applications on the Internet, they are connecting our physical worlds to this wondrous new cloud world we are depending on.
In 1995 the question was, should we have a website? By 2000 it was clear, to do business you had to have a website to conduct business. In 2010 the question was, should we have an API? And by 2015 it will be mandatory for business to have an API or they won't be able to compete in this new global, digital business environment.
API Evangelist is here to help you get started with understanding APIs, as well as find the right services and tools you need to assemble the proper building blocks for a successful API strategy. Make sure and come back often, things are always changing!