Good Habits Android App

GoodHabits is a new Android app that I’ve been working on.  Its kinda like a friendly coach. Its goal is to help you adapt good habits by motivating you to maintaing long running streaks of repeated uses. Let’s say you feel great after just coming back from jogging and realize that you want to do this more often. You log the habit usage in the app and it will then keep track of your stats and high scores in a playful manner.

Assuming you logged the activity 3 x time, GoodHabits will tell you: “Great! 3 is your highscore. Can you also go 5 times?”. Once you managed to go 5 times, it will start pressing you to beat 10 times and so on, always making sure that you have a new goal in sight. More importantly though it picks up your usage pattern. Let’s say you always go jogging on Tuesdays, the app will recognize this and start maintaining a separate high score just for this pattern and try to motivate you to continue with that streak. Should you fail to maintain your streak, GoodHabits will motivate you to pick up the pattern again by showing you how far you had come previously.

You can manage as many habits as you like. When you start the app you will always be presented with an overview of all habits that you are tracking. The list is sorted in a way that the most relevant habits for you right now are at the top. So when you just logged a habit use, the habit moves out of view towards the bottom of the list, since you probably don’t want to repeat it until at least the next day.

The app was born out of my personal habit forming system that I’ve been using in different variations for about three years now. The basic idea is that the app does its job without you having to set up complex time patterns. It automatically detects what you are already doing and helps you in continuing that activity, so that it can become a long running habit at some point. And it does this in a friendly manner, emphasizing your achievements, instead of complaining about failed goals.

This is just a first iteration of the app. Please let me know what you think about the idea. For now its just an experiment to play around some more in the area of life tracking and habit forming, but I have quite a few ideas, so look forward to new versions. I hope you enjoy the app. You can now find it on the android market.


Planet Wars AI Contest

The University of Waterloo Computer Science Club held a google sponsored game AI contest. The goal was to develop an AI for Planet Wars – a variation of  Galcon, which is basically the feeling of an RTS distilled down to the most basic rules possible.

I challenged a couple of co-workers to join on the contest and at some point we had over 12 people in our internal message group. To up the ante I also ordered a small cup with the intriguing engraving “Most admirable genius – Yager AI Contest 2010”. Alas, I didn’t win it since I got a little lazy after leading for a couple of weeks, but nonetheless the little project was pretty interesting.

Early during the contest I had written a pretty cool build script in Python (the bot itself was written in Java, just out of curiosity of working with the latest Eclipse version). Basically it allowed me to play with any combination of bots on any combination of maps and just see the summarized outcome of all games.

My in-game debugging capabilities were severely lacking though. It was simply no fun debugging the games and finding out what was going wrong.  Although I had a cool build environment, I failed in making the fine tuning fun. And like any human being I like fun and the absence of it in this spare time project made me not spent more time than necessary testing different properties, resulting in less iterations, resulting in worse rankings, resulting in not winning our internal competition. This is especially true for this contest, where I feel that overall the better bots most probably did not win by using some super advanced AI algorithms, but actually by just some really good tuning of fairly basic rules.