10 ms·
How much did Twitteriffic for iOS cost to develop? Craig Hockenberry answers.
- lukev 16y agoThis 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).
- einarvollset 16y agoI 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.
- tptacek 16y agoI don't think it's Cocoa that's slowing them down, so much as that it's a really, really, really good phone app.
- weaksauce 16y agoIt takes more time than anyone really thinks to do anything really well.
- Zev 16y agoThat has nothing to do with Cocoa. It would take me as much time to do a Rails app well as it would for someone who has as much experience in Objective C as I do in Rails (that is, not nearly as much as I do with Cocoa).
- weaksauce 16y agoExactly. That was my point as well. It takes a lot of time to do anything very well.
- TotlolRon 16y ago> 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.
- tptacek 16y agoThe simpler you make something, the more perfect the execution of each of the remaining elements have to be, because your attention is now laser-focused on them.
- roc 16y agoNot unlike the old saw: "I'm sorry this letter is so long, I didn't have time to writer a shorter one."
- joeld42 16y agoHear 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.
- gavingmiller 16y agoDon'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.
- astrange 16y agoWhat is an anti-hack kit?
- gavingmiller 16y agoI hope I didn't confuse... that should be anti-crack kit. Specifically the kit uses various means to detect if the application had been cracked. When applications are cracked there are various tell-tale signatures that are left behind such as modified plist files. These signatures are detectable by the kit, which I can check on via a call to the kit's "isCracked()" method. I collect this statistic, and if I wanted to could cripple the app.
- msbarnett 16y agoOut of curiosity, what kit are you using? I'd be interested in giving something like that a try.
- gavingmiller 16y agoI'm using the one developed by Oliver Drobnik called AntiCrack: http://www.drobnik.com/touch/anticrack/ http://www.drobnik.com/touch/anticrack/
- astrange 16y agoIs there no way to validate code-signing on your app bundle? I would think that would still work even if the signing requirement was patched out of the OS.
- RBerenguel 16y agoWell, 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.
- guelo 16y agoAs 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.
- kgutteridge 16y agofor 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
- danilocampos 16y agoIt'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 16y agoMobile developer here: Most definitely android is costlier to produce feature for feature than iOS.
- jlmendezbonini 16y agoCan you elaborate? You develop for which platforms (iOS, Android, Symbian, etc)? What type of software (games, utilities, etc)? Thanks
- sahillavingia 16y agoIn 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.
- hackermom 16y agoOver-engineering - the most common, hidden cost.
- marknutter 16y agoKeep 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."
- sahillavingia 16y ago5% in many companies is a ton of money. I would definitely take that deal in several companies I know.
- pmjordan 16y agoAlready successful companies rarely can hand out 5% shares just like that, the existing shareholders probably won't have it. I'm fairly sure the OP is referring to "5% of app profits" offers, i.e. shares in a yet non-existant enterprise. You'd effectively be acting as an angel investor in a company run by someone who won't actually do anything. (investing time rather than money)
- sahillavingia 16y agoAh ok my bad. Misunderstood.
- elai 16y agoWhere 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)
- grinich 16y agoTry increasing your rate. I bet you'll get more business.
- msbarnett 16y agoCanadian 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.
- Skroob 16y agoWow, 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 16y agoWhat 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 16y agoI'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!
- msbarnett 16y agoPersonally, 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.
- smackfu 16y agoThe 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 16y agoI 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?
- kaib 16y agoA 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 16y agoI'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-interview-dont-forget-about-the-fun/ http://venturebeat.com/2008/04/21/popcap-games-executive-int...
- kaib 16y agoFixed, my memory failed me. You are right, it was Bejeweled 2.
- aresant 16y agoThat 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
- tomjen3 16y agoOkay 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 16y agoWhat'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.
- pmjordan 16y agoOnce you're into the territory of building custom UI controls, effort starts going up, up, up. I've found the existing UI classes to be perfectly good for their intended purpose, but try extending them and they'll frequently break, requiring either a rewrite or late nights of debugging (and you don't get UIKit's source). This is particularly deadly when doing contract work and the client's designer is used to web dev, where you can often hack around stuff. On iOS, "trivial" design changes sometimes cause major headaches. The other not-so-obvious complexity here is probably the data model, which seems far from trivial, especially given the constrained memory environment (lots of images, etc.). The times don't seem unrealistic at all to me.
- tomjen3 16y ago>What's with everyone thinking Objective-C is inefficient (in developer-hours)? Manual memory management, lack of functional programming, compile/test cycle, etc isn't free.
- Groxx 16y agoIt'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 16y agoI'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.
- allwein 16y agoMy 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.
- ramanujan 16y agoThis 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 16y agoI've seen many a business plan fail using the "we'll just hire some college students" strategy.
- Zev 16y agoAnd 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 16y agoThis 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".
- davidwparker 16y agoAs a grad student just now learning Objective-C, I disagree. I barely have time to hack for myself with all of my school work.
- mattparcher 16y agoFor 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 http://furbo.org and wrote the book, “iPhone App Development: The Missing Manual” (http://appdevmanual.com/ http://appdevmanual.com/).
- csomar 16y agoI 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.
- msbarnett 16y ago$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.
- robryan 16y agoThat depends though, if you are in school and your alternate job is flipping burgers for around the same pay it is more attractive. Sure you could get more but there is a lot more in running proper professional freelancing, if your learning along the way and your client knows that life/ school will get in the way frequently it's a decent deal. Of course one you get to the stage of having a business with all the proper overheads and spending fixed hours with good programming knowledge it becomes next to nothing pay.
- msbarnett 16y agoEh, even as a student, when your price range is putting you on par with lawn-mowing services, you're going to run into a lot of time-wasters and fools who think you ought to do it for a six-pack and the opportunity to wash their car. Hence the aforementioned "guy who wants a custom web application and thinks $1500 isn't a steal of a deal". Raising your rates will winnow out the chaff and get you doing more serious projects that will look better on your resume.
- p01nd3xt3r 16y agoI 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.
- fairlyodd 16y agoI 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 16y agoFreelancers can't rely on a steady 40h/week of billable work.
- silencio 16y agoNot 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.
- rwhitman 16y agoI 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...
- blantonl 16y agoA 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 16y agoWriting 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).
- bherms 16y agoUnfortunately 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."
- rdrimmie 16y agoI'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 16y agoWow, 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.
- Create 16y agoUnless 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