top | item 1788416

How much did Twitteriffic for iOS cost to develop? Craig Hockenberry answers.

252 points| quux | 15 years ago |stackoverflow.com | reply

105 comments

order
[+] guelo|15 years ago|reply
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|15 years ago|reply
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?

[+] kgutteridge|15 years ago|reply
for my sins I have been making mobile apps for over 6 years, the original problems we had explaining to clients about fragmentation in J2ME was even worse as Java was sold as write once run anywhere, A similar thing now happens with iPhone OS variants where people just see it as a "iPhone app"

The real skill is in explaining why this is difficult and actually how much design work needs to be undertaken to make these "simple, clean" looking apps

However it has to be said there are some quick wins for mobile apps that can be achieved quickly, however something like twitterific which is probably one of the top 2% of iPhone applications the effort expended is not that surprising unfortunately

[+] kaib|15 years ago|reply
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.

[+] rdrimmie|15 years ago|reply
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|15 years ago|reply
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|15 years ago|reply
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|15 years ago|reply
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.

[+] msbarnett|15 years ago|reply
$1500 is incredibly low for any kind of bespoke development.

Incidentally, at $15-$20 an hour, you're severely under-pricing yourself, if you're in any major market in North America that I can think of.

[+] Groxx|15 years ago|reply
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|15 years ago|reply
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|15 years ago|reply
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|15 years ago|reply
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)
[+] sahillavingia|15 years ago|reply
5% in many companies is a ton of money. I would definitely take that deal in several companies I know.
[+] mattparcher|15 years ago|reply
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|15 years ago|reply
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|15 years ago|reply
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|15 years ago|reply
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|15 years ago|reply
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|15 years ago|reply
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|15 years ago|reply
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|15 years ago|reply
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.

[+] akeefer|15 years ago|reply
One common technique used by agile methodologies (yes, I know that word has a ton of baggage) is to estimate in terms of story points rather than actual hours, days, etc. You start out thinking of a point as "one ideal day of uninterrupted work" to use as an anchoring point, and then for any work you want to do you break that work down into stories that you can estimate work for. If the story is bigger than about 3 points, you break it down further; if you can't estimate it, you do more research so you can.

The important part is not that the estimates match any number of hours per se, but rather than the relative weighting is about right, such that something you estimated as 3 points is, in actuality, about 3 times as much work as something estimated at 1 point, and all 1 point stories are roughly comparable in terms of work.

What you then do is to empirically estimate the actual mapping of points to hours/days as you work by tracking your velocity. In a 40-hour work week, how many points do you actually get done? As you get better at estimating, ideally your velocity becomes more stable, and then you can map from points back to days in order to make scheduling decisions. We switched over project planning and estimation to that strategy on a fairly large project I was leading, and it helped give us much more accurate overall estimates.

Now, that's all easier to do when you're working on a long-term project, you're familiar with the existing code base and the problem domain, etc. such that you can actually break things down into stories and do reasonable estimates.

That said, I think that the general idea of point-based estimation is still useful for you: rather than trying to estimate hours or days, work on getting better at relative estimation using something like points, and then empirically measure your mapping from points to hours to determine your likely schedule and how much you should bill.

[+] Aqua_Geek|15 years ago|reply
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.

[+] msbarnett|15 years ago|reply
Personally, one thing I've found that helps with estimates is to think in terms of days instead of hours, and to assume a fairly low productive amount of hours (5) within each day when converting back. (Yeah, you'd hope to be productive for more than 5 hours in a given work day, but there are a lot of little things that steal your focus and eat a lot of time away from your project without you realizing it. Fail to account for them at your peril).

The original estimate someone put forth for twitterific was 160 hours of development. Ask yourself, could you reasonably expect to sit down today and from scratch, have written something as polished as twitterific, in only 32 days? Knowing full well you will need to spend days banging your head against some problem that should have taken you 10 minutes but somehow cost you 6 hours, testing and fixing bugs, profiling and optimizing slow code paths, polishing interactions, tweaking animations, and going back to the drawing board when some piece of functionality doesn't quite feel right?

The testing and tweaking alone can last for weeks in high quality projects, and 32 days only gives you 4.5 weeks from start to finish. It's absurdly low.

[+] Create|15 years ago|reply
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|15 years ago|reply
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|15 years ago|reply
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|15 years ago|reply
I've seen many a business plan fail using the "we'll just hire some college students" strategy.
[+] davidwparker|15 years ago|reply
As a grad student just now learning Objective-C, I disagree. I barely have time to hack for myself with all of my school work.
[+] lukev|15 years ago|reply
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).

[+] gavingmiller|15 years ago|reply
Don't let a professional app like Twitterrific discourage you from taking a dive into iDevice dev.

Prior to writing my iPhone app, I had 0 experience doing iPhone or Objective-C dev (I do have a comp sci degree which did help a ton.) All told it took me and my partner around 70 hours of dev/design work (some of that was me reading HCI guidelines for the iPhone.) We spent around $200 on an icon package, $75ish on an anti-hack kit, and had some server costs that got absorbed elsewhere.

It was a fun project and something we'll continue to play with in our spare time.

[+] tptacek|15 years ago|reply
I don't think it's Cocoa that's slowing them down, so much as that it's a really, really, really good phone app.
[+] einarvollset|15 years ago|reply
I think you'll find that's actually pretty damn efficient for such an app. If you add interaction with a client changing their mind, etc (v. common..) then it could easily be higher. Much higher.
[+] TotlolRon|15 years ago|reply
> 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.

[+] blantonl|15 years ago|reply
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|15 years ago|reply
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|15 years ago|reply
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|15 years ago|reply
Freelancers can't rely on a steady 40h/week of billable work.
[+] hackermom|15 years ago|reply
Over-engineering - the most common, hidden cost.