July 20, 2016


A few days ago, I published an update to PHostpaid, a utility app for postpaid mobile phone services in the Philippines (Globe, Smart, Sun Cellular).

PHostpaid is one of the first Android apps that I have developed. I started developing it back in 2011. That time, I just bought a Nexus S, and had a new Globe postpaid plan. Nexus devices do not (yet) have a SIM tookit and Globe does not have an app for it. To check my balance and unbilled charges, I have to always text some keywords to a number. It was annoying for me so I decided to build a simple app for myself. I was also thinking of an actual app to build that time.

A few days after developing and using the app for personal use, I decided to publish the app on Google Play Store. Before publishing, I wanted to add the other mobile operators in the Philippines (Smart, Sun) offering postpaid mobile services. I had to do extensive research (including asking existing subscribers from these telcos) to be able to update the app.

I was never that good in choosing titles for my articles so I was not sure how to name the new app. The name I chose was just "Postpaid" and I just changed the first letter P to PH (for Philippines ).

In the next few months, I had published a few updates to the app. The last update I had was in the third quarter of 2014. I decided to update the app now with the Material Design toolbar and handling Marshmallow permissions.

If you want to try the PHostpaid app, download it now on Google Play Store now.

July 6, 2016

Firebase for Android Developers

At Google I/O 2016, Google announced that Firebase is expanding to become a unified app platform for Android, iOS and mobile web development. Firebase includes features and integrations designed to help you develop high-quality apps, grow your user base, and earn more money.

Firebase features work independently and you can choose the features that you need. At the heart of Firebase is Firebase Analytics, a free and unlimited analytics solution for mobile apps.


  • Cloud Messaging: Google Cloud Messaging (GCM) is now Firebase Cloud Messaging (FCM). FCM is a cross-platform messaging solution that lets you reliably send and receive messages to Android, iOS, or the Web at no cost.
  • Authentication: Firebase Authentication provided backend services to authenticate users via Google, Facebook, Twittter, and Github sign-in, email and password, and even custom auth system.
  • Realtime Database: Firebase Realtime Database is a NoSQL cloud database that syncs data across connected clients in realtime, even when your app becomes offline.
  • Storage: Firebase Storage, powered by Google Cloud Storage, provides easy, secure, and scalable uploads and downloads of images, audio files, videos, and other user-generated contents. It also gracefully handles poor network conditions.
  • Hosting:Firebase Hosting allows developers to quickly deploy web apps and static content to a secure content delivery network.
  • Remote Config: Firebase Remote Config is a cloud service that allows you to customize the look and feel of your app without downloading updates, via instantly-updatable parameters.
  • Test Lab:Cloud Test Lab is now Firebase Test Lab for Android. It is a platform where you can automate testing of your app on real devices hosted in Google data centers.
  • Crash Reporting: Firebase Crash Reporting gives you prioritized, actionable reports to help you diagnose and fix problems in your published apps.


  • Notifications: Firebase Notifications is a free service that enables targeted user notifications for Android and iOS devices without writing a line of code.
  • App Indexing: Firebase App Indexing, formerly Google App Indexing, brings new and existing users to your app from Google search.
  • Dynamic Links: Firebase Dynamic Links are smart URLs that work the way you want them to. They can link to different content depending on the platform they are opened and even persist across app installs.
  • Invites: Firebase Invites is a cross-platform solution for easily sending referral codes or content via personalized SMS or email invitations to their network.
  • AdWords: AdWords Google's advertising platform for user acquisition and engagement, is now integrated with Firebase.


  • Admob: Firebase is integrated with AdMob, Google's mobile advertising platform that allows you to monetize mobile apps with targeted, in-app ads.

Android Setup

Firebase runs on Google Play Services (9.2+) and is available for Android 2.3 and higher. To add Firebase in your Android project:
  1. Go to the Firebase Console. Create a new project or open an existing one. You can also Import Google Project if you already have one for your app.
  2. Click Add Firebase to your Android app and provide your app's package name (required) and signing certificate (optional).
  3. Download the google-services.json file and copy it to your project's module folder (app).
  4. Add classpath 'com.google.gms:google-services:3.0.0' in your project's build.gradle file.
  5. Add apply plugin: 'com.google.gms.google-services' at the bottom of your module folder's build.gradle file. Add the dependencies for the Firebase SDKs you want to use.

The Firebase SDK dependencies are in the com.google.firebase:firebase-x:9.2.0 format where x can be core (Analytics), database (Realtime Database), storage (Storage), crash (Crash Reporting), auth (Authentication), messaging (Cloud Messaging/Notifications), config (Remote Config), invites (Invites/Dynamic Links), ads (Admob). For Firebase App Indexing, the dependency is com.google.android.gms:play-services-appindexing:9.2.0

What's Next?

Try the Firebase Android Codelab and read the Firebase Docs to learn more about the new Firebase.

June 25, 2016

Canada Trip

After attending Google I/O 2016, I went to Canada for a weeks of vacation. Celine and I went to Centennial Beach, Vancouver Aquarium, Stanley Park, VanDusen Botanical Garden, White Rock Beach and Pier, Capilano Suspension Bridge Park, Sun Yat-Sen Park and Dr. Sun Yat-Sen Classical Chinese Garden, TELUS World of Science, and International Summer Night Market.

Centennial Beach

Celine's family celebrated Victoria Day at Centennial Beach and Boundary Bay Regional Park in Delta, BC.

Vancouver Aquarium, Stanley Park

We went to Vancouver Aquarium. It was great to visit there before we watch Pixar's Finding Dory. Aside from seeing fishes, beluga, whale, and other marine animals, we got to touch live stingrays in the Discover Rays Touch Pool.

After visiting the Vancouver Aquarium, we walked around at Stanley Park.

VanDusen Botanical Garden

Celine and I also went to VanDusen Botanical Garden, a 22-hectare garden in the center of Vancouver. It contains 7,500 unique species and varieties of plants arranged in 50 distinct living collections.

White Rock Beach and Pier

Psych is a TV series that Celine and her family loved. Most of it was shot in White Rock, BC. We went to White Rock Beach and Pier to check out the place. I still haven't watched any episodes yet when we went there but I did start watching after.

White Rock Museum and Archives, the Psych office

Capilano Suspension Bridge Park

Celine and her siblings have been to Capilano Suspension Bridge Park and she highly recommend that we go there. The Capilano Suspension Bridge is a simple suspension bridge crossing the Capilano River in the District of North Vancouver.

We took the free shuttle service from Downtown to Capilano. We joined the guided tour of Story Centre and Kiapilano Totem Poles before crossing the suspension bridge. On the other side of the bridge, we walked in the Rainforest Exhibit, Treetops Adventure, and the Nature's Edge Boardwalk. After crossing back the bridge, we walked in the Cliffwalk.

Sun Yat-Sen Park and Dr. Sun Yat-Sen Classical Chinese Garden

Celine and I went to Chinatown to visit the Sun Yat-Sen Park and Dr. Sun Yat-Sen Classical Chinese Garden. Sun Yat-Sen Park is a free public park. On the opposite side of the pond is the Dr. Sun Yat-Sen Classical Chinese Garden.

TELUS World of Science

We went to TELUS World of Science. We watched the movie D-Day Normandy 1944 in Omnimax Theatre first. Afterwards, we looked around and tried the various science exhibits. We also tried the Top Secret spy game.

International Summer Night Market

We went to the nearby International Summer Night Market. Celine and I had takoyaki and okonomiyaki. We also tried Chimney for dessert.