Monday, November 18, 2013

WhatNext: My first android application on Google Play

I just published my first Android application on Google Play.

The application name is WhatNext. It is a simple tool to help you do "single tasking". The idea comes the first time when I played nodejs, tried to wrap my brain around its single-threading and event-driven model. Then I started thinking about applying this idea to how I handle things before I found out that people outside technology circle calls it "single tasking". There are a couple articles about this concept as listed below

I'm usually overwhelmed with a pile of long-standing tasks in my long todo list and my energy always get drained upfront and then I procrastinate.

I've been wanting to develop this idea into android application for a while but I procrastinated. :-/

Finally, I started developing it 2-3 weeks ago with an idea to keep it simple, focused and effective. I also want to keep iterating, gradually improving and release the application early and often. I try to ship it as soon as possible.

Another goal is to learn Android application development and its components which I think I'm really late to the area. The best way to learn new technology is learning by doing. Although I tried to ship the first version as soon as I can, my habits still keep me reading all the things upfront before coding the first line.

Now I understand why people often say that developing a good Android application is difficult and takes much time. After I have read Android documentation and guides and watched some I/O talks, I see that Android is quite big in term of platform. There are many components, concepts and design patterns. I just read about 15% of them. These patterns and concepts enable very much flexibility and extensibility and force some good practices and design but, on the other hand, it is difficult to get it right the first time for developers.

The project is really young and I open source here.  If you want to try the app, get it on Google Play. The application supports only >= 4.x by intention and only tested with my Galaxy Nexus.

Enjoy! :D

Get it on Google Play

Monday, November 11, 2013

My first experience maintaining a project on Github

A month ago, I started playing AngularJS and tried setting up a working dev/testing build environment. To do E2E testing with Angular app, they recommend newly test framework called protractor. I jumped to it and it happened that there was no usable Grunt task to run protractor in the build process yet. So I spent a night creating a small grunt task for myself and published it to npm registry.

A couple days later, I got the first issue in Github which is "can't run". Haha. After I had eagerly investigated, I didn't know what is the problem and the issue still hasn't been resolved until now. :-/ 

A few days later, I got the first pull request to add new option to the task. I was quite surprised and excited. I eagerly worked with him and merged it quickly because I know how it feel when you want your pull request to be merged as soon as possible especially a npm module. 

I was more surprised that I got an issue or pull request almost every day after that. I felt really great and tried to clear these issues and merge these pull requests as fast as possible. 

The last surprise is that it has been downloaded for 1426 times in the last month! :D