Google Developer Days – India 2017 (#GDDIndia)

Google Developer Days (GDD) are global events showcasing the latest developer products and platforms from Google. This year’s event was organized at the Bangalore International Exhibition Center, India. From what I hear, there were many registrations and I was one of the lucky few to get confirmed. This was by far the biggest Google event in India with over 100 Googlers.

The event featured technical and casual talks, training and informational sessions on a range of topics including Android, Firebase, Tensorflow, Google Cloud Platform, Internet of Things (android things), Progressive web apps (PWAs), Search engine optimizations, Google Assistant, Actions on Google etc. You can catch the keynote here.

Attending Google IO has been my dream for a long time and this event was almost a mini IO. I was super excited. The sad part with events such as Google IO and GDD is, there are several sessions happening in parallel, and unless you have Hermione’s time turner you can’t catch them all. The happy part is all the videos are available on YouTube.

The 2 days (1-2 Dec 2017) of the event were filled with amazing sessions and hands-on training of many Google technologies. There were 2 halls for training, 2 for sessions, one community lounge, and booths for partners, demos, and Q&As.

GDDIndia started with a keynote speech from Pankaj Gupta, Anitha Vijayakumar, Tal Oppenheimer, Francis Ma, Kaz Sato, Dan Galpin, and Sachit Mishra. The speak gave a good overview of the recent releases of Google technologies and products designed specifically to serve the Indian market. Google is really going all the way and this event is yet another proof.

Next, I headed for the Build An App Architecture Components training session by Lyla Fujiwara. If you have been following Android and Google development channels, you already know Lyla. Architecture components were announced in Google IO 2017. It addresses some of the most common issues of Android app development and makes Android app development so much fun. Architecture components is a way to architect android apps and uses components like Live Data and Lifecycle and makes code testable. Lyla explained the concepts and walked us through Codelab. There were tons of TAs (teaching assistants) helping the audience with Codelab. To be honest, I didn’t quite like it as I can do the Codelab anytime I want rather than do it in the training. But yes, all my architecture component queries were dead after this session.

I had attended only one hands-on training session and had missed over 10 events already. Telling myself that the sessions will be on YouTube, I moved on to the next session; Android Oreo and support library session by Daniel Galpin. The session was quite good. He covered adaptive icons, picture-in-picture, notifications, shortcuts, auto fills, strict mode, downloadable fonts, compact library changes etc. In short, everything that was released last year. The session was short, crisp, informative and to the point.

I did not want to miss the Android things training on creating own Internet of Things (IoT) devices. It is an Android-based embedded operating system platform by Google. Android things is aimed to be used with low-power and memory constrained IoT devices. This was one of the most popular training sessions of the event and I barely managed to get in. I got to experiment with Raspberry Pi and i.MX7D board and followed Codelab. It was fun flashing Android things OS in Raspberry Pi. I couldn’t finish Codelab in time because of some error in booting the display module but I can try that later. I then attended some more sessions on extending Google docs, Android vitals and material design and the “After Party”. The first day was over just like that.

Day 2 keynote by Sebastian Trzcinski-Clément and Sowmya Subramania started with Google’s efforts in changing the world, one bit at a time. Sebastian explained about Google Launchpad program for startups. This was followed by a special interview from Dr. Geetha Manjunath, CEO, and Co-Founder of Niramai (a part of Launchpad program).

TensorFlow for Poets 2: Optimize for Mobile was the next training for bringing the power of machine learning into android. The models for machine learning take considerable space and hence are not suited for mobile. TensorFlow lite addresses this issue by bringing down the model size to make it usable in Android apps. There was some internet issue (read no internet) and I couldn’t finish the Codelab, but Kaz Sato explained the process in layman terms, in Codelab and in another session after that. Then I hopped into the community lounge for GDE program info (Google Developer Experts). A GDE is someone recognized by Google and the community, as an expert in certain Google technologies. This was all about becoming a Google developer expert. Nice pep talks from existing GDEs and Googlers.

There was another session by Lyla Fujiwara on Android Instant apps. Here is a little info if you don’t already know about it: with Android Instant Apps, we can divide an Android app into small apps which contain one or more features. The beauty of instant app is it allows a portion of an app to run on a device without actually installing it. No separate codebase needed.

Since I am attending Google Developer Days, how can I forget Firebase? Having missed some sessions, I attended the next session on live coding and Firestore with cloud functions. Firestore is a document based real-time database and works seamlessly with cloud functions. This was one thing that was missing from Firebase; a real-time, all-powerful, scalable database. It contains all the goodness of real-time database and scales easily. Live coding and information were well received by the audience.

There were a couple of more sessions on Google Sheets API and SEO (Search Engine Optimization) for PWA (Progressive Web Apps). PWAs are websites that can reside on a mobile device as a tiny-app and supports push notifications and local storage. You create an app without actually creating it, just modify your website and you get yourself a PWA.

That was the end of this grand event. I learnt a lot of stuff, in fact too much to digest in a couple of days and I have missed ~75% of the sessions. Now, I just can’t wait for the next Google Developer days event.

-Kaushal Dhruw (@drulabs Twitter / GitHub / StackOverflow)

Firebase cloud messaging in iOS

Cloud messaging or push notification is one of those “topics” that gets left out. Primarily because we are too busy beautifying the app, or working on a new feature, or we think it isn’t a big deal. Push notifications are as big a deal as any. Whether you want to re-engage your users, or deliver personalised content, or display targeted advertisements, push notification is the way to go. Continue reading

Go ServerLess with Firebase cloud functions

Firebase Cloud function

With announcement of cloud functions beta at Google cloud next 2017 event, Google has added one of the highly requested features in the firebase suite. This is one major step from Google in making firebase serverless. In this post, we will see some of the capabilities, pros and cons, setup and deployment of firebase cloud functions. Google IO is just days away and knowing about firebase is surely going to help in understanding the upcoming firebase features. Continue reading

Android product flavours and configuration

Product Flavours have been around for quite some time now. I feel Product flavours are one of the coolest things about android and android studio. I am so smitten by product flavour that I decided to write a post about it :p. What follows will be introduction, application, grouping, filtering and configuration of product flavours in android. If you have already applied these and have any questions, shoot in comments below or mail me directly (details at the end of the post). Continue reading