Archive for the ‘ Development ’ Category

The computer calculated it.

Nothing new to report sadly.

Had a run of misfortune with all-things-iPhone about a month ago, and it was enough to completely extinguish what was left of the fire in my belly. I’ve been trying to rekindle it lately, and while there have been a few sparks, there’s not yet enough to roast a marshmallow on.

Up until now, I’ve been focused mostly on small throwaway apps as a means to learn the iPhone SDK and Objective-C. This has been successful for the most part, but I think I’m ready to move on to something a bit more satisfying.

This leads me back to video game development.

I have a bunch of FANTASTIC ideas for games, but i need to find the time and motivation to get started. I have the very beginnings of a 2D OpenGL ES based engine, but nowhere near what I’m going to need to move forward. This means a lot of low-level tinkering and API design, neither of which I’m in the mood for. Ah well, no guts no glory.

Look for more coming soon.

Retain and release,


Hi, this is Steve from Apple, calling from California…

Crazy thing happened yesterday.

I had a new voicemail on my iPhone from a phone number that I didn’t recognize. I load it up, press the speaker button, and listen.

“Hi, this is Steve from Apple, calling from California. We wanted to talk to you about one of your apps, so if you could call us back, that would be great.”

It sounds just like Jobs.

I listen to it again. And again. And again.

After about five listens, I determine that it’s probably not Jobs, but it sounds pretty similar to him. And his name is Steve. And he works for Apple.

So I call back. It turns out that one of my apps in the review queue, Gold (iMobilepedia), had an issue. They had called me because it was listed for the price of $99, and not 99 cents, and they wanted to know if this was a mistake.


I also had to double check, so I asked him “So uh… this isn’t Steve Jobs is it?” This was met with an outburst of laughter, and the confirmation that it was not Steve Jobs.

Well come on. You get a call out of the blue, from Steve, from Apple, in California, and it sounds pretty similar to Jobs!

Ah well.

I learned something very valuable from this call, as well as some previous experiences with the store. App name, App Description, and App Price all factor into the App Store review process. They don’t just review the actual binary, they review the whole package.

My Fix-a-Pixel app got rejected no less than 4 times, from them claiming that diagnostic tools were not allowed on the App Store. From previous posts, you’d know that there already ARE similar apps on the App Store, but I won’t get into that again. So I just renamed it to “Crazy Psychedelic Disco Squares!”, and changed the description to remove any pixel-fixing text. No change to the binary. Accepted.

I wish I knew if they reviewed and approved each change to App Name and App Description after the binary has been submitted. When you change either of these, it only takes a few hours to show up in iTunes. I had been assuming that they don’t review these at all, but I’m not really sure.

iMobilepedia is doing well. Single iMobilepedia apps are outselling Collage on a daily basis, which is discouraging.

I’m going to add a few more features to Collage (like a unique take on Bookmarks), and then put out a Lite version. Then I’ll shop it around, and send some promo codes around. I don’t want to do it yet, because its not feature complete. Version 1.0 and all.

What’s goin’ on Mekon?

Nothing super new to report.

My web browser app still hasn’t been approved yet. My first review took 8 days (a pretty reliable average for review time), and resulted in a rejection (a pretty reliable result for review). Their complaint was annoyingly small, but legitimate. I wasn’t doing any checking for a lack of network connection, which “could result in user confusion.” Fine. After a quick fix, a new binary was submitted on the same day that it was rejected.

Over two weeks later… still no word from Apple. I’ve emailed them asking for a status update, but emailing the App Review team is like yelling into the wind. I haven’t gotten the dreaded “your app will require additional review time”, so I guess that’s good. There just hasn’t been any feedback yet, at all.

The App Review process is still a thorn in my side, for all of the reasons I’ve already written about. I submitted a “stuck pixel” fixing application, which was rejected for some BS reason. They were essentially saying that they don’t allow that kind of application on the App Store, but of course, they ALREADY HAVE apps like that on the store. They’re basically telling me “no pixel fixer apps in the app store”, and there is a pixel fixer app in the store already. Of course, I emailed them to alert them of this contradiction, to no response.

You can imagine the frustration.

iMobilepedia sales have been relatively brisk lately, thanks largely to the new “Health & Human Body” series. I’ll be trying a bunch of different topics in the near future.

I have a few new ideas for legitimate apps that I could make, but I’m holding off for awhile.

I love developing for the iPhone OS. It’s great. It’s fun. I’m a fan. But the App Store review process is SO BAD, that it almost completely ruins the whole thing for me. That factor alone has single-handedly made me reconsider moving forward with any and all iPhone development in the future. It’s a shame that such a great development platform has distribution that is so uneven, subjective, shady, and possibly even corrupt.

It’s that bad.

The Dark Side

On the App Store, pride and success seem to be mutually exclusive.

The Wall Street Journal put up a great article today, talking about why crappy apps exist on the App Store. The answer is obvious: it’s because they sell. They sell well. Really well.

They interview an iPhone developer in the video, and he says “All of the crappy apps that I’m embarrassed about sell the most, but the good apps that I’m proud of don’t do as well.” This is the current overarching theme of the App Store. Quantity is overwhelmingly more successful than quality. Novelty rules over creativity. People want something that they can download, use once, laugh, and delete.

That’s kind of depressing.

As a developer, you want to create a product that you’re proud of. You want to tell all of your friends and family to go out and buy it. You want to show it off on job interviews. You want people all over the internet to blog about it, write about it on forums, and create YouTube videos about it.

Ideally, you would also want to make large sums of money off of it.

Time is a very valuable thing. When you give your time to iPhone development, you’re taking it away from something or somebody else. In order for that to be “worth it”, there needs to be a good return on the investment. You find yourself in a balancing act between the amount of time invested, and the money that it earns. The motivation quickly shifts from “making the best product possible”, to “making the best selling product possible, given the amount of time invested.

Welcome to the Dark Side.

Ads Hominem

Before I wrote even one line of Objective-C, I was thinking about the different business models that the App Store affords a publisher. If I wanted to make money, then there were two different paths I could take.

The first option is pay apps. Apple allows you to charge money for the applications that you submit to the App Store, in 1 dollar increments starting at 99 cents. This option comes with its own set of questions. How much should I charge for my app? If I were somebody else, would I pay that amount of money for this app? Do I have to worry about refunds? What about taxes, and other messy legal ensnarements?

The second option is ads. Apple also allows you to list your apps on the App Store for free, and free apps tend to get more downloads than pay apps. This makes sense obviously, as there’s no downside or barrier to trying out a free app. Companies like AdMob exist solely to serve ads to iPhone apps, and they provide SDKs that are pretty easy to use. With this business model, you would create an app that’s free on the App Store, and make your money through the third-party ad provider. The major downside with this approach is that people loathe ads, even in free apps (myself included).

Both options have their pros and cons. After evaluating both of them, and considering other external factors, I decided to try the free-with-ads approach for my first major app, DDR Compendium.

This may have been a mistake.

As I had already known, people hate ads. My reviews for DDR Compendium have been pretty evenly split so far, with a disproportionate amount of 5-star reviews and 1-star reviews. I suspect that a good portion of the 1-star reviews are primarily a result of the ads, which is kind of disheartening. I have to admit that I’ve done the same thing to other apps in the past, bestowing a 1-star solely because of their ads, regardless of the quality of the actual app. An ad hominem attack, if you will. I guess you reap what you sow.

What I didn’t expect, was how little money you actually make from ads. AdMob only gives you money for ad-clicks, and in my short experience, I seem to be getting 1 click for every 12 ads viewed. I’m not sure if that’s relatively good, bad, or average, but it translates into about 80 cents per DAY.

Sure, 80 cents per day is better than 0 cents per day, but I’m not sure if that’s enough to balance the ad hominem 1-star reviews. I’ve heard a few internet urban legends of people getting rich off of this business model, but now I’m sure that they’re in the vast minority. For every “Sound Grenade” that miraculously makes it into the Top 25 Free Apps and makes a few hundred thousand dollars on ads, there are many others that make practically nothing.

In a way, this is a microcosm of the App Store in general. If Lady Luck happens to push your app into the Top 25, you’re going to do well regardless of anything.

In the end, I’ve decided not to incorporate ads into any future applications. Well, that’s not entirely true. If I manage to get a free app into the Top 25, there will be a mad dash to put ads into it, and update it as fast as I can. An unlikely scenario.

Going forward, I’m going to be sticking with pay apps, with free Lite version demos. This is one of the most popular business models on the App Store, and even though I have no personal experience with it, I’m guessing it’s for a reason.


Browser almost done

I’ve been working on a Web Browser app lately, and I’m just about done with it.  All of the features for the initial release are complete, and I just have a few bugs to iron out.

I’m pretty happy with the way it came out too!  It provides a fun new way to browse the web on the iPhone and iPod Touch, and there’s nothing else like it on the App Store.  We’ll provide more details when it actually hits the store.

I’ve been working on iPhone stuff non-stop for the past two months.  I’ve had my face buried in my MacBook almost every night after work, and for the entirety of most weekends.  It’s been a mostly-positive experience so far, as I’ve been getting more and more comfortable with the iPhone SDK and Objective-C with every app I make.  More broadly, as a Software Engineer, it’s been very beneficial for me to gain experience on a new platform.  The extra coding practice doesn’t hurt either, keeps you sharp.

That being said, I’ve been getting pretty burnt out lately, and plan to take a nice long break from development.  This will give me more time to spend with my family and also to pursue my other hobbies, both of which haven’t been getting enough of my time.