
Ahhhhhhhh!
It’s Christmas time, so I’m sure you’re all planning to watch the beloved family classic “Home Alone” at some point soon if you haven’t already. There’s one particular line that I’ve always loved from that movie. It’s the part when Kevin runs away from the old man who shovels snow, and one day he finally realizes he’s being silly, so he goes outside and faces his fear, saying “Hey, I’m not afraid anymore. Do you hear me? I’m not afraid anymore!”. Then the old guy walks up to him and of course he tears into the house screaming. Every time I realize that I’m afraid of something I think of that scene, and laugh to myself. It could be a spider in the garage or something, and I’ll just start saying “Do you hear me, I’m not afraid anymore!”. Haha!
Being afraid of stuff is just stupid, so find the source and put a stop to it…
That’s my own advice to myself after realizing that fear of one feature in my app was taking hold of me. My lovely and patient wife helped me realize that I was afraid of this “big” feature because I hadn’t really scoped it out. I keep thinking it’s going to be this big scary nightmare feature, but hey, maybe it wont be so bad. I haven’t actually sat down and thought hard about it. I’ve realized over the years that it’s easy to become fearful when you don’t have a plan, and that goes for just about anything in life. What I need is to take a close hard look at this feature, break it down into all of its smaller less-intimidating, bite-size pieces and have a plan for each piece. I need to know how many classes the feature will affect, how many new views it will require, how long each piece will take, and when I can reasonable expect to be done. Once I have a plan, then it’s just a matter of working the plan.
So that’s my next step. Wait right there, I’ll be right back… “This is it, don’t get scared now.”
OK, wheew, I’m back now, and happy to say that I’ve spent the last 2 hours making a game plan for this feature. Boy, it really feels good to know what I’m really up against. There were moments when I caught myself over-complicating the feature, and I had to keep stepping back to decide what was really necessary. At one point I thought I would have to completely restructure my database! That was out of the question. I just had to think “simpler”. And ya know what? I really like the plan so far, so the next step is to impliment it. It is kind of a big feature, so I think it would be best to program all the logic in one sitting. But I wont have that kind of time until the weekend. Until then, I plan to use the next couple weeknights to do some of the prep work. It’s like when you paint a bedroom or something like that, you find it takes longer to put down dropcloths, bust out the tools and tape the trim than it does to paint! So I’m going to try to do all that kind of prep-work this week and sink my teeth into the logic on Saturday.
So just a minute as I fast forward through time…
OK, wheew, that time travel stuff is rough, but here I am again. So yah, basically those first couple nights of prep were were a piece of cake, because I had a plan. Then came the the tough part. I actually had to break that down into a couple of different phases, because it turns out that this feature will impact several view controllers and require lots of new logic, most of which I’ve never attempted before. Well, I just took it one phase at a time, and at this point I’d say the feature is about 90% done. And the other 10% doesn’t really scare me because I know what to do, I just need to finish doing it.
However, in the process I came across a couple other big challenges that I wasn’t expecting. Adding this new feature was going to alter the functionality of another big feature! I also discovered aspects of the feature that I had never considered before and this just made things more complex. I have to say things are getting kinda hairy now, but I don’t think it can be prevented. I’m coding this thing as simply as I can, but it’s doing a lot of complex things for the user. Those things are what make the app valuable, so they are must-haves as far as I’m concerned.
So while things are taking longer than I thought, at least I’m not living in fear of the big, bad feature. “Hey, do you hear me? I’m not afraid anymore!”
I Won a Ticket to 360iDev
360iDev - Austin, TX - Nov. 2010
Yay! This is so sweet, I actually won something!
Last week at CocoaHeads there was a drawing for 2 free tickets to the upcoming 360iDev conference in November.
My name was drawn and I won a free ticket worth $600! You have to understand, I’m not one of those guys that wins stuff, so this is quite a big deal for me.
Granted, I still have to find my own way to Texas next month, and pay for food/lodging, but hey, this is an opportunity I just can’t pass up. I’ve wanted to hit one of these iPhone conferences for a while now, but I thought I should wait until my first app is published. Now it seems I’ll be going sooner than planned, which I’m certainly not complaining about.
I’m really excited to go, as I’m sure I’ll learn lots of great stuff and meet plenty of cool people. If YOU are going to be out there, let me know so I can say “hello”!