From the Developer’s Desk: Happy New Year 2011. KoinKuLator ed.

As with billions others, I was waiting for the clock to strike midnight during the New Year’s Eve last night but for an entirely different reason. I’m keeping a close watch at Koin for fear that it will be broken.

To my dismay, it does.

Well, actually, not as broken as it will render the application useless. Perhaps, I hope, only annoy. You see, Koin only load the most recent transactions per any given period. So, naturally when the month changes, it will ignore the previous month’s data and load anew. Until the next version, once it gets passed through our internal QA, there’s no way for you to see the previous month’s data. Anyway, since my version of Koin is one version ahead of the recently available in the market, when I load Koin to see how it behaves with the new year, I see the progress bar stuck at the very last bar. In your version, it perhaps will shown the infinite “Loading…” or other message to indicate that Koin cannot load the database. I’m sincerely hope it won’t throw ANR but if it does, my apologies.

At this point, you could actually entered a Transaction but upon hitting the Save button, it will most likely throw an ANR to you. Now, do forgive me, but I’m unable to track this particular ANR. However, this ANR indicates that Koin cannot load the list after the new data was added. Whatever data you entered before you’re greeted by the ANR as the result of hitting the “Save” button, they still gets saved and when the application restart, since it has already *one* transaction recorded in the new month you entered before, the application works as if nothing ever happened.

Believe me when I say I’m frustrated because I am. As my later tweets indicates, the way I code Koin was a bit barbaric. Actually, more than just a bit. More like China’s and India’s population merged into one and compared against the world’s population “bit.” Yes, that much.

So, I planned to dedicated time, maybe days, weeks even to refactor Koin.

Meanwhile, if Koin 0.6 somehow passed the QC and hit the market, here’s a few changes from the previous version:

– Category details. This is actually isn’t new but since Koin had a make-over, it was intentionally left over.
– Category now based its percentage values on whichever value is greeted. Income or Expense.
– Progress bar in the main screen so you don’t have to wonder when was the “Loading…” ever finished. In the course of your usage, you might see the Progress bar moved back and forth during loading. Don’t worry, it’s normal. At least I have a vague idea why it does what it does but I have no idea whatsoever how to fix it.
– Gone was weekly reporting. Turns out that SQLite and Java uses a rather different concept of WEEK_OF_YEAR. It’s getting too complicated and I don’t think the achieved result would be mattered anyway.
– On it’s place, in the Preference menu is a Period selection. Koin determines how many backlog data you already have in Koin (in my case, the data goes back to August 2010) and give you an ability to instruct Koin to display the data based on the period you choose.
– Some minor tweaks.

I still have one more reporting ability in Koin and one more big feature to implement. I hope I could release it with 0.7 on the next iteration. Meanwhile, I’m going to reserve 0.6.1, 0.6.2, 0.6.3, and so forth. For bug fixing. Therefore, please, report to us if you found some annoying bugs and errors during your experience with Koin. My handset is HTC Hero with an official Eclair and as far as I’m concerned, it works fine 🙂

As an epilogue, I know that Koin still has plenty of room to improve. I’m totally aware of it, and believe me, I did everything in my power to keep improving it. After all, we haven’t seen release 1.0 yet. Right?

Anyway, Happy New Year! May the year 2011 brings us, and especially you, a brighter Android world to explore and to be benefited from.


This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s