Apps offer fantastic marketing and business intelligence opportunities. Modern smartphones and other handheld devices rely on many technologies to properly function. These same technologies allow app creators to collect tons of useful data and metrics about users. Of course, we’re talking about data collection within legal limits…looking at you, Uber. All of this data is rapidly generated, collected and stored. Modern ‘big data’ would not be possible without these data-generating devices.
So for app developers, the task is pretty straightforward, albeit not an easy one. A modern app development process has to include data generated by the application, as one of the cornerstones that drive app usability, both externally and internally. Externally, it has to facilitate data generation. Internally, it has to be able to funnel and store data in an appropriate manner that’s easily digestible by business analysts, marketers and other users who might want to get in on the action. Below, we share some guidelines, tips, and technique that should drive a data-centric mobile app development process.
Before diving into the topic, please remember that you have to understand upfront potential applications of data collected by an app. There is no point in building an app before realizing its potential, so based on your current level of data democratization and technical capabilities, some of these tips might be less relevant.
Understand the Scope
Let’s do the math. You have at least two primary operating systems that your app has to work with (if you’re looking at engaging people on multiple platforms). Each OS has its versions that get frequent updates. So you’ll be working with at least 2 or 3 live versions for each app. And this is very modest, as some people don’t update the OS on their phones at all. Now add some specific platforms, like BlackBerry, which might have their unique requirements.
Each time you’re not meeting the requirements for these updates, you risk losing users or simply not collecting the data that you might need, as each new version might have a slightly different architecture or upgraded functionality. You want to be able to gather data available through this new functionality.
So if you’re building an app that’s going to have data collection as one its core functionalities, then you need to be able to keep up with the dynamics of the technological landscape. Make sure that you can answer the following questions in the process:
If your app picks up, you have to be prepared to update it at least once a month, as this is the lowest threshold for popular applications and their update cycles.
This SQL or That SQL?
You’ve probably invested a lot into your current data management pipeline, as it was built up over the years. But have you considered the challenges that big data presents for standard relational database setups, such as MySQL?
Depending on your niche and app functionality, you might be looking at a lot of unstructured data passing through, such as audio, video, unstructured text (which you might find with the body of a message sent through the app).
All of this information is rapidly accumulated and with no particular relation to adequately structuring the database containing it all. Speaking in common words – your developers may spend as much time optimizing and reworking the database as they would spend on actually developing the application.
That’s why you should start thinking about developing a database structure that’s more appropriate for storing this kind of information. The most viable alternatives are offered by NoSQL and NewSQL database management systems. NoSQL has been around for decades, but given the rise of big data, it’s getting back into the spotlight. It has its flaws and might not be as stable or as consistent as relational databases.
That’s why there is a push to develop something in between, namely NewSQL. Roughly six months ago Google added its offering in this category, called Google Spanner, which should signal business owners and developers where Google thinks the technology is going.
At this point, it’s not a question of ‘if’ but a question of ‘when,’ and the development of an app geared towards big data might be a timely trigger for your business to make the transition. A lot of the new database formats can easily be connected to your standard database. For example, ClustrixDB is fully compatible with MySQL. Remember that this is a highly technical and sensitive topic, so make sure that you let your development team handle it. There are tons of migration options, like for TiDB (an open-source database), that has some excellent reading materials to get your developers started on the topic.
Backend-as-a-Service (BaaS) offers an alternative to autonomously developed and maintained mobile apps, especially to those that have to process large amounts of data. If your app’s backend is a warehouse, then BaaS is like a warehouse that’s owned by someone else, but you have the keys and can use it. This kind of setup lets your development team focus on what’s important for the app’s success, like additional functionality and user-friendliness.
BaaS or MBaaS (‘m’ stands for ‘mobile,’ which is specific to apps) gives developers APIs to backend services and only connects the app to all of those without the need for a lengthy setup. So instead of building your database, you just connect the app to the database provided by the service via the API. Below is a basic list of MBaaS services that your developers might be interested in, along with their distinctive traits.
Remember that there are downsides of using services like these. You’re highly dependent on their performance. For example, over a year ago, one of the most popular MBaaS services, Parse, announced its termination. It finally closed down in Q1 2017, and so within that period, a huge number of its users had to either migrate to another BaaS or look for an alternative solution.
Are Your Aiming for a ‘Dumb’ App or a ‘Smart’ App?
Collecting, managing and processing big data is a great intermediary goal for your business. But what will you do with that data? Are you going to try to process it through your standard analytics pipeline, which is not designed to process big data in a meaningful way? Are you going to empower it with a legacy rule-based logic that doesn’t improve the ROI of data, no matter how much of it you collect?
If you want to build an impactful and profitable mobile app that depends on big data, you have to give it some form of intelligence. There are a lot of applications for advanced analytics within an app. You can empower your business intelligence through data science and machine learning analysis. But that’s a whole new topic to discover, as BI applications of advanced algorithms and models are growing exponentially with each day.
Your app front-end, on the other hand, may not require that big of a resource investment. You can easily insert AI functionality into the app to improve the quality of provided services and interactions. Just like with BaaS solutions that we mentioned earlier, there are tons of cloud-based AI solutions that you can access via an API and drastically improve the functionality of the final product, leading to better customer experience.
These are just some of the household names, but the majority of other solutions that you may find will have similar functionality and variety of services.
Building an app that can handle big data and become a vehicle with which your enterprise acquires big data is not an easy feat. Your company may have to restructure the way you manage data on the most fundamental levels, but the long-term benefits of this transformation are incredible. An app that embraces big data offers improved functionality for its outside users and incredibly actionable and detailed insights for its creators.
Connecting all of these pieces of the puzzle requires a lot of skilled work, dedication and, above all, the right skill set. Your business might be at risk of stretching the internal resources too much when a big data app project ‘goes south.’ Careful planning, budgeting, and long-term vision are critical assets for this kind of endeavor. If you’re looking for an experienced development team for your next big data app – we’re here to help.
Do you have experience creating apps that process large amounts of data? What kind of bottlenecks did you have to overcome? What advice would you give to those people who are just planning their big data app? Share your thoughts and ideas below.