Monday, January 12, 2015

My Ultimate Guide to Android Activities

Starting off in my leveling up of my Android development skills is to "master" the Activity in Android implementation and all its quirkiness and idiosyncrasies.

So far these are the things I would like to cover (I will add others when I discover them):

  • Lifecycle
  • gotchas
  • Passing objects and values between Activities
  • Saved instances
    • How to test
  • Configuration changes
  • Starting an activity from a different app
  • Intents and its filters
  • Tasks and Back Stack

I will not do a tutorial here and put into my own words existing references about Android Activities. Instead I'll just put links here for my future reference. But it is a must that what I have put in here are already read (and digested).

Some tidbits that I know now that I missed before:
  • the EditText widget saves any text entered by the user and the CheckBox widget saves whether it's checked or not. The only work required by you is to provide a unique ID (with the android:id attribute) for each widget you want to save its state. If a widget does not have an ID, then the system cannot save its state.
  • The system will not call onPause() and onStop() if finish() is called within the Activity's onCreate() method. In this case, onDestroy() is called right away.
  • I should declare Intent's Extra constant strings with the full package name of my app

My Ultimate Journey to Android

I've been programming for eight years now. I started as a Java Applications Developer usually doing Enterprise Level Web Apps in different industries like healthcare, sales management, human resources management. Being involved with frameworks like Spring, Struts, EJB, plain Servlets & JSPs. I did this for about 5 years until I fully shifted to Mobile development (for Android & iOS). At first I just self studied Android while doing Java Enterprise Development for HP at Mckinley Hills. My first Android app was a picture puzzle

Then I got a part time freelance work and the rest as they say, is history.

Now, I'm doing Android development and also iOS development and I noticed (and realized) that my Android development skills are not that good. At least not as good as I want it to be. I still have a hard time sometimes on implementing a bit complex situations on Activities, and Fragments. Especially Fragments. And I still haven't really used Content Provider for my app. At least not in a simple situation. I don't have the design skills yet to pull off a really rocking Android UI.

Other Android topics I am keen to master:

So my resolve for this year of 2015 is to Level Up my Android development skills. May the geek goddesses help me with this endeavor.

Monday, May 28, 2012

Getting Things Done The Best Way

I made a video demo of GSC GTD (

Check it out at

The video show the how doing GTD on your mobile is fun with GSC GTD with the use of main tabs, sub tabs, and draggable tasks. It even show GSC GTD's implementation of projects and subtasks.

Cool background music too ^_^

Sunday, May 27, 2012

Not just another GTD Application in the Android Market

Today is the launching GSC GTD. A Getting Things Done (Todo List/Tasks List) Android Application in Google Playstore. but GSC GTD is not just another Getting Things Done application. The main thing that anyone will notice with GSC GTD is the unique user interface it offers. In fact, it is a one of a kind user interface that you have not seen before in any Getting Things Done application.

The primary purpose of the author of GSC GTD application was for his own use. Being an organized individual with many things that he likes to do and at the same time many things that he has to do, the author has tried many Todo/Tasks Lists applications and Getting Things Done applications both in the Android and in the iPhone. 

The author had used almost all of the known GTD Applications for Android. None of them really satisfied the author in terms of user interface.

What makes GSC GTD so effective and intuitive? The author had created GSC GTD due to his personal needs. He always has a planner with him back in the days of pre-iPhone devices. He carries his planner with him at all times and like many others have swore on the effectiveness of writing down one's tasks, todos, projects, and other important stuffs in his mind. Then comes the Getting Things Done by David Allen and the author of GSC GTD has since followed the Getting Things Done methodology. Starting with his planner of pen and paper up to having mobile applications that claim to cater to the Getting Things Done methodology. The author has tried so many GTD applications before creating GSC GTD but he always find himself getting frustrated in using them. He often find himself going back to the pen and paper implementation of GTD. 

Why all other GTD applications frustrate the author?
Because they all feel like a task in itself to navigate through all of your lists. For one, the author feels like the applications are unnatural. The navigations are almost cumbersome to use. The author always wanders about a list that's somewhere inside a pile of dropdown lists he hast to choose. Touch. Touch. Another screen. Another screen. The author felt like in all GTD applications he had tried that he is in a tiring design of screen hierarchy that leads to inputting tasks in the application cumbersome and unintuitive.The author feels constrained with all of the existing GTD applications. Although these GTD applications have so many features, the author calls them "bloatware" inside a GTD application and does not add real value in terms of helping the user to get things done. But just adds unnecessary complexity that hinders the application to actually help the user get things done.

With this in mind, GSC GTD was born.

*you might notice the familiar notification icon, because author still keeps all of the other GTD applications he has on his Android device to keep updated of what other applications has to offer.

Main Tabs
GSC GTD have what you call Main Tabs (situated on top of the screen) and Sub Tabs (situated on the right side of the screen). Followers of the hugely successful and effective methodology Getting Things Done by David Allen will be very familiar with the Main Tabs. The Calendar, Next Actions, Waiting For, Projects, Someday/Maybe & References. And with each of these Main Tabs we have Sub Tabs

Sub Tabs 
GSC GTD application comes with pre-defined Sub Tabs like Calls, Outside, Home, Anywhere, In Front of Computer, etc.. If the pre-defined Sub Tabs does not meet your needs you can edit the title, you can add more subtabs as many as you wish and the Sub Tabs area will automatically provide a scrolling function when it exceeds your device screen. If a pre-defined Sub Tab is not applicable to you, it can be deleted.

Draggable Tasks
The author has tried many Todo/Tasks Lists applications and Getting Things Done applications in the mobile market. But most of the existing applications does not meet the author's requirements. And one of these is being able to drag task/s inside a list so that he can sort them (the author usually puts the most priority tasks on top of the list). The problem he sees with existing applications in the market is that it is quite cumbersome and unnatural to define priorities for a given task. with priority tags like low, medium, high. It just adds to the user's tasks and is very unnatural. Soon, inputting tasks in a mobile application had become a task itself for the user. Thus, it is utmost important for the author to naturally sort tasks based on their priorities by dragging tasks and putting the highest priority on top of the list.

Main Tabs, Sub Tabs, Draggable Tabs. That's it. Those are the 3 key elements (right now) that makes GSC GTD the most intuitive and effective GTD application on the market. 

But the author, using his very own GSC GTD creation daily, is not stopping there. This is only the beginning. The author has so much more to add and you are lucky to have the GSC GTD now in its introductory price of $1.99. Soon you will be introduced beyond user interface of how the author thinks in terms of creating the most effective tool in helping each and every one of us get things done.

Monday, February 13, 2012

Downloaded Aptana (for my PHP Dev't)

Downloaded Aptana Studio 3.0 for PHP dev't here for mac OSX

Wednesday, February 1, 2012

KeePass Password Safe (journey into)

Searching on how to implement plug-ins for Safari, Chrome & Firefox (for mobile) for the Digital Wallet app for iOS (for a project here at current full time work at iDigital) I stumbled into KeePass. The plug-ins should provide auto fill functionality for websites in Chrome, Firefox and Safari (this is based from the 1Password app)

The great thing about KeePass is it's open source and it has available extension for Auto Form Fill for Chrome and Firefox. and the firefox extension is also open sourced.

The KeePass plugins available:

The source for the auto fill extension in firefox:

For the Chrome extension:

The download for KeePass (it has ports for Linux and OSX):
- I have to install MonoFramework in OSX
- then install KeePass after

For the KeePass source:

For the Keepass Android version source:

Other open source password managers:

Tuesday, January 31, 2012

Macintosh Finder: Reasons for Slow Operation

I experienced very slow finder once in a while in the Mac Air 11" with OSX 10.7. After searching I tried this one. It seems to work things out:

TOPIC ----------------------------------------------

What could make the Finder run slowly?

DISCUSSION -----------------------------------------

A slow Finder is not caused by the size of the disk, but by the size of the
Desktop file. The size of the Desktop file is not directly related to the
number of files it contains, but to the number of icons and file comments.

The number of icons is related to the number of applications. Slow
operation becomes a problem for hard disks with more than 50 applications.
The number of comments is a problem only for those who add a comment to
every file and folder. This is typical with public domain software. To
remove all comments, you can rebuild the Desktop file in one of two ways.

- You can delete the Desktop file in ResEdit.

- You can hold down the Command and Option (aka Alt) keys while you start up your

These operations remove the comments and speed things up appreciably.

Taken from: