Before you read, hope you and your family are well in these unprecedented times. Please spend time with your family over this blog :)

First, Let’s look at the time spent in the app as per Statista for the past two years:


Image for post
Image for post
source: Statista


Image for post
Image for post

Time to prepare for the Mobile Learning Era!

The Priority

Let’s face it, we all need a backend for our mobile apps for something or the other. And being either being a Android or iOS developer many have the priority to focus on application performance and design(no doubt it should be).

As a result our backend ends up being a 3rd party service like Firebase, Parse etc. Performs great and app is working. Great! (ok maybe not that great). But in reality your app works ‘only’ like that, very little scope to extend the functionality!

The 2017 Era

At the end of 2016 and beginning of 2017 we have already seen a lot of Machine Learning and Artificial Intelligence in upcoming apps and we can see this will evolve into a huge thing. Even the big companies are investing heavily into this field. Everyone seems fascinating and mobile developers want to use in their apps too. …

Image for post
Image for post

Android Studio plugins to boost your productivity and power pack your IDE

1. Butterknife Zelenzy

Most useful plug-in for Android Studio/IDEA that allows one-click creation of Butterknife view injections. In addition to injections this can even generate click methods for you!

Now if you have been developing Android apps the most common logical problems you face are how to share data objects among different Activities or maybe more complicated situations like sharing between Activity and Fragment or maybe even more complex where there is no Context of any Activity or Fragment.

Though by now you must be thinking of Context passing or static methods, but then let’s be honest they are really painfull to handle. So what’s a better alternative?

Aha! The EventBus!

Before we start learning it, here is the gradle dependency:

compile 'org.greenrobot:eventbus:3.0.0'

EventBus is an android library by GreenRobot. Let’s understand how it will really help. There are basically three things you should know to use it. …

Image for post
Image for post

Let’s target a few questions that everyone has in their mind sprouting from the moment they hear about Kotlin.

What is Kotlin?

Statically typed programming language for the JVM, Android and the browser and 100% interoperable with Java™.

Static typed languages are those in which type checking is done at compile-time. Let us have a look at the code and understand the components:

val text = “Made with Kotlin”

Here as you can notice the value is created and assigned the text “Made with Kotlin” but we didn’t specify the type. …

Installing the Kotlin Plugin

To get started with Kotlin first we need to install Kotlin plugin provided by JetBrains. To install the Kotlin plugin you need to click on Preferences (Settings) and select the Plugins entry. Easiest way is to just start typing plugin as soon as the dialog pops up.

Click on the ‘Install JetBrains plugin…’ and select Kotlin from the list. Right-click and choose Download and Install, after that restart Android studio for the plugin to get activated.

Image for post
Image for post

Configuring Gradle

After the plugin installs do a new project or any existing one will also do, we still need to setup Kotlin dependencies in the Gradle configuration for our project to use Kotlin. …

While making Android apps there is a time when every developer wonders the efficiency of ‘Java Enums’ in their Android application. Well before getting into it’s usability let’s see how Enums(short for ‘Enumeration’)works:

As written by Oracle, ‘An enum type is a special data type that enables for a variable to be a set of predefined constants.’ What this means is, the variable is assigned a constant value within a set of values within that Enum type. Let’s see an example:

public enum Snacks {

So now each item is a part of the enum set Snacks with a static constant value but how to be really sure? …

Understanding which works best and when!

Relative Layout has been in use a lot due the ease and quick implementation of Android UI layout. But it comes with a great drawback. The way the Relative Layout works is “it measures each child twice”. What does the mean?

To explain this lets understand via code :

<Relativelayout ...><TextView .../></RelativeLayout>

Here the TextView would be measured twice while processing your UI during runtime which would take more time to display.

Now if you have a complex view hierarchy this would take up a lot of time just measuring. And it can go worse if Nested Relative Layout is used, the already twice measured child of inner Relative Layout would be again measured twice by outer Relative Layout which becomes 4 times just for one view! …


Vatsal Bajpai

Engineer @BranchMetrics | working on solving scale for Billions

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store