Wednesday, March 23, 2011

Android Conversation Backup

This is a post for all my android users out there.

With Android, Google guarantees us that if we ever lose our android phones, we can just grab a new one. Once we sign in with our google account, it automatically syncs our emails, contacts, and applications (including the settings we have for those applications which support this).

However, many of us have much more personal conversations happening over text messages nowadays (SMS). We send pictures back and forth through Multimedia Messaging (MMS). All this is stored on our phones, and these are not sync'ed or backed up by Google. I for one have some conversations with people reaching into the thousands (and I'm older - I'm sure some teenagers exchange a thousand text messages in just a few days).

Currently, if you lose your android phone, those messages and calling history (SMS, MMS and call records) go bye-bye.

Sometimes, you just need to clean up your phone and remove conversations with some folks, but you're not yet sure you want all that history to disappear. You want the option to archive this somewhere (maybe in your email or your desktop computer or a flash drive) and look at it when you want to.

A number of android applications have been created but most of them only handle the SMS portion, and leave out the MMS (pictures, videos, etc) which are equally or sometimes more important (depending on who you ask). 

This application was created out of a personal need. I needed to archive some messages from my phone, and looked through the android market to find out that allowed me to:
  • Archive Conversations between me and a set of phone numbers (since some folks have multiple phone numbers but I still consider it a single contact).
  • Keep this information in a human-readable format so I can look at the files directly, and parse it easily using web technologies.
  • Include all MMS attachments.
  • Put all these into a nice zip archive.
  • Support a nice html view (so I can look at this history on a browser running from my local computer).
  • While at it, mail the archive to my email account (or allow me email it wherever I choose).

I couldn't find any. I found some but none of them supported the simple feature set I wanted. Being an undercover "geek", I decided to write it myself. I had never engaged in Android development so this was going to be my "baptism by fire".

Once I started, I realized why most apps in this space did not handle MMS. The API's for getting SMS and MMS from android phones are not published in Android. To build the application, I had to download the android source code, and read it to figure out how the messages are stored in the phone, and how to extract it. This was painful, but it worked - showing the strength of open-source. (With the IPhone, you're pretty S.O.L. and even if you figure it out, Apple will come down heavy handed on you).

Anyhow, after a week or so, the app was done. Please check it out at https://market.android.com/details?id=net.ugorji.android.conversationbackup. I'm sure you will like it. It's easy to use, and it just works as advertised. It even allows you backup all your call records, SMS messages and MMS attachments in your phone, no matter how many, just in case. More information may be available at http://www.ugorji.net/projects/android-conversation-backup

Screen shots are available on the android market, but I will include some here below.


I might blog again later about the technical challenges in implementing this, but I need to work harder on my app engine app (shameless plug for blackannex.com).

Please test out the app, and if you like it, let us know by going to https://market.android.com/details?id=net.ugorji.android.conversationbackup, click the "User Reviews" tab, and enter a "positive" review and 4+ rating :).

Thanks.

-- Ugorji

References:

  1. Documentation: http://www.ugorji.net/projects/android-conversation-backup 
  2. Android Market: https://market.android.com/details?id=net.ugorji.android.conversationbackup

Thursday, March 3, 2011

The meaning of my name

A while back, I was having an email discussing with one of the men I respect most in this world. All my emails are signed as:
Ugorji
An eagle aspiring for greater heights ...
He saw this and responded as below. His description aptly describes what my name means and signifies, better than I have ever done myself. More importantly though, it helped me realize that I need to do more, and really achieve my potential. My prayer is that I live up to my name.

Here is his response. Enjoy.

Thank you for your encouraging response. You are absolutely correct with your description of yourself. That is the exact picture of you in my mind. And do you know there is something symbolic about your name. Ugo means eagle. Orji means iroko tree - the giant of trees. Eagle is the King of birds. the eagle always perches on the tallest tree in the forest. So when it comes to a place and there is no tree towering above the others, it will not perch. It will fly away or circle round for hours. Ugo also means glory/honor. It is always bestowed on the one that towers above all others. Where there is no outstanding individual in a community, there will be no glory/honor for that community. We shall talk more about these. God bless.
References:
ARKive photo - African teak

Trying to describe my job at Oracle

I've always had a hard time describing what I did at a software company to folks outside software (lawyers, doctors, basketball players, club hoppers, etc). Part of the reason is that I am pretty private and ridiculously modest and overly calculated. However, I was having one of my frustrating days with technology, and someone asked me again to explain, and I just let ... said it. Reading the thread later, I am pretty impressed with the description. So I figured I would share.

Enjoy.


YOU: talk to me ... im bored
hows ur day going?
ME: tis going well. fighting with technology :)
YOU: like always lol
ME: yeah ... story of my life
YOU: lol
what are you working on, overall
ME: nothing. just reading up on technology stuff to see if i'd get any ideas
YOU: what did you do at Oracle (sp?)
put it in layman's terms plz
ME: engineering, then management, then sales consulting
YOU: engineering what?
and sales consulting what?
ME: software development. sales consulting. oracle products that businesses build their custom applications on (e.g. orbitz.com, bankofamerica.com, gap.com build their websites and a lot of other internal applications using our software). So they are the ones we sell to ... selling multi-million dollar multi-year deals to them
YOU: ok so you build websites and deal with other computer issues for major companies, basically.
ME: no.
imagine all the software that a business like bank of america needs to function. Most of that runs on oracle software.
YOU: ok
ME: so the software that keeps track of their customers, that sprint uses to keep track of your account information, that the customer agents pull up when they ask u for your customer id when u call in to huff and puff, etc.
the whole world runs on software. All the businesses run their software on oracle (and some on SAP and some on IBM). We make the world run.
oracle is to big business like microsoft is to direct consumers (ie microsoft sells their software to you and me, oracle sells their software to bank of america, us govt, procter and gamble, fannie mae, etc)
YOU: oh what, so u think ur all that?
lol
ME: nah ... just trying to explain. Most folks don't get it and just say "so u make web pages and fix computers?". I don't even know how to fix computers. ..
I know how to program, and build software ...
ie i can create a program like itunes, or i can create a new facebook, but if ur computer is acting up, i wouldn't know what to do (sometimes).
YOU: thats what I meant, but didnt know how to say it. so when you were a consultant you went to businesses and tried to get them to use oracle?
ME: yep - sales consultant ... so I worked in the sales organization and sold our software to businesses.
YOU: oh ok
very interesting
VERY interesting


Virgin Post

It's the internet age, where privacy takes a back seat to speaking out for everyone to hear. I figured it's about time my thoughts and words left a mark on the internet.

Let's toast to much more interesting entries after this. Consider this the first, painful, cherry busting.

Enjoy.