The announcement of Apple’s modification to their developer agreement has been making the rounds and I’m sure most have seen it by now. It’s great news for Flash and 3rd party developers. The announcement for me however was all irony.

You see, around six months back during the CS5 beta I had spent quite a bit of time working with the iPhone Packager and building my first iPhone app. The process was arduous as I was struggling to keep my application’s performance at acceptable levels. The application is a generative art app (see images below) and I spent many long nights optimizing and eventually cutting some functionality, but in the end was happy with the little app I had built. I submitted to the app store and waited patiently for my acceptance into the iPhone development community. I waited. And, I waited some more. The day never came.

Shortly after my app submission Apple announced it’s change in policy. My general sentiment was that, “hey, it’s Apple’s store, they can carry the products they want.” That said, I was bitter. All my efforts had been wasted. That and the timing was certainly one of the least classy moves I’ve seen from a technology corporation, so full of spite. Apple was giving me the big middle finger so I was obliged to give it right back.

Fast forward to roughly a week ago. I decided it’s time to get back into iPhone development. This time, the Apple way. I put aside my grudge and decided I would give it another go. In my newly inspired journey I downloaded the latest SDK from Apple only to find that I couldn’t run it. I needed Snow Leopard. So I bought Snow Leopard. In all of Apple’s brilliance you can’t just simply download the install. I had to order a hard copy. Such an unnecessary waste of our precious physical resources. Tracking my package, everything was looking like it was on schedule until hour after hour passed with no delivery. Finally around 6 PM I see that the delivery failed. This was Friday. The new delivery date was Tuesday (per the holiday weekend). There was no way I could let this happen. First, I shot a frustrated email to Amazon. They refunded my shipping costs without so much as blinking, I was impressed. I then called UPS to see if I could pick it up that evening. After some struggling to reach a human I finally tracked down a number for the local warehouse and gave them a ring. They graciously told me I could come by after the driver returned (and after regular business hours) and pick up my package. Success! I will have my iPhone development and code it too!

After obtaining my package I ran inside, ripped it open, popped it into my mac, and let’r fly! Failure, I needed more RAM. My mac isn’t exactly the newest machine, but the thought to check the min sys requirements never even crossed my mind. I was defeated. The next day I looked into what kind of RAM I would need and how to crack open my mac to put it in (it’s a mac mini). RAM was fairly cheap. I would just have to order it and wait another couple of days. I live in a relatively rural area so I wasn’t expecting to find it locally, but on a whim I decided to check Office Depot’s site to see if they carry what I needed and if the local store might have it. Sure enough they did. Excitement rekindled and I was off to get a couple 1 GB sticks. The RAM install, while somewhat of a process, went off without a hitch and I was ready to go. I installed Snow Leopard, installed the latest SDK, and within a couple of hours was digging in.

I got right to it and started with the Cocos2D w/ Box2D template. This is some good stuff. Cocos2D, from what I’ve seen so far, is really well thought out. I dig the architecture, it makes sense. Scenes, layers, nodes, I can get down with this. It didn’t take long to get some rough ideas up and running. I downloaded Tiled and started creating a simple map. I experimented with Box2D’s features and had bouncing balls responding to user input, bouncing off of walls, and colliding with boxes. “Oh yea!”

Then comes the irony. Yesterday morning I get an email from Apple that my application has been approved. “Huh?” I was baffled, “How did this happen?” I considered the possibilities. Maybe all I needed to do was accept their new terms (which I did when I downloaded the new SDK). Or, maybe after doing so they re-reviewed my app and it somehow slipped through the cracks. Or, could it be, could they have changed their developer agreement to allow 3rd party apps? I had my answer shortly as the reports started to flow in. After all I’d been through I didn’t know whether to cry or rejoice. It was good news, but I felt that I had gone through a bit of an ordeal to invest money and time into using Apple’s tools. Oh well.

Anyway, I have an app up in the app store! It’s simple, yes. A novelty? Yes. But it’s fun to play with and it was built using Adobe’s iPhone Packager. So go drop a whopping 99 cents and check it out! Or, if you’re feeling cheap, shoot me an email and if I’m feeling generous and I still have some left, I’ll drop you a promo code.