What is the most important aspect that eBay, Photoshop, Amazon, Apple iPhone, AutoCAD, Google, Microsoft Office and Lego Mindstorms have in common? Although they are all widely known and highly popular, if you look a bit deeper, you will find that the answer is application programming interfaces, more commonly known as APIs. All around the world, developers are churning out APIs for these products and companies at a rate that increases on virtually a daily basis.
APIs are simply tools that allow communication between software, operating systems or platforms. In basic terms, APIs are to computers what doors and walls are to houses; APIs provide a means of access while shielding the interior from prying eyes. APIs can expose the chosen functionality or data without exposing the underlying code. With an API, a developer can add to the functionality of an existing application or software, or the API can make data available that the user could not have accessed otherwise.
APIs in Real World Action
Amazon or eBay APIs allow developers to use the existing retail infrastructure to create specialized web stores. One of the most widely used web API services is from Google. Third-party apps can use these APIs from Google to take advantage of or extend the functionality of existing Google services including Search, Gmail, Translate or Maps.
In the modern world, few businesses can survive with an all-inclusive, off-the-shelf solution. Cloud platforms, software-as-a-service, custom reporting modules and the wide variety of mobile devices simply do not allow this. Enterprise software winds up with compartmentalized data, depriving some users of the information they need. Cloud applications may display quite differently on a tablet than they do on a desktop. Opening a file saved under a previous software version may prove impossible. Collaborative efforts may be difficult or impossible if some team members have MACs while others are running Windows, and the problem can even exist if team members are running different versions of Windows.
The Power of Open Source
When they start looking for APIs, however, many businesses are dismayed by the resources that they must commit if they want to have the project developed internally. Often, by the time the API has been completed, its usefulness has become questionable, especially if the API is a customer-facing one. The pace at which businesses must move if they want to remain competitive requires that APIs be developed quickly under agile methods.
The issues are the same for independent software vendors or software publishers. Their resources are typically committed to the development of the product, creating the next version or fixing problems in the current version. Even if they are so inclined, the development of APIs is seldom a major source of revenue for ISVs. They generally prefer to let others handle the creation of APIs.
In fact, some companies let others develop APIs that the company never imagined that anyone would want. For example, when Lego Mindstorms debuted, it took only a few weeks for someone to either hack or reverse-engineer the hardware and post the information online. Almost overnight, people were creating various tools for Mindstorms. The company could have stopped them, but instead of shutting them down, the decision was made to allow the community to flourish. Lego's accidental API led to amazing growth among the adult market, which the company had not considered to be a viable demographic target for the product.
Expanding A Product's Potential
APIs let users make a product do things that were never included in the product's design. They allow users to customize the product to suit their needs or accommodate their workflow. APIs can expand the market reach, empower users, enhance productivity, facilitate scaling and improve collaboration.
Furthermore, APIs can transform competitors into partners. Autodesk, the company that owns AutoCAD, is one example. The company has a lot of competition, but AutoCAD remains the leading computer-aided design software. Autodesk's engineering team is certainly part of the reason for its success. However, the company also has more than 3,000 third-party developers creating APIs and even complete applications for AutoCAD. Instead of trying to build a better software product, this virtual army is helping to enhance Autodesk's reputation and driving demand for its product. They have a vested interest in the company's success, and they have essentially become partners with the company rather than competitors.
APIs vs Web Services
APIs can exist online or locally. One point that should be kept in mind is that web APIs and web services are not identical. Basically, a web service is nothing more than an API that has been wrapped in HTTP. Thus, not all APIs are web services, but every web service is an API.
Web based APIs can be categorized into various types like REST, SOAP and RPC. These APIs can be developed as well as consumed (utilized) in various programming languages and platforms like .NET, Java, PHP, etc. An API acts as bridge to programmatically connect two systems for control and communications.
Creating An API
Designing a new API requires understanding multiple perspectives. In order to create a successful API it is necessary to shift your perspective from that of the API designer to that of the API user. Rather than thinking about what your API can do, think about the different ways it may need or want to be used and then focus on making those tasks as easy as possible for your API’s users. Here are tips for creating a better API:
- Documentation – write good, clear instructions
- Stability & Consistency – plan ahead and publish differences between versions
- Flexibility – allow for a variety of input/output formats
- Security – offer examples to authenticate and authorize your API
- Ease of Adoption – keep it simple and provide support
At delaPlex Software, we excel at creating and implementing APIs and web services for a wide variety of products and systems. We have a vast arrary of skills and deep technical knowledge of popular API frameworks, API development tools, and API testing tools. We offer a dedicated team to work on your project, so you will always be ready to quickly expand your integration. Our team members are highly qualified, innovative and experienced. Whether you are an ISV or a small business, we can help you with all of your software-development-as-a-service needs. Contact us today to discuss your specific needs and learn more about the many ways that we can assist you.