If you went to a restaurant in the South of France where the menu was entirely in French, the waiter spoke no English and you non parles bon Francais, monsieur, you’ll need a translator. This could be an English/French Dictionary, a human translator or, more commonly nowadays, Google Translate.
Imagine now the menu had the English translation next to the French with a phonetic guide so you could ask for your dinner properly. This new, helpful menu is essentially an API for food – an agreed vocabulary or an agreed set of conversations so that pieces of software or technologies know what they have to ask for to get what they want, and the other piece of technology understands the request clearly. For you it means you get your baguette and soup du jour, for software systems, it means being able to integrate specific functionalities from different platforms, programs and technologies seamlessly.
Google Translate is actually a great example. If you built an app which requires language translation, you can incorporate Google’s Translation API into your plan. This is one of the more public facing demonstrations of an API, but as with apps, APIs aren’t just fun and games. They play a crucial role in the Internet of Things, AI and enterprise app technology. So, while they aren’t as showy as good design or fancy graphics, they are the unsung heroes of the app world.
With that in mind, what else do you need to know about APIs?
1. APIs for apps need close collaboration to get them right
The key for any app project is in the communication and understanding between developer, client and internal stakeholders from the beginning. We, the developers, have to delve into to the business as a whole to understand the service, the business needs, the customers, the functionality of the site, the data you hold and more.
This chain of good communication and collaboration filters through the app development all the way to the end user. Get the comms wrong at the start, and the end result is likely to be a confused product and a confusing experience for the people that matter. Get it right, and the app will more likely be cohesive, clear and rewarding experience.
It’s essential then that we develop close ties with the marketing and sales teams, the management team and, of course, IT to understand what the app needs to do and, by proxy, the requirements for the API.
An app developer like us doesn’t know what we don’t know about our client’s systems. If we don’t understand how a client’s system works, then it’s much harder for us to understand how the API works. If we don’t understand that, the app could potentially do some unexpected things.
To get an API that’s efficient, quick and responsive to the demands of the app, the most important thing is to build the relationships with the key stakeholders before the project begins. Which leads us to the next point.
2. You need to know what you want your app to do before you design the API
Calvium makes custom apps that usually work with custom APIs utilising our customer’s own data. For the class of large enterprise apps we typically build – Yachting Pages, Cabling Science, Yodel – it’s crucial to have the API nailed before you get too far down the app development.
You need to understand right from the start what you want your app to do – what services and features it needs – then plan that back into what the API has to do. If the API changes halfway through the project, it can lead to a lot of costly delays.
You can find out what it’s like to work with us in detail here, but generally our process starts with a discovery phase where we explore with the key stakeholders in the business what we want the app to do. Then we map the user journey through the app followed by thinking about the app behaviour. This process builds into an app spec by which point you have a pretty clear idea of what the app’s going to do.
It’s unwise to go much further than that until the API has been quite well defined. Once the app spec is mapped out, you have a clear understanding of the behaviours you expect from it. When you know that, you can define what information the app needs from the server, and it’s this list that forms the beginning of the spec for the API.
So the app and the API have a delicate symbiotic relationship with one informing the other. But the initial API design has to be driven by the tasks you want your app to complete.
3. APIs are far more efficient than pulling a whole website to an app
The way an app talks to your server is different to the way your website talks to your server. App developers like Calvium solely need access to the useful bits of information, separated from how it’s all rendered and how it all looks.
Compared to apps, websites are often bulky and bloated. The app will handle the look and feel anyway, and if you pull in all the information directly from your site the app becomes less efficient. That manifests itself in two of app development’s cardinal sins – eating up mobile phone data and slowing the app down. Efficiency is everything, and APIs can mean the difference between a high performing app and a suboptimal one.
Most modern tools and frameworks for making websites make it fairly simple to get an API out of it. But you need to check with the developer who built your site, or for out-the-box solutions, check with the platform it’s hosted on – WordPress, Drupal, Squarespace. This is a little more work, certainly, but generally not that difficult.
4. Not all APIs are free
There are companies that offer APIs as a service: The Met Office, for instance, offers some data for free. But if your app starts generating hefty download numbers, or if you need particularly specialised data, you have to pay.
In fact, a lot of APIs base their pricing structure on user numbers. This means the first however many thousand users may be free, but if your app becomes popular, it will cost you to access the information.
For businesses, heritage sites or organisations developing an app this needs to be factored into the planning. If you want to monetise your app, you need a lot of users. If you have a lot of users, you need to ask what APIs you’re using and whether you’ll be charged when it becomes successful. Normally those costs are a fraction of a penny per user, so you might only be paying £50 per million users, but it’s still a question that needs tackling.
5. There are public and private APIs
We’ve already mentioned one of the most commonplace – Weather – but there are thousands of publicly available APIs on the web, meaning that you can build in some impressive functionality into your app. From image recognition to language translation to artificial intelligence, there’s a raft of helpful APIs on the market.
The fact that they’re free and accessible doesn’t make it any quicker or easier to incorporate them into an app, of course, you still need to skillfully and artfully apply your secret sauce to make the functionality valuable and useful. But these APIs are there waiting to be leveraged in interesting ways.
Some businesses – particularly those that want to capitalise on large amounts of data for their app – need to build their own APIs to harness and utilise that data. If you have a custom built ecommerce site or a WordPress site, that information needs to be translated for a different platform i.e. a mobile phone.
These are private APIs, generally designed with a specific purpose in mind, and they require, as mentioned, a lot of thought about the type of information the app needs from the server, site or database.
The bottom line is, new technologies get all the credit. From VR to AI to the IoT, these technologies make global headlines. But APIs are the tireless workhorses that make sure these systems work together, both on a micro and macro level.
If you want an app for your business, the likelihood is you’ll need to develop an API at some point. The key is knowing what you want from it, understanding its role in the process and making sure your developer has the information they need to develop a creative, effective and efficient app around it.
Interested in the results of the work we’ve done with our clients’ custom APIs? Check out our Yachting Pages case study and find out how we can help.