Make your application more robust using Ruby on Rails

Is your application missing a key component?

Comscore indicates that iOS and Android are still considered the top two mobile platforms, and Metova’s 2013 numbers support the notion they are crowding out others. But wait, what is that big red slice of pie on Metova’s Technology Offerings chart? Meet Rails, an up-and-coming web platform we use to add another dimension of support and customization to our mobile applications. 24% of our projects in 2013 were developed with Ruby on Rails, making it a benchmark year for us in web development. We expect the number of web projects to steadily increase.

We aren’t the only ones looking at the writing on the wall. An article on PR newswire discusses their observations.

“…enterprises are realizing the importance of the mobile channel and are moving beyond devices and applications devising new strategies to broaden their reach. Extending enterprise data and services to mobile developers via APIs is an approach enterprises are increasingly pursuing.”

Even Google is preparing. Last June, they announced the creation of their Mobile Backend Starter, a tool that aims to make it easy to add APIs to your application.

What does all this jargon mean?

Before we move on to what this means for you and your application, let’s brush up on some definitions.

Cloud: A reference to the Internet, but commonly used as a colloquialism for “infrastructure as a service” offerings such as Amazon Web Services and Joyent, which provide hosting services. The cloud is where backends and databases are hosted.
Backend: Web services that provide or augment features needed to support a robust mobile app.
Database: A collection of information.
CMS: An abbreviation of Content Management System. This is a user-facing interface created specifically to add/ edit/delete information in the database.
API: An abbreviation for Application Programing Interface. This is how an application sends/receives information from the backend.
Rails: A framework used to build API’s and Content Management Systems that interact with the database.
Ruby: The language Rails is written in.

Do I need a backend?

Do you want users to be able to access their information on different platforms or devices? Do you want to update what information users can access on the fly? Will you need to control access to your application? If you answered yes to any of those questions, a backend is definitely an option you need to explore.

With the frequency people are changing devices, having data or preferences stored outside of the phone can be a lifesaver. For instance, contacts are often stored locally on a device. When a user changes devices, that data must be moved manually or else it is lost. If this information were stored on the cloud, it would never be a problem. Almost all video and image sharing applications use their backend as a storage facility. This allows users to access information from any device.

Enterprise applications for companies that require user discretion and security commonly use backends for user management. If your application displays or allows manipulation of company data, you will want to manage who will have access. New hires will need to be given access as well as having the capability to remove users who have left the company.

Credit Union App Engine is a wonderful example of a Metova-developed application that uses a backend for both user and content management. Content Management Systems allow information to be updated via a web portal. The new content is then displayed on the user-facing application. Administrators create Credit Unions, which in turn create and manage users for their individual organization. These users can set what is presented on the application’s splash screen, the color themes, what images and text are shown for each screen, just about anything you could imagine. The next time a user opens their application they can see the updates. Updates can even be made to the application name, icon, and description. However, those changes affect how the application is displayed in the stores and must be updated manually by Metova or an administrator.


Does a device have to have a connection to get new data from the cloud?

What if I want my app to work offline?
No Problem! We can save information locally on the device until a connection is available. Once a connection is detected, the application will sync with the backend and update accordingly.

We already have all of our information stored in the web. Can you use that?
If there are APIs (application programming interfaces) available for it, then yes we can. APIs tell the developer how to program the application so that it can access and/or update the database.

Want more information or need us to develop a backend for you? Introduce yourself via our contact form or give us a call at 615-771-0975.

Jennifer Pike
Jennifer Pike