27 July 2009 by Published in: iphone 5 comments

UPDATE:Looking for an Austin iPhone Developer? I’m now accepting qualified clients. Learn more about my iPhone and iPad app development services.

Or: Why finding an iPhone developer is so hard
The answer is simple: all the good people are already busy.

Wow, you just got your shiny new iPhone! You can download all these great apps! Wouldn’t it be great if there was an app that did X? Hey, your company could really use an iPhone app! If Joe Developer on the Street can put out an app, then so can you! All you have to do is find a developer!

Stop right there.

Reality check:

  • No matter who develops your app, if you want it to be sold under your company name, you (this means you) have to sign up as an Apple developer.  This is $99/year, and there’s a (last I checked) 3-week waiting list and a lot of paperwork to fill out.
  • You need to pass Apple review.  Again, lots of paperwork to fill out.  And if you get rejected, you start again.  I’ve got an app that’s been in the queue 4 weeks now.

Okay, okay, so maybe you can’t impulse-commission an iPhone app.

But my app’s really simple!

No, your app is not “simple”.

Let’s take a “simple” app that does two things:

  1. Displays “Hello, world!”
  2. Plays a “Hello” sound effect

How much simpler could it get?  To an iPhone developer, your two-feature app looks like this:

  1. Who is providing your application icon?  All apps need an icon, in very specific sizes and formats.  Do you know what they are?
  2. Do you want to sell this app under your own name?  If so, you need to sign up as a developer.  Hope you don’t need this in the next month or so…
  3. Do you want to actually test this app?  If so, it needs a seperate “testing” codesigning chain.  The Apple documentation on how to do this was (and to a large extent, still is) dead wrong.  And if you screw up, you’ll get a generic error (“Can’t install: 0xe0080018”).  I hope you know where to find help, because the good documentation isn’t indexed by Google.  Oh wait, the tester is running Windows and is trying to upgrade the test version in repsonse to a change?  That fails with a mysterious error, because upgrading test builds on Windows isn’t supported.  Again, not documented anywhere.  You didn’t know that?
  4. Should the “Hello world” message be displayed using UIKit (like a UILabel, or UIAlertView), or with Quartz?  Or with OpenGL?  Is there any chance this app will later be extended to draw “Hello world” to an image, like to export to the photos app or to send in an e-mail message?  If so, you shouldn’t be using UIKit.  And is the “Hello world” text bigger than a certain size?  If so, you shouldn’t be using OpenGL.  But you’ve gone through the design process, and you know that, right?
  5. Are the buttons and appearance consistent with the HIG (Human Interface Guidelines)?
  6. Do you need to adjust/move text around when the app is opened when the available screen size is less than expected (for instance, when you’re on the phone, and the status bar is flashing green and huge)?
  7. How are you allocating memory for this?  No matter how you display the text, there’s memory to allocate, and doing it wrong is grounds for rejection.
  8. What background color should you use to be consistent with other apps?
  9. Who’s providing the “Hello” sound effect?  I have some sound experience, but most developers don’t.
  10. Should the sound effect be responsive to the phone’s volume controls?  (Hint: Apple reviewers have an opinion)
  11. If the “Vibrate” switch is on, should you play the sound, play nothing, or vibrate the phone?  (Hint: Apple reviewers have an opinion)
  12. If there’s already a sound playing (like music from the iPod), should you play the sound overtop?  Should you fade the music down, play the sound, and bring it back up?  Should you fade the music down, pause the iPod, and play the sound?  Should you then resume playback at app quit?  (Hint: Apple reviewers have an opinion)
  13. If the sound is interrupted (like by a phone call or other alert), should it resume playback after?  Or should it die?
  14. What fileformat is the sound in?  Who does the conversion?  Depending on your answers about fading music in and out, you may not be able to use formats like AAC that the phone should support.  Have you thought about the battery life, about performance (app launch times)?  Some formats are hardware accelerated, which may very based on the specific device, what else is going on (music, alerts playing), etc.
  15. Were you aware that apps above a certain filesize can’t be downloaded over a cellular network, drastically decreasing your market?  Do you know what that size is, and which sound file format(s) will keep you in the limit?
  16. How are you allocating memory for this?  No matter how you play the sound, there’s memory to allocate, and doing it wrong is grounds for rejection.
  17. Are there any other apps similar to yours that have been rejected?  (Yes there are!)
  18. Who’s responsible for acquiring the certificates, keys, provisioning profiles, etc. required to submit your app to the app store?  (Hint: if you’re selling under your name, you have to acquire these.  All a developer can do is help you fill out the forms, like a CPA does for your taxes).
  19. Who’s responsible for support, diagnosing crash reports, fixing bugs, etc. after it’s out in the store?

This is the list of things to worry about for a dead simple app, with no user input.  Just imagine what this list would look like if your app actually did something useful.

But iPhone developers eat lists like this for breakfast!  All I have to do is find a good developer!

The good developers are always busy

I’m a good developer.  I have four apps in the app store.  I have two in review.  I lovingly care for these apps.  I push updates.  I add features.  I make money.

I have a waiting list of clients a mile long.  I’ve had to tell prospective clients “you have a great project here, looks like a good idea, but I have twenty great projects to work on for the next six months.  Good luck.”

All iPhone developers are like this.  Most of their time is spent on their own apps.  What little they have left goes only to the most lucrative or most reliable clients.

With other kinds of development, you can sort of snatch students out of college before they realize what they’re worth.  You can get some undergrad student to throw it together for you in his spare time for $20/hour.

But iPhone developers already have a well-paying job working for Apple.  To get their attention you have to pay them more than what Apple pays them.  And Apple pays them a lot more than you would expect.

If you’re budgeting anything less than $5k for your app, just walk away.  Developers are going to laugh at you.  Think about the “simple” two-feature app that exploded into the huge list.  Your app is more complicated than you think.

If you’re going to offer something stupid like “revenue sharing”, just walk away.  Developers are going to laugh at you.  I have a “revenue sharing” deal already–I do development work, and Apple sends me a monthly check.  The only way to compete with that is to pay actual money up front.

But this five-star company on eLance offered to make my app for $10!

We’ve been over this.  The good developers are busy.  In the hour or so I’ve worked on this blog post, I’ve gotten two e-mails and a phone call inquiring about iPhone work.  I sure as hell don’t have time to spend searching for work on eLance, and anybody who does is dangerous.

If you know anything about software development, you’ve heard the horror stories of outsourcing work and having it shoddily-done[1].  Without rehashing that argument, be aware that iPhone development is harder than most other kinds, and so there’s a great deal more that can go wrong.

How to find a developer

It’s simple:  cold-call the people who made apps you like in the app store.  Every project I’ve ever done started as a cold call.  Most will tell you they’re too busy to do new contract work.  But, if they’ve written an extremely similar app, they will know what’s involved and will be way faster than average.

Tell them what your budget is.  Cold-callers who are flakey about budgets go to the bottom of the bin.  Ask them for an estimate.  If they say they’re too busy:

  • Ask them if your budget is in the right range.  Remember, it’s always more complicated than you think.
  • Ask them if they know anyone who can help you.  Maybe they personally know another developer.  Maybe they use an app that’s similar to what you want that you’ve never heard of.
  • Ask them if they have any advice.  Most developers are pretty friendly, even if they can’t help you.

tl;dr

If you don’t have $5k, walk away.  Anyone who does iPhone freelance work is either

  • Being paid more than Apple pays him for releasing an app on the app store, or
  • Incapable of writing his own app store apps (not the developer you want).

If you want someone good, try cold calling apps you like in the app store.

If you’re read all of this and are still serious about making an iPhone app, feel free to call or e-mail (phone widget on the right sidebar).  But I keep a pretty full schedule, so I may not be able to help you.

[1] When I say “outsourcing” here, I mean the kind in which you pay considerably less than states-based developers.  I’m not implying that similarly-priced developers in other countries are inferior.

UPDATE:Looking for an Austin iPhone Developer? I’m now accepting qualified clients. Learn more about my iPhone and iPad app development services.


Want me to build your app / consult for your company / speak at your event? Good news! I'm an iOS developer for hire.

Like this post? Contribute to the coffee fund so I can write more like it.

Comments

  1. Mon 27th Jul 2009 at 4:35 am

    Nice post. I’m bookmarking this one so that I can send the link to prospective clients so that it saves me the hassles of trying to explain all the points that you so nicely explained :)

  2. eshan
    Tue 02nd Nov 2010 at 11:28 am

    Thanks for this. I’ve been considering looking for someone to develop my app idea, mainly due to time constraints. I can pretty much answer all your points about my app though, so maybe I really need to take the time and do it myself?

  3. Mon 14th Jan 2013 at 8:18 pm

    Howdy just wanted to give you a quick heads up and let you know
    a few of the images aren’t loading properly. I’m not sure why but I think its a linking issue.
    I’ve tried it in two different browsers and both show the same outcome.

Comments are closed.

Powered by WordPress