Thursday, May 5, 2011

Referencing an Android Library project from android application

After releasing my application, I received a few emails from people who downloaded it. It feels good to know that someone finds my application useful. I am not the only one, apparently. What is funny, is that I received a few suggestions on how to improve Reverse CheckList, and the things suggested were actually already on my list of things I wanted the app to do.

1: Add an activity for managing item categories. I should have done that a long time ago, but I wanted to release first, and then add features.

2. Make the category list user-orderable. User defined sort order for categories was actually one of the things that my users requested.

So this is the next thing I am going to be working on.

Of course, commonsguy is helpful as usual. It turns out he actually wrote a list that is user orderable. You can drag and drop items and reorder them however you like.

So tonight I am integrating commonsguy's list into my application.

And here is how to do that: http://developer.android.com/guide/developing/projects/projects-eclipse.html

Monday, May 2, 2011

Reverse CheckList 1.06 released

It took me what seemed like a long time to add a new feature. But now I checked it, and it was exactly 7 days ago when I published 1.05.

The biggest change in 1.06 is the addition of the new feature - a ToDo Report. It is simply a list of all items that are currently checked, across lists and categories. Ever since I started developing this application, I always wanted this feature. And now it is done.

I have to note here, that when I first attempted to write this module, it turned out that my initial design of data access was flawed, and would not allow for this feature to even be implemented. What a failure. But I have changed it since.

In addition to being able to see the entire list of items to be done from all lists and categories, the list can also be emailed. This was Max's idea (http://maxphotoblog.com/). Thanks Max!


And this is what Reverse CheckList looks like right now:

Main screen with menu visible




ToDo Report. User can e-mail the list 

Sunday, May 1, 2011

Doing things right

Doing things right feels nice.

Because my weekend project becomes more and more of a solid product, that people actually use, I need to 'focus on quality'. And start doing things the right way.

This means - no more hacking things together, just because it is fun to see things work. It means more time spent on boring code, like unit tests. It also means more comments, better structure, and overall nicer looking code.

This just happens to be in line with my goal to make the source code available online, when I feel like it is ready to be shown in public places.

To help me achieve my goal of clean, good code, that I will not be ashamed of, I spent some time today configuring my environment:
  1. I configured Eclipse to warn me about missing comments. For now I left the checkboxes to ignore overriding and implementing methods checked, but I plan on unchecking those in the future.
  2. I installed the Code Metrics Plugin http://metrics.sourceforge.net/update
  3. I installed the Code Coverage Plugin from http://update.eclemma.org/. I started adding unit tests for my app a few weeks ago, and I added some more tonight.
  4. I use the monkey extensively, in addition to manual testing
  5. Finally, I use my app every day. And, unfortunately, still find defects this way.