November 3, 2014

Android - Maps & Technology

Part of an Android Academy class focusing on developing Maps and having a good architecture on Android

As a complement for this presentation, you can check this GitHub repository.

August 22, 2014

Pick a Portuguese Name (or how my son made an app appear)

I recently became a father. As all fathers (I think) one of the things that took some time to choose was the name of my child.

In Portugal there are some "hard" (and weird) rules about what names can be given to a child as can be read here. So I've compiled a list of possible names (which still does not have all the names possible but is a already very extensive list) and thought that it could be fun to develop an app which provided the list of names to future parents and the meaning of each of the names.

It is still in a very early state, by I've open sourced it. If you want to help (or fork it), be my guest.

If I manage to finish it, and get to a an app that I really like the UI/UX i'll publish in the Play Store and provide here the link.

August 1, 2014

How some coincidences make you smile.

Well, we all have some coincidences in our life that we smile about, specially when it is obvious that what happened is not really related to you, but it really seems that way for a split of a second.

On the 15th of July I've talked with some engineers from Facebook (who were developing the Android app) about some boring use-cases I had when using the app:

1. The link nightmare
Everytime I clicked a link on Facebook for Android it opens on the default browser, (Chrome)... all went well, until I tried to return to Facebook... if you are an Android user you probably have noticed that Chrome uses a LOT of memory, which makes most of the background apps die.
This is not a problem for most of the use-cases, but when using Facebook it would really bore me, as when I returned to the app, it (re)started and was nowhere near the place where I was on my news feed... in fact the news feed was entirely different...

That made me start to avoid opening links on my Android device.

2. My attempt on solving the link nightmare
Well, on Twitter, I don't have any link nightmare... why? Simple. If I want to open the link right away I just open, and even if the app is killed, when I return to it, the feed is exactly at the same place.
That wasn't an option for Facebook for several reasons.. so my approach was my second most common behavior on Twitter when see interesting links... star it.

Most of the times I really don't use the star to mark a favorite tweet or something like that, I just use it as a bookmark to save that tweet for later use. Unfortunatly Facebook has no such thing....

Until the 21st of July....

"Two years after acqhiring read-it-later startup Spool, Facebook today launched a basic Pocket competitor called Save. It’s a feature for iOS, Android, and web that lets you store links from News Feed and Facebook Pages for Places, Events, Movies, TV shows, and music to a list where you can view them later."


Guess what happened a few months later...

"Facebook is rolling out a new feature in its app that many have offered for some time — an in-app browser — to speed up reading and sharing of links found within the social network. As is the case in many RSS readers and Twitter apps, Facebook's in-app browser will load the web page of a link you clicked within the Facebook app, rather than tossing you out to Chrome or another browser that you have installed on your phone."

Although I know that this had really nothing to do with me, it still makes me smile as it makes me thing that as a developer I can see how some big-shot apps UX be improved quite clearly.


With the advent of Mobile Phones we started to store the numbers of our family and friends on the devices and slowly forgot what is our best friend phone, or our grandmother. But how can we remember any of them if we never need to remember them? The problem begins when we don't have our phone, or it runs out of battery...
Well... now you just press the name in the contact list and puff: This app helps you memorize the numbers of the people you want: Whenever you go to your contact list and try to call a number, it will only let you call it if you fill in the missing number(s).

I've really develop this when I found out an API which allowed me to intercept any outgoing call. So I started wondering what I could do as a kind of proof of concept that could use that API.

I've ended up with this really basic app, which serves to demonstrate the use of this. I suppose most of the Android users don't really want (or need) to memorize phone numbers... but it was fun to develop!

Get it on Google Play

Developing Android - Good practices

A wide look at how to develop in Android using a lot of information given by Google on their Google IO talks.

All the images and graphics are not mine and their author is when possible referred.

A great thanks to Google for providing great videos.

June 17, 2014

Thunderbird + Google Calendar + Work email...

Thunderbird + Google Calendar + Work email = Work Events syncronized with GCalendar with reply from my company's email.

For some time I was unable to use one of my Google Calendars to manage my work meetings...

Finally I've got this working with all the functionalities I wanted which are:

- Use Thunderbird to manage events
- Have the work events' syncronized to one my Google Calendar (not the main one)
- Accept & Reject events sending the mail with my company's email address

How to do it? 

1. Install the Lightning plugin 

Here starts the magic:

2. Create a Google Account with your work email

3. Share your Google Calendar created with the Work Email with your "normal" Gmail account (to be able to manage all from a single Google Account)

4. Add your Google Calendar (from the Work Email Account) by CalDev using:
Where calid should be replaced by the "calendar ID" of the calendar to be accessed. This can be found through the Google Calendar web interface as follows: in the pull-down menu next to the calendar name, select Calendar Settings. On the resulting page the calendar ID is shown in a section labelled Calendar Address. The calendar ID for a user's primary calendar is the same as that user's email address.

It will be something like:

5. (Opcional) Remove the default calendar for Thunderbird (making the one you just added as the default one)

6. (Opcional) If you are moving from an old calendar, you may export the events from that one to this new one like this.

7. Configure your Thunderbird STMP settings to send by default through your work email (to guarantee that  the invite responses are always sent by that email).

Now you are able to:

Receive invites for events and add them to your GCalendar email by accepting or rejecting


 Accept or reject sending the email from your work email instead of Gmail.

I've found somebody that explain ALMOST the same (without the Work email part) but has screenshots of each step. If your more a GUI then a console guy here's the link.

June 16, 2014

Use Gmail (POP) for Work Email but still be notified in real time...

I've used my Gmail as a hub for all my emails, several personal email account, work account etc.

It works great for me, as I have all the support and capabilities of Gmail specially on my smartphone which I consider as an advantage towards other solutions which are:

- Use Thunderbird or other client: The email gets stuck on one device as well as the contact list which is great when you have that device... but not so great when you don't have it near.

- Don't have multiple accounts configured just to have notifications: For example configuring Thunderbird with the IMAP accounts I want to receive notifications and also Gmail... this was a stupid solution as I had to have Thunderbird always opened and I wanted a lightweight solution.

- Use web version of each of the accounts... which is even works as I wish to have 1 place and not 5 to check often.

So.. how could I receive real-time (IMAP) notifications instead of having the delay of 30 minutes of Gmail fetch from POP?

So I've found a simple and really lighweight application for Windows that gives me that:

Gmail Notifier Pro

This small application allows me to configure all the accounts I want with IMAP, providing me notifications in "real-time" for all the accounts that Gmail fetches.

Simple, lighweight and... just gets the job done!

May 1, 2014

My Basic Productivity Kit

So each time I change my (Windows) laptop or format it I find myself asking... what else do I need to install.

I've decided to make a list of "what to install on a fresh machine so I can work properly". Here it is, it might help someone:

Google Chrome


Android Studio

Android SDK

Tortoise SVN or Git







Putty or SecureCRT


Gmail Notifier Pro



JShot Tray

March 17, 2014


So.. I have a personal blog, where I wrote somewhat frequently in the past, so why a new one?

First this will be English-only blog and will focus on my "work-self" instead of the "life-self".

So... get ready to some code stuff (mostly Android/Java) and ranting... specially about software development processes... or lack of them.

Oh, of course, I was forgetting the cliché's image...