Start Here !

Welcome to my website. Find articles, presentations, tutorials, experiments on various technologies.

You can get in touch with me anytime at

r o m i n . i r a n i @ m i n d s t o r m s o f t w a r e . c o m

I am also active on Twitter (do follow me) and on Google+.


Quick Tip : Set Up an Android Wear Emulator

If you are planning on Android Wear Development, chances are that you probably do not have an Android Wear device and wish to setup a Wear Emulator.

So, the scenario is something like this:

  • You want to get started with Android Wear Development
  • You have the Development Tools (Eclipse or Android Studio) and the necessary SDKs in place via the SDK Download Manager
  • You have an Android Phone Device
  • You do not have an Android Wear Device and wish to use the Emulator for that

Continue reading

Google Cloud Monitoring API Tutorial

If you have any projects running on Google Cloud Platform, one of the things that you want to do is to understand various metrics like response times, latencies, database statistics and more. Recently Google released Cloud Monitoring API that allows you to get information on various metrics. These metrics are only expected to grow with time and will help you in numerous ways.These include building dashboards, writing custom alerts, understanding your monthly bills and more.

Screen Shot 2014-09-20 at 3.15.54 pm

I covered a short tutorial from a developer perspective on Google Cloud Monitoring API on ProgrammableWeb recently. Here is the link to the article.


Presentation on Kids Workshop

If you plan to conduct a programming workshop for kids, I have written a blog post that goes into those details. Here is a presentation that I recently created that captures the key points. Do refer to the Speaker Notes for a detailed description of the points.

If you have some additional points, do provide them in the comments.

Gradle Tutorial : Part 10 : Consuming Endpoints in Android Code

Welcome to Part 10 of the Gradle Tutorial. In the previous episode i.e. Part 9, we looked at writing Cloud Endpoints using Objectify as the Persistence layer. We wrote a Quote Endpoint class that exposed various methods like list Quotes, add Quotes, remove Quotes and modify Quotes.

This tutorial adds to both Part 8 and Part 9 of the tutorials, where it will show how to consume the Endpoints code inside of your Android application. This would sort of logically complete the step that we set to do earlier in the series, which includes:

  • Generate a Android Project in Android Studio
  • Add an App Engine module with Cloud Endpoints to the Android project, thereby making it a multi-module project. In Part 8 and Part 9, we looked writing Cloud Endpoints and testing them locally via the API Explorer.
  • In this episode, we shall look at consuming that Endpoint in the Android code. This would really make you as an Android developer appreciate the power of Endpoints since within the same dev environment, you can do your client development (Android app) and Server side Code (App Engine + Cloud Endpoints) and then integrate and test it out locally.

Continue reading

Gradle Tutorial : Part 9 : Cloud Endpoints + Persistence + Android Studio

Welcome to Part 9 of the Gradle Tutorial. In the previous episode i.e. Part 8, we looked at support for Cloud Endpoints in your Android Project and how it can form the basis for your mobile backend. Our focus in that part was to understand the mechanics of Cloud Endpoints inside Android Studio, testing out our API via the local API Explorer and so on.

This part of the tutorial is an extension of Part 8, maybe I should have called it Part 8 – Part II :-) but I am keeping it separate here so that we can focus on what it is meant to do i.e. address Persistence using Objectify in your Cloud Endpoitns.

For those of you, who are not aware of Cloud Endpoints, I strongly recommend going through a couple of my blog posts, where I have covered the premise for Cloud Endpoints and Cloud Endpoints basics in the first two parts of my Cloud Endpoints blog series. They are present here : Part 1 and Part 2.


This part assumes that you have installed Android Studio on your development machine and that you are familiar with basic Gradle commands, project structure and files as we have seen in the series so far.

I have used Android Studio (Beta) 0.8.6 on Windows for this blog post. It is not necessary to have the same version or the OS, things should be pretty much similar from a Gradle perspective.

We shall cover the following in this blog post:

  • Begin with a default Android application in Android Studio. Add an App Engine module to the Android Project. This part is the same as Part 8, so I will only mention the steps without putting in any screen shots. 
  • We are going to be using Objectify, a library that makes the task of adding persistence to your App Engine applications, as simple as it can get. Behind that simplicity is some serious piece of work, so a big thank you to the developer of Objectify.
  • We then develop a Quote Endpoint service, a simple service that allows us to manage Quotes by famous people. We shall look at methods to add, modify, delete and list Quotes and it will be backed with a persistent layer powered by Objectify.
  • We shall study the code in the Endpoints, test it out and also understand the additional gradle build dependency needed for Objectify.

Continue reading

Gradle Tutorial : Part 8 : Gradle + App Engine + Endpoints + Android Studio

Welcome to Part 8 of the Gradle Tutorial. In the previous episode i.e. Part 7, we looked at a multi-module Android project inside Android Studio. The multi-module Android project had an Android module and an App Engine module. The App Engine module was a basic one with a simple Servlet + JSP.

In this part of the tutorial, we are going to look at another multi-module Android project in Android Studio, except that instead of the basic App Engine project, we are going to look at Cloud Endpoints support inside of Android Studio. This episode and an episode or two following this one, shall expand on Cloud Endpoints but in this episode, we will keep things simple and look at the Endpoints basics inside of Android Studio. Continue reading

Gradle Tutorial : Part 7 : Android Studio + App Engine + Gradle

Welcome to Part 7 of the Gradle Tutorial. In the previous episode i.e. Part 6, we took a first look at understanding the Gradle build files that are generated for a basic Android application inside of Android Studio.

In this part of the tutorial, we shall expand on what we did in the last episode. We will continue to be with our basic Android application that has been generated in Android Studio. In addition, we are going to look at adding another module to this Android project. In other words, we are going to take a look at multi-module Java project inside of Android Studio and our knowledge from Part 3, where we loooked at multi-module Java projects will help us. Continue reading