Mobile development truth ... pass it on
A great preface from Jonathan Stark:
"On top of all this, Apple can—and does—reject apps. This is certainly their prerogative, and maybe they have good reasons. However, from the outside, it seems capricious and arbitrary. Put yourself in these shoes (based on a true story, BTW): you spend about 100 hours learning Objective-C. You spend another 100 hours or so writing a native iPhone app. Eventually, your app is ready for prime time and you successfully navigate the gauntlet that is the App Store submission process. What happens next?
"Like millions of people, I fell in love with my
iPhone immediately. Initially, web apps were the only way to get a custom
app on the device, which was fine by me because I’m a web developer. Months
later when the App Store was announced, I was jacked. I ran out and bought every
Objective-C book on the market. Some of my web apps were already somewhat
popular, and I figured I’d just rewrite them as native apps, put them in the
App Store, and ride off into the sunset on a big, galloping pile of
money.
"Disillusionment followed. I found it difficult to
learn Objective-C, and I was turned off by the fact that the language was of
little use outside of Mac programming. Xcode and Interface Builder were
pretty slick, but they weren’t my normal authoring environment and I found
them hard to get accustomed to. I was infuriated by the hoops I had to jump
through just to set up my app and iPhone for testing. The process of getting the app into the App Store was even
more byzantine. After a week or two of struggling with these variables, I
found myself wondering why I was going to all the trouble. After all, my web
apps were already available worldwide—why did I care about being in the App
Store?
"On top of all this, Apple can—and does—reject apps. This is certainly their prerogative, and maybe they have good reasons. However, from the outside, it seems capricious and arbitrary. Put yourself in these shoes (based on a true story, BTW): you spend about 100 hours learning Objective-C. You spend another 100 hours or so writing a native iPhone app. Eventually, your app is ready for prime time and you successfully navigate the gauntlet that is the App Store submission process. What happens next?
"You wait. And wait. And wait some more. We are
talking weeks, and sometimes months. Finally you hear back! And...your app
is rejected. Now what? You have nothing to show for your effort. The
bubble.
"But wait, it can get worse. Let’s say you do get
your app approved. Hundreds or maybe thousands of people download your app.
You haven’t received any money yet, but you are on cloud nine. Then, the bug
reports start coming in. You locate and fix the bug in minutes, resubmit
your app to iTunes, and wait for Apple to approve the revision. And wait.
And wait some more. Angry customers are giving you horrible reviews in the
App Store. Your sales are tanking. And still you wait. You consider offering
a refund to the angry customers, but there’s no way to do that through the
App Store. So you are basically forced to sit there watching your ratings
crash even though the bug was fixed days or weeks ago.
Sure, this story is based on the experience of
one developer. Maybe it’s an edge case and the actual data doesn’t bear out
my thesis. But the problem remains: we developers have no access to Apple’s
data, or the real details of the App Store approval process. Until that
changes, building a native app with Objective-C is a risky
proposition.
"Fortunately, there is an alternative. You can build a web app
using open source, standards-based web
technologies, release it as a web app, and debug and test it under load with
real users. Once you are ready to rock, you can use PhoneGap to convert your
web app to a native iPhone app and submit it to the App Store. If it’s
ultimately rejected, you aren’t dead in your tracks because you can still
offer the web app. If it’s approved, great! You can then start adding
features that enhance your web app by taking advantage of the unique
hardware features available on the device. Sounds like the best of both
worlds, right?"
Source: O'Reilly
Comments
Post a Comment
Keep it clean and professional...