At Google I/O this year we saw the introduction of Firebase MLKit, a part of the Firebase suite that intends to give our apps the ability to support intelligent features with more ease. The SDK currently comes with a collection of pre-defined capabilities that are commonly required in applications — you’ll be able to implement these in your application regardless of whether you are familiar with machine learning or not.

Now, what Firebase ML Kit offers to us is already possible to implement yourself using various machine-learning technologies. The thing with Firebase ML is that as well as offering these capabilities underneath a form of wrapper, it also takes these technologies and offers their capabilities inside of a single SDK.

Whilst we can implement these things without Firebase ML, some reasons why we may not be able to do so may be due to:

Lack of machine learning knowledge may hold us back from being able to implement such features — maybe we find it overwhelming or just don’t have the time to be able to ramp up in these areas

Finding machine learning models that are super accurate and well trained can be not only difficult, but at the same time hard to choose which ones to use and then optimise for your platform.

Hosting your ML model for cloud access may also be something to bring difficult to your ML implementation. Packaging it within your app can sometimes be a more straightforward approach, but that itself comes with some drawbacks.

With these in mind, it can be difficult to know where to start. This is one of the main goals of Firebase ML Kit — to make Machine Learning to our Android and iOS applications more accessible to developers and available in more apps. Currently ML Kit offers the ability to:

Recognise text

Recognise landmarks

Face recognition

Scan barcodes

Label images

To be able to utilise these features all we need to do is pass our desired data to the SDK and in return we will receive the data back dependant on what part of ML Kit we are using. The data returned will be dependant on the machine learning capability being used, you will just need to extract the data from the response that is returned to you.

And if one of these above does not satisfy your machine learning requirements, Firebase MLKit offers the ability for you to upload your own custom tensorflow lite models so that you don’t need to worry about the hosting of these models or the serving of them to your users devices.