The Universal API to Everything for Android

 In CloudRail

Why you should use more APIs

Many developers are already familiar with APIs, even if they don’t use them to their full potential. According to AppBrain, the most commonly used APIs within Android Apps are Google Analytics, PayPal, JavaMail, with many more following.

But, these are only the most basic of APIs. Almost all cloud services today offer interfaces, and many developers aren’t taking full advantage of the possibilities of them. Many Android developers are missing out on adding features that would set their applications ahead of others in the market. And this isn’t even considering the potential involved with the Internet of Things (IoT). More and more devices and services are having Internet connectivity added. Android Developers, on the whole, don’t think about the potential involved, for both their current apps and new apps.

Why most developers don’t use APIs

The problem with APIs is that they can be very hard to integrate into applications. Every API is different. Firstly, you need to learn exactly how the API works. How fast you can learn depends on the documentation for the API, and most of the time? It’s awful. Developers tend to be not that great at creating API documentation. Secondly, with each API you add, you have to worry about a different SDK to install to use the API. Initially, this may not seem that bad when you are only using one or two APIs, but when you have multiple APIs being used, you have to worry about keeping track of the update schedule for each one.

For these reasons, most developers avoid adding more APIs to their applications. Adding APIs can be a massive time-sink that takes away from being able to spend time coding. In fact, most developers have told us that about 50% of their development time is spent managing APIs and different SDKs. This caused us to ask ourselves the question; how can we change this?

Solving API problems with CloudRail

We are all developers at CloudRail, and hearing developers say about their problems just confirmed what we already knew. That including multiple APIs in applications (including Android ones) has a lot of possibilities, but because of the problems developers have adding them, this potential isn’t being used.

So, we created CloudRail. The idea is to have just one universal API to access multiple cloud services and devices. So essentially, just one API to every single other API. This means that instead of learning multiple APIs, and integrating and updating many SDKs, developers just have to manage one.

The steps to using CloudRails are these:

Step 1

home_select_services

Select all the services you need to integrate in your App.

Step 2

home_select_functions

Select the functions you need from those services.

Step 3

home_integrate_sdk

Integrate your personal CloudRail SDK in your App.

With the SDK installed, you can call the custom API you have made and connect to all of the services you have selected.

MySampleApp app = new MySampleApp(/** credentials **/);

app.init_Dropbox_Auth(/** options **/, new AccessTokenCallback() {
	public void onToken(String accessToken) {
		app.dropbox_Download(accessToken, "test.pdf", new Dropbox_DownloadResponseListener() {
			public void onSuccess(InputStream file) {
				// process file stream, e.g. save to disk or upload somewhere
			}
		});
	}
});

app.init_GooglePlus_Auth(/** options **/, new AccessTokenCallback() {
	public void onToken(String accessToken) {
		app.get_googlePlus_ImageURL(accessToken, "someUserIdentifier", new Get_googlePlus_ImageURLResponseListener() {
			public void onSuccess(String imageUrl) {
				// process image URL, e.g. download it
			}
		});
	}
});

app.init_Facebook_Auth(/** options **/, new AccessTokenCallback() {
	public void onToken(String accessToken) {
		app.facebook_Post(accessToken, "Hello facebook!", new Facebook_PostResponseListener() {
			public void onSuccess() {
				// post was successful
			}
		});
	}
});

Another great thing is that nothing you do passes the CloudRail servers. All data goes straight from your application to the API provider’s service.

CloudRail is built for developers

At CloudRail, we believe in a connected world. Giving every developer easy access to every API on a large scale is the only way to realise this dream. This is why CloudRail is completely free, even for commercial projects.

We currently have over thirty services and devices that can be accessed via CloudRail. Within the CloudRail workbench is also a configuration tool that allows anyone to define an API that can be used with CloudRail. This means that the growth of the network of available services is also built via the community, allowing the number of integrations to constantly grow.

One of the questions we do get asked is how we make money. To survive as a company, we are targeting enterprise customers with 24/7 support, SLAs and custom development services. No matter what though, one thing is clear to us. To enable the dream of an interconnected world, we will never charge developers for using the core CloudRail service.

CloudRail is currently available for Android and Java, with SDKs for iOS, Cordova, Phonegap and Node.js being published in the next few weeks.

If the idea of being able to easily integrate APIs excites you as much as it does us, please do check out CloudRail. We are also always happy to get feedback on the service or even welcome you as a contributor.

Recent Posts