Ignore the technical details- Japan released the world’s fastest supercomputer in 2002 that clocked 35 Teraflops. It cost a staggering $900 million. Fast forward 15 years, nVedia released its fastest GPU that clocked 110 Teraflops. It cost $3000. The point? The rapid evolution of technology- it makes even the most groundbreaking achievements of any time seem dwarf just a few years down the line. After all, having 128MB of RAM in supercomputers was a major feat at some point but today even 20X of that isn’t enough on our phones.
The same goes for software as well. Mobile applications are one of the most sophisticated pieces of technologies today that caters to millions (some even a billion) of users. Just launch one on your phone and you are just a few clicks away from availing almost any possible service. But as always, it isn’t enough. After all, it’s good to have fast, efficient, and feature-rich applications but it’s better if those are smart as well. And that’s the new frontier of mobile app development- not performance not interface but intelligence- primarily through Machine Learning.
So, whether you are just venturing out into the domain or already have an immensely successful application, if you want your product to be future-proof, incorporating intelligence is the least you can do. Now given that these technologies are too complex and sophisticated to be developed by each app developer, Apple released last year Core ML- a ready-to-use API that iOS app developers can deploy and reap benefits without actually having to deal with the complexities involved. Here are the basics:
What exactly is Core ML?
It is no secret that Apple is one of the leaders in Artificial intelligence and its practical applications through Machine Learning- think Siri or predictive typing or even the camera. With Core ML, Apple has put all that long-gained expertise into the hands of developers.
From natural language processing and image processing to data computation and even neural networks, Core ML comes with a wide range of API that has been trained to perform complex computations. While it supports more than 30 widely used ML models, it also gives developers the liberty to use their own data and training algorithms that can be later converted into one of Core ML supported formats. How do you deploy it?
After you have set up your development environment with all the regular tools, this is how you start:
- Pick a framework of your choice, write a basic model, test a small dataset and relate the output. Repeat unless satisfied with the co-relation.
- Once the model is ready, take some more data, and train it to test for predictions.
- Convert your model into one of Core ML supported formats.
- Import the model into Xcode
- Code the model
- Compile and run the model in the application or a simulator.
One key aspect worth noting here is that it is meant to deliver only static models- i.e., all the training needs to be done in the development procedure itself. Your model won’t continue learning after being deployed in applications.
What your app can gain from Core ML?
Though Machine Learning in mobile apps is still in its early days, most of the iOS app development companies are confident that the possibilities of this technology are virtually limitless. Even at this stage, it offers benefits to both sides-
Development end
Core ML essentially works as a bridge between conventional iOS development and cutting-edge ML implementation while also working as an added layer of efficiency by bringing such capabilities on-device rather than relying on communication to servers.
Consumer end
The final product has considerably improved performance and security.

