The term “The Cloud” has been floating around for a few years now, and it’s a nebulous term that can be confusing. When we’re told to store our data “in the cloud” for easier access, it sounds like that data is floating around just above our heads, waiting for us to reach up and grab it. This is somewhat right but mostly wrong.
“The cloud” is essentially a server or group of servers sitting in a room, typically a huge concrete building with lots of blinking lights and fans, waiting to serve data to those who request it. The goal is to provide persistent online services that can be accessed via the Internet from anywhere in the world.
The cloud lends itself to many different types of applications and services. Services like iCloud, Google Drive, and OneDrive give users access to their files anywhere with an Internet connection. This type of mass storage can be especially useful for portability. You can have thousands of pictures or videos available to you at any time. This is useful for almost any situation – business, social, or otherwise.
Another common use case is harnessing the cloud for extra processing power. This is especially useful when dealing with mobile apps, where the devices aren’t always capable of doing complex operations in a timely manner. Rather than running expensive operations directly from a mobile app, those operations are offloaded to the cloud, and the app waits for the data to come back down.
It also allows you to cache and aggregate user data, and use that information to improve the performance or user-experience of your mobile app. Showing a user products similar to the ones they have bought recently, or finding what else they might be interested in based on what others have bought are great examples of this. Providing suggestions based on user actions is a great way to keep people interested and engaged in an app!
My favourite use of the cloud is storing device-independent user preferences. It’s a great way to personalize an app for your users. They can pick up their app on their phone, tablet, computer, or even a smart watch, and the app looks and feels exactly how they want it to, without having to repeatedly change the app to their preferences.
There are downsides to cloud based services. Users require a consistent online connection in order to fully use your app. This can be worked around with careful engineering of the app to store things offline, and send them up when the user has a connection again.
This issue might be biggest for people who travel often, or for those who live outside of big cities. Apps that are constantly contacting a server might use lots of data. This is a problem when your app makes heavy use of pictures, videos, or other large files. This problem can be mitigated by local caching, lazy loading, or by only loading content that the user specifically requests.
Cloud-based services aren’t right for every app. Putting them in apps where they don’t belong can be expensive and awkward. However, in the right scenario, cloud services can be great for you and your users. They can lend huge convenience, or just nice touches, to the right app.