Blog : mobile applications

Application Programming Interfaces (API)

Application Programming Interfaces (API)

When companies go design their new shiny corporate app, a software engineer might tell the boss that the proposed mobile application will have to ‘talk’ to other computers. In order to facilitate this digital chit-chat, an added program may be needed to facilitate that electronic conversation. These coded exchanges are often facilitated by an Application Programming Interface (API). These may sound complicated, but they really aren’t. An API is just a way for one software system to interact with another. APIs form a set of rules and protocols that are designed to help programs communicate. Through an API, different software solutions can be integrated and work together. This is incredibly important for all levels of software development. 

How Does an Application Programming Interface (API) Work?

Imagine that you are from France and you only speak French. An acquaintance of yours is from Italy and only speaks Italian. How can you talk to each other? Many programs interact exactly like this; they have their own internal methods and processes that they use to complete tasks. A third-party program will need to learn to “speak their languages” and help the first two programs to understand each other. This is needed if they are going to complete a task.

You’re probably most familiar with APIs through eCommerce portals: online shops. When you’re buying something online, you’re often given the option to pay through PayPal. But how does PayPal know how much to charge you? How does it know what items are being purchased and who to send the money to? The website is using PayPal’s API: a series of directions that PayPal has published for interacting with their system.

When you buy a shirt through an online shop, the online shop sends that data through PayPals API. PayPal then collects the information, which has been formatted properly for its use, and uses it to charge you. It then sends information back to the online shop, regarding whether or not the transaction was successful. To you, the user, this transaction will appear quick, easy, and seamless. But there’s a lot going on in the background!

How Can APIs Be Integrated Into Mobile Devices?

Mobile applications often take advantage of APIs for advanced features. One of the most common examples is the Google Maps API, which includes all of the information that Google Maps does and is available for both Android and iOS. The Google Maps API has been the foundation of many critical apps, including the recently popular Pokemon Go. Other commonly used APIs include weather services, social media integration, and local directories. Through APIs, developers can gain access to a suite of features and a wealth of data that they would otherwise have to collect themselves.

Can an API Be Dangerous?

By now, you may be wondering whether an API could be used against you. Can it take you places without your knowledge? Can it transfer your information without you knowing? Put simply, yes: once you hand your information over to a software system, it can use that data as it wants. If you load an app that has a Google Map API, then Google may very well be able to see your location. And an API itself can become a vulnerability within a system.

This underscores the importance of maintaining your own security and using only reputable software vendors. In fact, many recent security leaks have occurred due to third-party software solutions. That being said, most software today contains some element of API usage, and it is impossible to avoid. For mobile devices, security settings can often be managed to control what you do or don’t give out — to anyone.

APIs provide an incredibly useful and necessary method of communicating between programs. For developers, they allow project teams to take advantage of resources that they would otherwise have to build themselves. For users, they ensure a better overall user and are often seamless in integration. Either way, APIs are an essential part of software development.

Exploring a complementary user experience

Exploring a complementary user experience

An excellent user interface (UI) and user experience (UX) is necessary in today’s interconnected world. In our lives, it’s common for users to use multiple smart devices in multiple environments. As users move between devices, it makes sense to transfer a user’s UX across those platforms. An example of this type of event may start by watching a Netflix movie on your living room television. After a while, you get up and continue watching that film on a laptop in the garage while you work on the lawnmower. That singular experience is maintained through different environments and platforms.

The key is providing a seamless UX within a user’s network. Each device becomes an extension of that network; each is a compliment for the other devices in that network. A complementary user experience allows for mobile applications and experiences to intermingle across these platforms. The true essence of the event is found in the experience, not the network.

Mobile gaming apps are another type of application that can benefit from complementary designs. SMHK Funklab’s game Padracer uses an iPhone as a steering wheel and an iPad as a racetrack. Extra iPads can be added to the game as well. The creativity behind Padracer led to its success as one of the first mobile games with a complementary design.

There are two main types of complementary designs: collaboration and control. In a collaborative design, two different devices have different functions. Padracer falls into this category. Control designs allow for one device to remotely control the other which typically serves the main function. An example of this would be using your smartphone to switch the song playing off Spotify from your laptop. Devices in the complementary ecosystem can also fall into two categories: must-have or nice-to-have. A must-have device is required for the app to function. In the case of Padracer, an iPad and iPhone are must-have devices that are necessary to use the app. Additional iPads add to the experience but aren’t required. These extra devices fall under the nice-to-have category.

A complementary design can unlock endless options for a business to provide an enriched experience for app users. More and more companies are discovering how a complementary UI/UX can lead to company growth. A study by AppDynamics discovered that 65% of people have very high expectations for app performance. Additionally, 30% of customers would spend more money on a company with a good app. If your business uses a mobile app, consider how multiscreen compatibility could boost your user experience.