Sunday, February 20, 2011

My Week & My iOS App

Prof. Kraemer's "168" presentation had a pretty big impact on me the first time I heard it. The underlying idea, tracking how you spend your time every week to see how well it aligns with your priorities, was pretty straightforward, and yet I realized that I had never done anything like that before. Once I started thinking about how I was spending my time, I had to accept that some of the things I kept insisting were important to me really weren't. Furthermore, it helped me "weed my garden" a bit, pulling out anything that wasn't really important in order to make room for the stuff that was. Little did I know the speech would also inspire my first app!

Last quarter, I started working with Stephen, former blogger, on a project idea, though I can't say we've made much progress on it lately. We started looking for someone to help us code it up, and we even put up an ad in Craigslist that ended up getting quite a few responses (though they were mainly from app companies looking to get hired).

Overall, we weren't really gun ho on the idea of getting someone else to code it. Instead, we both wanted to build the prototype ourselves. That meant that we would have to learn how to program in iOS (Objective C). It also meant that it would take much longer to create a prototype, making it much more likely that someone would do it before us. Nonetheless, we were set on making it happen, so I picked up a copy of iPhone Programming: The Big Nerd Ranch Guide and started reading.

I didn't have a lot of time to devote to it, but fortunately, my prior experience with programming meant that I didn't have to learn fundamentals, just the syntax of a new programming language. I didn't make too much progress through the rest of the year, but I did finish up the book.

At the beginning of this quarter, I decided to work on a little side project in order to practice and get more familiar with building an iOS app. I decided to make an app that would allow me to track how I was spending my time each week. There are multiple apps out there that already do time tracking to various degrees, but I didn't care because it was really just an excuse to practice.

I spent a big chunk of time in January coding the basic app, and although it was very slow-going in the beginning, things really sped up once I got over the learning hump (about 3rd week in Jan). Since then, I've become much, much better at the whole thing and made numerous changes and improvements to the app. I'm hoping to submit it to the iTunes store sometime in the next month or so, at which point, I'll look for a way to give the code to anyone that is interested in it.

I've had to redo some big chunks of UI on the app, but thankfully, most of the underlying code is modular enough to move around and modify without much of a problem. For example, here are the 3 big iterations that the main page has gone through in the last 2 weeks.

Evolution of App's Main Screen

There is still a lot of stuff that I'd love to add to the app in the future, but I want to keep things pretty simple in the first version, so I'm just doing minor changes at this point.

Stephen lent me his old iPhone, so I've been using the app this week, and that allowed me to create the beautiful waterfall chart below of how I've used my 168 hours this week.

Breakdown of my week

Stay tuned, because I'm sure there is still more to come!

1 comment: