Create an Instant App Using Android App Bundle

Articles

Instant Apps is a technology introduced over two years ago at Google IO. An Instant App is designed to give your users a native Android experience without them directly installing the app from the Play Store.

Essentially, this is how it works: You split your app into smaller pieces called Features, which you can locally bundle in a zip file called an instant bundle. Then you upload that bundle to the Play Store, which can then choose from the set of APK’s, and finally deliver to user devices.

Continue reading Create an Instant App Using Android App Bundle

Phone Number Verification via SMS in Android Using Firebase

Articles

Validating identity is incredibly important in mobile development, and assuring new user signups are real human beings is critical. Developers need reliable ways to confirm the identities of their users to prevent security issues.

Developers can implement verification systems using phone numbers in two main ways: either by calling or by sending an SMS containing a code that the user must input.

Continue reading Phone Number Verification via SMS in Android Using Firebase

Implementing social login and user profile management in Android with Firebase

Articles

Following up on my earlier blog on implementing authentication with Firebase (email + password), this blog post will focus on implementing a social login with Firebase and managing an already-logged in user’s profile. If you haven’t read the previous post, you can read it here:

While allowing users to authenticate via email and password is helpful, it’s generally more convenient to instead let them log in to your service using a third-party auth provider like Google, Facebook, Twitter, etc. While this is easier for users, it also allows you access to more user data like their name, profile pic, and so on; whereas, with an email-password login system, we only have access to the user’s email.

Continue reading Implementing social login and user profile management in Android with Firebase

Exploring user behavior in Android with Google Analytics for Firebase

Articles

As a mobile developer, getting user feedback on what features to implement next and what areas to improve upon in your app is an essential part of the development process. And this is true not just for improving app features, but also for ensuring that users who aren’t happy with the app don’t get rid of it for good!

Continue reading Exploring user behavior in Android with Google Analytics for Firebase

Decision Tree Classification in Python with Scikit-Learn

Articles

Experimental studies have shown that a few trees properly placed around buildings can reduce air conditioning needs by 30%, thus reducing energy consumption and bills.

Similarly, tree-based predictive modeling, implemented using decision trees, can increase a business’s profit by predicting, for example, what customers would prefer in future, thus helping them making informed decisions well in advance.

Continue reading Decision Tree Classification in Python with Scikit-Learn

Handling Background Tasks with Kotlin Coroutines in Android

Articles

Most Android apps perform one or more background tasks, often including the ones that are long-running. Examples include making a network call, an I/O request, database read/write — you get the idea.

More often than not, upon completion of these background tasks, we need to take an action that’s visible to the user. These can include:

A confirmation Toast msg — upon a successful DB call Taking the user to a new screen — upon a successful sign-in network call Showing an error msg popup —upon the failure of an I/O operation
…or anything, literally!

Continue reading “Handling Background Tasks with Kotlin Coroutines in Android”

Exploring Activation and Loss Functions in Machine Learning

Articles

In this post, we’re going to discuss the most widely-used activation and loss functions for machine learning models. We’ll take a brief look at the foundational mathematics of these functions and discuss their use cases, benefits, and limitations.

Without further ado, let’s get started!

To learn complex data patterns, the input data of each node in a neural network passes through a function the limits and defines that same node’s output value. In other words, it takes in the output signal from the previous node and converts it into a form interpretable by the next node. This is what an activation function allows us to do.

Continue reading Exploring Activation and Loss Functions in Machine Learning

Exploratory data analysis: Data characteristics and visualizations

Articles

One of the most challenging questions data scientists face is how data can bring value to a specific problem. Before jumping directly into solving a problem using machine learning and AI, it’s important to decide whether that problem is solvable or not.

And to decide this, data analytics comes into the picture. Having the proper insights on your data helps you to obtain the confidence to know that you are ready to engage a machine learning algorithm, hence making it easier to find out the best way to tackle the given problem.

Continue reading Exploratory data analysis: Data characteristics and visualizations

Ensuring app quality in Android with the new Firebase Crashlytics SDK

Articles

This is the follow-up blog post from my previous article on using Google Analytics for Firebase. While GA allows you to measure and understand user behavior, Crashlytics instead allows you to track and keep a log of all the crashes that have happened on the devices using your app—regardless of whether they choose to report the said crash or not.

Continue reading Ensuring app quality in Android with the new Firebase Crashlytics SDK