marine Learning in App Development

The term ‘machine learning’ may not mean much to you, but whether you know it or not, YOU mean alot to machine learning. In fact, dozens of machines are probably learning from your behaviours everyday and gaining a competitive advantage for their host applications.

Many of the apps and websites you or I interact with on a daily basis are in fact ‘intelligent’ to some degree and machine learning or ML is enabling this artificial intelligence (AI). For many businesses though, the thought of using machine learning in their app is a foreign concept — a privilege reserved for the Amazons and Googles of the world. But, this is changing.

The motivations for businesses to build intelligence into their applications vary. At DreamWalk, we’ve noticed increasing interest from clients in ML lately, ranging from smarts to improve user engagement to AI for better converting users into paying customers. ML has an endless variety of uses and those taking advantage of its power are seeing the results. A recent study by Accenture Research and Frontier Economics found that “AI could boost average profitability rates by 38% and lead to an economic increase of US $14 TN by 2035.”

Stanford University defines machine learning as “the science of getting computers to act without being explicitly programmed”. Once a complex niche field, ML is becoming more accessible every day and is now the fastest growing area of artificial intelligence. With the recent introduction of Core ML by Apple, integrating machine learning into iOS apps is now easier for app developers than it’s ever been.

There are obvious uses for artificial intelligence and machine learning, like in controlling self-driving cars or giving personality to sexbots, but many companies are using it far more discreetly to quietly improve and enhance our day to day lives.

Every time you go to tag a photo and Facebook suggests who to tag, this is thanks to machine learning. Over time, by watching how you and your friends add tags, Facebook has learned to identify you in photos, eliminating the need to tag yourself manually in your selfies and saving you time.

Whenever you apply a Snapchat lens, a machine that has learned about facial structures predicts where your mouth is, so it can make rainbows come out of it. It may not always get it right and that’s because the machine is still learning. But, over time it’ll get better and better, just like a human gets better at something with enough practice.



While these examples are public-facing displays of machine learning smarts, ML can be just as effective behind the scenes. My eyes were first opened to the possibilities of ML a few years ago when designing a music application called Jam for iPhone. The development team working on the project used machine learning to teach the app how to identify the musical key from the user’s vocal input and select a relevant chord progression.

The involvement of machine learning in the app is not immediately obvious to the end user. All the user knows is that the backing music being generated by the app is usually in key with their vocals. I say ‘usually’ because the app doesn’t always get it right and when it doesn’t, the resulting songs sound pretty horrible.

We put this occasional failure down to the limited set of training data we used to train the app. With machine learning, the effectiveness of the machine is limited only by the training algorithm and the amount and variety of training data it is given to learn from. The more data you give it, the more intelligent it can become.

In our case, we had to source or create all of the training data (song melodies) ourselves, which was a tedious task. Nowadays, thanks to Apple’s new Core ML and other open source advancements, you can find free pre-trained ML models that you can simply plug into your application. Using a pre-trained model you can skip the initial training phase and quickly take advantage of the benefits of ML in your app. There are, of course, limitations to using pre-trained models and using them still requires a thorough understanding of machine learning principals. In many cases though, these models can make the life of an app developer much easier, saving time and money.

Pre-trained models are generally designed to tackle the most common tasks, like detecting sentiment in text, identifying objects in photos or translating spoken words into written text. Just using these basic models you can achieve an amazing level of intelligence in your apps and perform a plethora of tasks.

Here are some examples of how basic machine learning can be put to practical use in an app:



Credit card scanning

Using text detection in video, an app can scan and read the details on a credit card, saving the user from having to enter the numbers manually. This extremely useful little machine learning trick has been used by a number of third party payment platforms like Jumio and to instantly give app developers access to credit card scanning and payment processing tools out of the box.

Sentiment detection

Sentiment detection can be used to prioritize and route customer feedback or enquiries. Messages from users who sound irritated or angry can be routed to a senior customer service agent and given top priority for timely resolution while less urgent sounding enquiries can be added to the regular support cue

Language analysis

Voice recognition and language analysis models make tools like Siri possible and have given rise to the chatbot phenomenon. You can use language analysis to simplify and automate customer service processes in your app, reducing the need for human involvement and reducing your operational costs

Automatic posting

Using a combination of different ML models you could theoretically develop a 2-sided marketplace app like eBay, but only require the user to take a photo of the product they want to sell and the app could do the rest. Using machine learning the app could identify the product in the photo, it could pull a relevant product description from the web and price the product according to recent sales data for similar products, all without the user having to do a thing

User behavior analysis

Arguably one the most powerful uses for machine learning is in the analysis of user behaviour. By tracking user’s movements through your app and learning from their habits, an intelligent application can suggest the most relevant products, offer incentives at relevant times and even optimize the price of products or services based on the user and their current mood in order to maximise conversions.

The possibilities are literally endless and as we see the adoption of AI and machine learning broaden to more and more apps with the help of Google, Apple and the open source community, there is no telling how far app developers will push the technology.


By Joe Russell – Co-Founder at DreamWalk Apps

Category: App Developer

%d bloggers like this: