
How much did Twitteriffic for iOS cost to develop? Craig Hockenberry answers. - quux
http://stackoverflow.com/questions/209170/how-much-does-it-cost-to-develop-an-iphone-application/3926493#3926493
======
guelo
As an Android consultant I'm always amazed at how much clients underestimate
the effort involved in putting together a high quality "simple" app. It's
actually worse for Android, for some reason clients can't fathom paying the
same for Android as they pay for iPhone apps. I always have to explain that it
is no easier creating an Android app than an iPhone app. Of course people get
what they pay for which is probably why the quality of Android apps in general
is so poor.

~~~
danilocampos
It's actually a bit harder to create an Android app of comparable quality,
isn't it?

Apple gives you a boatload of really thoughtful, usable UI classes. What I've
read is that Android's SDK UI code isn't nearly as substantial or mature. Can
you confirm if this is the case?

edit: Then there's Core Data for object modeling and persistence, which is a
huge time saver. Is there an Android analog of this with comparable power?

~~~
gte910h
Mobile developer here: Most definitely android is costlier to produce feature
for feature than iOS.

~~~
jlmendezbonini
Can you elaborate? You develop for which platforms (iOS, Android, Symbian,
etc)? What type of software (games, utilities, etc)? Thanks

~~~
jrockway
Android is costlier because designers don't like Google's widgets, so every
Android app (that involves a "designer") makes their own instead.

This results in shitty apps that are costly to develop. Fortunately, most of
the apps that people actually use don't do this, so it's not really a big deal
for users.

~~~
gte910h
Android is costlier to produce because:

The API's have more gotchas and simple bugs than the Apple ones.

The 1.6 API in particular has some hairy bugs.

The debug cycle takes considerably longer (almost 3x as long as the iPhone
debug cycle for a non-media app).

The debugger doesn't work as well.

The lack of a GUI UI layout tool (there are some, they don't work well yet).

The project setup is considerably more time intensive (barring signing issues,
which experienced iPhone shops don't have issues with really).

Now it's not all against android: The lax approval criteria and ease of market
publications are awesome. I'm just saying it costs MORE to do android, I'm not
saying don't do it.

And yes, you're right, custom widgets are harder in android than in iOS. If it
makes you feel better, I find the amount people change iOS custom widgets
silly too.

------
kaib
A few years ago I taught a short game programming class. Just for kicks we had
a quizz where the students had to look at 10 small downloadable games and
estimate how much effort had gone into each of them. PopCap's Bejeweled 2
stuck in my mind.

The estimates ranged from 'a weekend' to 'maybe a month'. The truth: pre-
production with 3 senior people for 2 months, post-production and polish with
a team of 10 for a year. There were a lot of little gem games at the time.
There still is. But Bejeweled was the one that sold over 50 million units.

Polish, polish, polish.

~~~
aresant
I've seen several interviews with the PopCap founders where they've stated
that they built the original in less than a year with just the three founders.

Maybe the polish came after the MSN games version?

eg -> [http://venturebeat.com/2008/04/21/popcap-games-executive-
int...](http://venturebeat.com/2008/04/21/popcap-games-executive-interview-
dont-forget-about-the-fun/)

~~~
kaib
Fixed, my memory failed me. You are right, it was Bejeweled 2.

~~~
aresant
That makes sense, upvoted :).

They've got such an intersting story especially for HN audience - bunch of
taltented guys in their 20s at the time, working for the man, going out to
build something new and doing their best to survive while they got traction -
I think their first deal was just $1500 a month for the original online
version of bejeweld

------
rdrimmie
I'm the dumbfuck that originally posted the 160 hours number. The only thing
I'll say in my defence is that it was written in October 2008, two years ago.
It certainly didn't take into consideration the many hours of development that
have been done since, and the hourly rate was based on actual searches I did
on freelancer sites.

I wasn't actually high. Just stupid. If there were a way to 'unaccept' an
answer I'd have done so long ago. The user 'schwa' corrected me long before
chockenberry noticed.

~~~
flatline
Wow, I hadn't noticed the time difference between the original thread and
Chris's reply, thanks for pointing that out. I honestly don't think your
estimate (I gathered that two months was more realistic) was that bad to get a
first cut of a simple app out the door. I have never seen Twitterific but to
your point it looks like it went through a fair number of iterations over the
course of several years, plus a ton of design work, which you were not trying
to account for.

------
csomar
I was discussing few days ago with someone who "work in IT" a project that he
wants to get done. It's a Golf amateurs related website (JS/PHP App). I have
told him that everything is simple and ready [can be found somewhere] (user
login, querying a database, Image manipulation, user comments...) but the hard
thing is putting all the functionalities together and making them really WORK.
I estimated 1,500 USD, which I think quite low (pricing myself at around
$15-20/hour), but I'm just starting and no kind of professional.

He thought it's quite high and he said he don't think such basic
functionalities are quite hard to do. Yes, they are not. But testing,
deploying, IE bugs, polishing and fixing are very expensive.

Software development is expensive, Polished Software is frikin' high
expensive.

~~~
imack
You need to price yourself higher. While $20 for you may be a lot (as I
thought it was during school), for a reputable firm this is nothing, and it
means you won't be taken as seriously. This manifests as them often wasting
your time in terms of developing features they don't really need. This is
probably going to happen in _any_ software project, but a higher per hour cost
makes people think about your time in a better light.

Also, get a retainer. Took my 18 months to get money from a friend's company
once. Retainers get rid of so much BS.

~~~
jscore
Mind explaining how the retainer would work?

~~~
andymism
If you're doing the work for a flat project fee, ask for 20-50% of the fee up
front before doing any work. If you're going to be paid hourly, you probably
would have provided at least an estimate of hours that the project will take.
Your retainer should be 20% of the total of your rate times hours estimated.

Always request a retainer. Especially for new clients. Even more so for
friends and family.

------
Groxx
It's another of those situations where _duplicating_ a polished application
like that could indeed take 160 hours. It's downright _easy_ when it's in
front of you. You could probably do it in that time frame while learning a new
language and a new framework to implement it in.

 _Discovering_ what constitutes "polish" for your application takes _enormous_
amounts of time, iterations, failures, and attentive and intelligent
developers / designers.

~~~
Skroob
I'm not sure I agree with you here. I think in general, if you're straight up
cloning an app, you're probably missing out on what makes people like the app
in the first place. Or you just don't care, and you're trying to shove
something out the door as fast as possible.

Bottom line, if you cloned Twitteriffic in 160 hours, I'm certain I'd still
rather buy and use the original, even if yours is free.

------
marknutter
Keep in mind, they are assuming an hourly rate of $150. However, this does put
into perspective any jerk offering 5% equity for a developer who creates their
"simple iPhone app."

~~~
elai
Where do people get customers willing to pay $150/hr? Or is it a san
francisco/new york thing and for the rest of north america/europe it's more
like $50? (canadian here)

~~~
msbarnett
Canadian here as well.

If you're in any of the big cities and your rate is significantly under
$100/hour, you're probably under-charging if you've got decent experience and
rep and are doing something heavily in demand, like mobile work.

$150/hour for devs as well known and with as good a reputation as the
twitterific guys is pretty much par for course.

~~~
elai
I'm a couple hours away from vancouver. Should that make a big difference?

~~~
msbarnett
I guess it depends on the size of the place you are at. I don't doubt that the
rates are considerably lower than Vancouver-proper.

In general your highest rates are going to be in Toronto, Vancouver, Edmonton,
Calgary, Ottawa, and Montreal (not necessarily in that order).

------
mattparcher
For those unfamiliar with Craig Hockenberry, he is a talented developer with
high standing in the Mac and iOS developer communities.

He writes at <http://furbo.org> and wrote the book, “iPhone App Development:
The Missing Manual” (<http://appdevmanual.com/>).

------
p01nd3xt3r
I am so glad to see someone that is not totally full of shit answer the "how
much did x take to develop" question. I have made a few iPhone apps and I am
always amazed by the low time estimates that non-iPhone developers give. Also,
keep in mind that these are really good top notch developers. Double his time
estimate for idiots. I probably fall somewhere right in the middle.

------
bherms
Unfortunately the underestimation of time behind technology is nothing new and
not just an issue with mobile development. We get the same thing at work
nearly every day. People come in, want a 50 page website designed from
scratch, branded, built on a CMS, and programmed with lots of forms, Java
functionality (simple jQuery stuff usually), and SEO and expect to pay $1000.
When people like this come about, it's the professionals job to educate the
client and help others understand how much really goes into development.
Looking at a "simple" app or website that they'll spend minutes on (or more in
some cases) makes it very easy to think, "Well it took me 60 seconds to
navigate this page OR I picked this game up in a few minutes and beat the
first couple levels, therefore it must have been simple to build."

------
smackfu
The iPad example may be a bit of an anomaly because it was going to take 9
weeks / 60 days no matter what.

If Apple had given them 30 days, they would have released a product on iPad
day 1 that cost half the money.

~~~
Zev
I know people who increase (>= 2x) their hourly rate if they're expected to do
the same amount in half the time because of a deadline. Who's to say that
Iconfactory doesn't do something similar?

------
rwhitman
I wish there was more awareness in the general business community about how
much effort goes into developing mobile apps. So few potential clients I
encounter fully realize how much work goes into it, and when you give them an
estimate the gap between their expectations and reality is glaring...

------
allwein
My first iPhone app was feature complete in about 20 hours. I've since spent
an additional 100 hours on better graphics, better design, performance
enhancements, and other polishing.

I haven't added a single new feature yet after the initial 20 hours, but the
app is obviously much MUCH better and easier to use.

------
Skroob
Wow, some of the comments about the costs there are flat out insulting. A well
done app is going to take time and money to create and polish, and a simple
app is almost always anything but simple. Twitteriffic is a well done,
"simple", polished app, and $250k seems like a good number to me.

Personally, I'm still learning how to bill my time out properly. I've got a
serious case of underestimatitis. Maybe Craig's numbers will help me
understand how much time I really spend on a project.

~~~
Aqua_Geek
What level of granularity are you using in your estimates? Are you just
calculating a number for the whole (eg "I think that will take 120 hours") or
are you also breaking that down as much as possible? I've found that if I can
get an estimate broken down into tasks of <10 hrs/ea then it actually turns
out to be pretty close.

That being said, the larger the project is, the greater the probability of
underestimatitis. As soon as you hit 250+ hours, I've found estimates to
become increasingly less accurate.

~~~
Skroob
I've been doing the former, and it definitely needs to change. I'm obsessing
more about tracking my time to help me with future estimates, for one. I will
also try breaking down into finer granularity and hopefully that will help as
well. Thanks for the advice!

------
Create
Unless we are talking about templates and cookie-cutter apps, this whole thing
has little meaning.

Really good stuff is done by hackers and painters, therefore when you estimate
your costs, you only tend to see the canvas and a little gouache, which are a
commodity—just like computing. And perhaps some of your time, most surely, if
you don't have a good time doing it.

Saying, that the painting of a picture costs X€ is about a code monkey who has
no idea about what the real work is truly about.

But yes, management does have an interest in the devaluation of productive
work to leave room for their own overhead. There are thousands of apps out
there in the world, and from that perspective it is nothing but throw-away-
junk, warranting a low price.

 _Is it possible that software is not like anything else, that it is meant to
be discarded: that the whole point is to always see it as a soap bubble?_
—Alan J. Perlis

 _Those who compete with slaves will also become slaves._ —Norbert Wiener

------
sahillavingia
In comparison, the first version of Dayta took a week of around 12 hour days.
At $100/hr (I think you could find someone great, who works for that rate or
less- hint: students), that's less than <$10000.

Of course Dayta is much less of an endeavor, but don't be phased because of
the price of developing one of the best iOS apps out there.

------
ramanujan
This is 2nd order conventional wisdom. No doubt maintenance of an app takes
time and effort. But the numbers thrown around assume high hourly rates for
all involved. The only real cost is time and a grad student living on ramen
can knock out something pretty decent in a month or so (less if they already
know Objective-C).

~~~
guelo
I've seen many a business plan fail using the "we'll just hire some college
students" strategy.

~~~
Zev
And I've seen many spaghetti messes that had to be cleaned up by full-time
"developers" who cared more about getting paid than if their code worked, let
alone if it could be maintained.

~~~
guelo
This is true, there are many crappy developers out there. How do you find the
good ones that take pride in the quality of their work? I don't know, except
to say if you don't haven any technical know-how the best way is probably the
same you might find a good plumber or auto mechanic or dentist or lawyer or
any other professional service, hope you get lucky with some good references.
I never hear people looking for those services ever saying "screw it I'll just
get some cheap kids with no experience".

------
lukev
This is unfortunate - that seems like a lot of work for a relatively simple,
albeit well-done app.

I might have to think twice about whether I want to do an app to complement a
webapp I'm doing in my spare time (no prior experience on iDevice
development).

~~~
TotlolRon
> _This is unfortunate - that seems like a lot of work for a relatively
> simple, albeit well-done app._

It takes a lot of work to make things look simple. And even more to make them
well-done.

~~~
joeld42
Hear hear. The user interface for my first app took me 3x as long as I
expected, despite finding (unexpectedly) that Cocoa Touch to be one of the
nicest API's I've encountered. It was because I re-built it several times to
make it feel "right", and after watching users try it. Each time it got
simpler. It probably only took a few days worth of coding for what went into
the final app (the editing interface, not the whole thing) but the road to get
there was long. I guess that's the value of an experienced UX designer -- they
can do that work beforehand with paper and intuition.

------
blantonl
A great read, but shocking in how much it costs on the App/dev/Infrastructure
side. Each app seems like a startup in itself, yet, the risks seem far
greater.

Are the dev tools _that bad_ that it costs that much, and requires so many
people, to produce a concept to result?

Am I missing something? I _must_ be.

~~~
HectorRamos
Writing a simple table view based app can be done in a night.

Making something that is actually useful, beautiful and performs well will
take much longer. This is where things like writing the API consumer bits,
handling persistent data stores and so on come in.

Then you need to polish it.

It's not so much about the language or framework as they are great once you
learn them, it's just that the standards are set very high in the App Store
(at least if you wish to be taken seriously).

------
fairlyodd
I agree with the poster, but doesn't $150 an hour seem unusually high for a
freelance developer? It is equivalent to about $300k yearly - no developer
makes that kind of money by programming alone.

~~~
kalid
Freelancers can't rely on a steady 40h/week of billable work.

~~~
silencio
Not only is the lack of steady work a problem, but also there are other costs
of freelancing that people don't consider when employed. I have to be pretty
careful about _additional_ taxes, cost of equipment and other necessities
(everything from my own computer and software to desk, chair, internet and
more), and especially for me, health insurance in CA where I have preexisting
conditions that insurance companies hate. (And yes I've done my research on
group rates and such...that's yet another thing I have to do that I wouldn't
have to worry about as much if I were employed.)

So yeah, I might seem ridiculously expensive when I go bill someone at
$200/hour, but I make nowhere near $300k and out of what I do make, I don't
get to save a lot after paying all the bills. But in exchange, I get a lot
more freedom when it comes to working, which leaves room to do other things in
my life. It's a tradeoff I'm willing to make because I _can_ find fairly
steady work, but I would never do it if I had a family or if making money was
my sole objective.

------
hackermom
Over-engineering - the most common, hidden cost.

------
tomjen3
Okay now I wonder what they spend that time on, because I would never have
guessed it took that long. Is it because it takes so long to get anything done
in Objective C? Most IOS apps don't have that many features.

~~~
Aqua_Geek
What's with everyone thinking Objective-C is inefficient (in developer-hours)?
I have found it to be very easy to use. Granted, it does have its warts that
make coming from a language like Ruby somewhat painful. But I second Craig's
comment that "the notion that [the high number of hours burned] is the
language's fault is laughable."

That being said, I have worked on 20+ iOS apps now and most of them were
finished with a MUCH smaller total number of hours than this. I don't disagree
that taking something from "it works" to "it's elegant" takes time, but 1100
hours of dev time does seem a bit high. I, too, would be interested in more
info (like total lines of code, whether or not they built a Twitter engine
from scratch for the app, etc).

To anyone considering making an app: don't use this as a baseline comparison.
You can get a great-looking app done in a lot less time than this.

~~~
elai
Objective-C is a bit irritating in it's dictionary & array/list syntax, it
turns something that would be 20 characters in python or even java into
something that is 100-150 characters. Similarly in string editing and xml
parsing. TouchJSON works very quickly, but then you run against the obtuse
array & hash table syntax when using it's result. Give us smalltalk binary &
one character operators! The obtuse syntax hurts readability too.

~~~
jsolson
You may find the following useful:

    
    
        #define A(obj, objs...) [NSArray arrayWithObjects:obj, ## objs , nil]
        #define D(val, key, vals...) [NSDictionary dictionaryWithObjectsAndKeys:val, key, ## vals , nil]
    

I put these two macros in the prefix header for every Objective-C project I
do. Say what you will about single character macros, these save me time and
improve readability (for me, anyway... I'm not sure how others reading my code
down the road fare, but so far there haven't been many of those).

~~~
elai
One of those obvious things that you feel stupid for not realizing. Thanks!

------
RBerenguel
Well, Twitteriffic for Mac still was unable to do retweets last time I
checked. Ditched it for TweetDeck. I know this is kind of off-topic, but after
seeing these large figures they are moving, I feel something close to
unimpressed.

