This is a general problem with custom software, not just iOS apps.<p>Most businesses outside major corporations didn't start commissioning custom software until the rise of the commercial use of the internet in the late '90s, when all kinds of small and medium sized businesses wanted their own website. Websites were relatively simple back then, and the people willing and able to make them cheap. Hell, even though I was already a professional programmer for years, back in 1994 the idea that someone would pay a few hundred bucks me to make a "homepage" was just cool enough in itself.<p>Websites became more complicated applications, no longer something hobbyists could do on the side, and became more diverse, including apps for specific platforms like iOS. The cost of having an online presence has multiplied many times in less than a decade because of the sheer amount of work involved, and the level of professionalism required these days.<p>But most businesses don't commission software ever few months, or even every few years. So every time they want a new app, or a refresh of their website, they are suddenly faced with a shockingly high price tag compared to the last time they wanted something similar (or at least similar from their perspective).<p>And we're only just getting started. The shortage of decent developers has only begun to translate itself into higher costs. Most employers are still rather conservative in the current economic climate, and developers are notoriously bad at selling themselves.
As a "business person" I need to know three things to hire someone:<p>1) how much did it cost other people to build similar apps (comparative analysis)
2) that you are able to build the product successfully (reducing technical risk)
3) that the price is low enough that the estimated Rev will produce a return (ROI)<p>-
If you can present those points clearly you will be in a much better position to make more money with less frustration
This is a message on NY Tech meetup mailing list, from about a half hour ago. All I could do is shake my head.<p>_____________<p>I am seeking a telephony app. builder that can deliver a PhoneGap lie ( non-native) inexpensive app. for a telephony project.<p>pay is:<p>$350
+ 1% equity stake in a newly formed Delaware Corp.
and 2.5% on all residuals.
possible board seat (future paid projects)<p>if you can deliver an additional investor, you can get 5% of the transaction on the capital raised through you contact.
Multiple reasons for this:<p>First, too many stories along the lines of "I built this app for $1,000 in India and it is making me $50K per month".<p>Second, kids who don't know how to value their time who'll work like slaves for $2,000.<p>Third, bad programmers who deliver product cheaply enough, however, the underlying code is an absolute mess. They charge nothing, throw it together and move on.<p>Fourth, people tend to come up with an idea of what it is that they want to pay for something and try to fit that something to that number. When it comes to software that's like the square-peg -> round-hole problem. I've been to countless meetings where the other side says things like "We'd like to do this for no more than $10K" ... and then they describe an intense six-month, four-person job.<p>You can always try to educate. Sometimes that works. It can be painful. What you don't want to do is be the educator and have someone else walk away with the work for less (even if it is 1%) than what you would charge. So, don't invest any time unless you know that there's a really good probability of getting the deal.
Our app (shameless plug: itunes.apple.com/us/app/little-heroes/id477247738?ls=1&mt=8) cost $15K to make by a Toronto-based developer. We were able to keep the costs that low (I think that's a pretty good price for a better than average iPad app) because (1) all of the art was done in house and (2) all of the server side functionality was done in house. Our app developer <i>just</i> had to wire up the various pieces. (I say <i>just</i> sarcastically, it was still a lot of work).<p>If you have to outsource the entire cost of development, and you want a good looking, well functioning app, it's very expensive. And then there are the inevitable upgrades, improvements etc.
This problem not only isn't unique to iOS dev work, it's not even unique to programming. <i>Any</i> custom work, from carpentry to bespoke tailoring to artwork, is more expensive than most people expect, even when they account for custom work being expensive. For instance, I knit, and have been asked more than once if I'd accept a commission (for, say, a pair of socks)---and when I decline, and say they couldn't afford it, they almost invariably throw out a number like $60 or $80, very expensive for a pair of socks but <i>a small fraction of minimum wage</i> for something that could take thirty hours or more.<p>The problem is that so much of what we buy is mass-produced that we forget just how expensive person-time is, especially creative person-time, since for most modern products this gets amortised over hundreds or thousands or millions of units. Even user-facing software has this issue, since the programmers do their work once and then the marginal cost of each additional copy is pennies or less. But custom work? There the cost is borne entirely by the one commissioning the work, and if it's an individual, or a small business or startup that has never had to purchase enterprise or custom software, they simply have no analogous experience, with software or anything else, of bearing the entire cost of everything.
I agree with the overall sentiment of the page. A few questions to seasoned iOS devs:<p>"With websites, you can simply add one more page, then create a link to that page when you needed. However, you can’t do that with iOS app, everything has to be set in the beginning, any changes might result in significant other changes that you might not be able to understand why."<p>Isn't this what the Navigation Controller is for? You just push a view controller onto the stack, and pop it when you're done.<p>Regarding the UITabBar: "if you want colors icons instead of the blueish tint, the change in code is substantial!"<p>I have been using this method, which is not really complicated: <a href="http://sugartin.info/2011/07/01/customizing-tab-bar/" rel="nofollow">http://sugartin.info/2011/07/01/customizing-tab-bar/</a><p>You need to make images for the bar in both orientations (if you need it). The only time-consumer is the "more" button, for which you'll have to create a custom UITableView -- and still not have the handy "edit" command to rearrange the tab bar buttons.<p>...unless this is the wrong method to use, in which case I would love to see an example of the right way to do it.
Most enterprise projects don't want to pay for usability. That's the bottom hard cold fact.<p>Enterprises want to move fast, if they can, but they can't because of the mistakes they've done in the past were covered with more processes to make sure that 1) it didn't happen again and 2) if it happened, we can blame the process.<p>Sometime engineers don't understand 2 facts:<p>1) You will get fired if you made mistakes<p>2) You will make mistakes<p>So people tend to hide and blame "processes" to avoid firing.<p>CEOs are cold blooded firing squad. Just like "Businesses". What matters are profits.<p>Business people will wear a very thick layer of skin and try to pull unimaginably stupid statements to push the price down ranging from "I thought Facebook was done in a weekend" to "It shouldn't take a day or two to fix a 'simple' Database issue. You just go there and change the data"
ios is a lot of work, programming in general is a lot of work. It is 2012 not 1992, business people in all fields should know programming is not cheap. Business people who do not do the research, don't bother with them. Avoid them at all cost. I've learn the best clients are the ones who value your work and are willing to pay for it. Their is a shortage of great programmers.
I get where OP is coming from, but I think this sort of overstates the case. A well designed app would leverage the existing APIs and UI kit.<p>The iOS and Cocoa Touch APIs are really robust, and with libraries like RESTKit, it's not <i>that</i> big of a deal to whip up an app that works well. Indeed, I've done it a few times myself.<p>The problem is that no one is ever satisfied with the UI kit that Apple provides. Browsing Navigation views of Tables, and doing simple CRUD to a simple backend (e.g., Rails on Heroku), is a weekend project, IMO.<p>I think OP is really talking about how unrealistic people's expectations/requirements are – not how difficult it is to make a working iOS app.
So there is high demand for iOS apps (the "business people" are clamoring for them) and "50%" of the project (the backend) is a total PITA. This is the recipe for Parse/Stackmob/Cloudmine/etc for ruling the world.
The author hints at, but doesn't push the issue that the cost is all really in the customization. If you were to build an app using only standard apple components, the cost would be significantly less (at least 2x). Those custom components take a lot of effort, particularly when you end up hacking Quartz.<p>A quick example, I implemented a very good looking custom badge system for an app. The result looked just liked design, could be generated programmatically, and worked like a charm. It also took me a couple of days to implement the whole thing in quartz. If I were doing this as consulting, that's a $2-3000 feature. These things add up very quickly, particularly if someone wants to "try a few out."
I have no experience designing iOS apps. Could someone explain briefly why they are so inflexible?<p><i>Tightly integrated code: With websites, you can simply add one more page, then create a link to that page when you needed. However, you can’t do that with iOS app, everything has to be set in the beginning, any changes might result in significant other changes that you might not be able to understand why. The way iOS codes are structured is like a breadboard, everything is hard-wired, you still can change a few things here and there, but if you change the wrong wire, the whole board might stop working. Even extremely well structured code does not increase the flexibility by a lot. Adding an additional email button to ‘About’ screen might only be worth a few more lines of code, but adding a Facebook Like button on the same page is a different story, don’t expect that to be done in a few hours.</i>
> These APIs must be in existence before you can proceed to make the iPhone app.<p>I disagree. Yes, it's nice to have everything in hand when you start, but I've built multiple apps concurrently with the backend development. The trick is to isolate your networking in the model layer (a good practice regardless of whether or not the API is already done). This allows you to stub or use dummy data until things come online.
My company builds enterprise grade apps (meaning they tie into enterprise systems) and what often is missed is the amount of time (money) required to get usability correct. What often is missed is why usability is important. They think their web application or on-premise application can simply be ported over to mobile very easily.<p>WRONG. Mobile applications supplement existing solutions, which means they generally are a subset of features tailored to a handheld device. Enterprises generally don't adapt a lean methodology. For example they just assume that the current Facebook app you see today was birthed in a weekend...as Facebook itself was. Which, as we know all know here, is simply not true.
In any business where you're contracting directly with clients, especially performing technical work for less- or non-technical people, dealing with a wide variance in expectations and being prepared to (calmly, patiently) explain your LOE estimates is just as important as being able to code/design/etc.<p>It's not their responsibility to know the market they're trying to consume; it's yours. Be prepared to quote market rates for varying levels of experience, and have examples to explain why your time is priced in whatever tier you consider yourself to be in.
I wonder how much of this is because iOS apps are typically priced so cheaply. The thinking goes something like "If you can buy quality apps for $1.99 then how much could they cost to make?". Of course some apps make a lot of money at this price point, but it's widely reported that the vast majority make a loss on the developers' time. I suspect even the majority of non-junk apps (which rules out a lot of apps!) make a loss in this sense. If developers aren't valuing their work correctly, how/why would the people hiring them?
This might be a stupid thought, but I wonder if there's a psychological issue at play for iPhone apps in particular where people subconsciously think small form factor = pretty simple = pretty cheap.<p>Of course, the reality is usually exactly opposite.
It's the same problem on Web Development. It's actually worse. As JavaScript and the DOM are quite hard to handle (cross-browser issues too) to build the simplest features and interactions.<p>I found out that it's not worth it to mingle with offline-small business. Their budget is usually $1,000-$2,000. That's barely enough to buy a stock template, a couple of plug-ins, setup WordPress and customize it a little.<p>The problem is not with small or medium businesses. You need businesses that works on the web. Their web presences is everything they are. They know how web dev. is hard and expensive and they also value it. Highly.<p>If you are a freelancer, find a few of them. Make a good relation. That's it. They'll make you a good salary.
Peoples' "Amazing app idea!" is the new "Amazing screenplay/TV show idea!".<p>Like creating quality TV/Film content, crafting mobile applications takes time, talent, and money and one day this will be better understood by the mainstream.
I can't tell you how many VCs and angels, all of whom should know better, would ask "why did it take so long to build your iPhone app" and "why did it cost so much to build" when they're not including the weeks/months it took to design it, plus build out a very complex backend of servers ingesting licensed data, all the application logic on the backend, all the API calls on the backend and corresponding API connections on the app end, and on and on. It's a big complex project.<p>The idea that you can whip up a very complex iPhone app "in a weekend or two" is naive and, dare I say, bubblethink.
I think one issue is the word "app" and how it's thrown around so easily these days by people who don't fully understand what an app is. It sounds so simple... "just make an app" or "there's an app for that". While devs know that "applications" are hard to write and take much planning, design and infrastructure to build and deploy and support, business people only hear the one syllable word "app" and they equate that that word with "easy and convenient". So bringing their expectations in line with reality is a challenge.
Worst. Article. Ever. Having just been in the situation of being a large corporation client trying (successfully) to hire a firm to do this, I'd like to point out that everything you've said about the prep here is just wrong.<p>(1) Big infrastructure needed: Seriously, if the client is not picky, you should be able to build a working basic infrastructure for the back end in a week. And that's generous.<p>(2) You need a way to communicate: The claim that there is no standard way to do it is just plain wrong. There is absolutely a standard way, its how everyone with a brain does it these days, and its easily supported through every device SDK - you use HTTP<p>(3) Design the API: No, design the app. Then determine what question it needs to ask the server, and figure out how to make the server answer them. Designing the API first is a very engineer thing to do - if you're the only user for the API its just a flat-out wrong approach<p>(4) Pay for it: Sure, but I'll pay for the amount of time it should take to do this. Which is a week. Engineers that want me to pay for them to sit and write 200 page requirements specifications need not apply. I want to work with the people that want to build something on day 1, and then keep tweaking it.
I didn't actually read the blog. Why am I commenting? I want to share the reason why I didn't read the blog.<p>I judge books by their covers. In fact, I don't know anyone who doesn't outside of trying very hard to convince others they do not.<p>The layout of the blog draws my attention to your picture and subsequently your "download my resume" link. I clicked since I was interested in learning a little about the author, his background, and what may have caused him to write such an article.<p>As soon as that link opened, I knew I would not read the blog post because the resume layout rendered the content difficult to read. Why does that bother me so much? The answer is simple: it ruined your brand for me before I even had a positive impression. Right off the bat, I'd give 2 suggestions to clean up your resume a little:<p>1) Do something about the half bar headers you are using as it currently divides the page when viewed, this wouldn't be an issue if you actually had a 2 column design which lined up, but it doesn't.<p>2) Never and I mean NEVER use justified alignment unless you're publishing a newspaper.<p>Sorry if I seem a bit harsh, but being that you're fairly young and these are very simple mistakes to correct, I thought I'd point them out.<p>Best of luck!
I recently made an Android app for $150. Ad supported. Now with 1 million users. That's about 1/30th of what it has earned so far.<p>Hard way to learn to value my own work more.
Depends on the app and the expectations of the business stakeholders.<p>For example, my company focuses on building media-based apps. We have a platform and internal SDK that allows us to build these apps quickly and afford-ably (and not just on iOS -- we can release simultaneously on Android, Blackberry, WP7 and others too).<p>There are other services that make developing apps for mobile smartphones cheaper as well.<p>It's a fresh market and the consumers in this market don't know the options. Not every app is a unique, bespoke snowflake that requires a massive budget and a team of highly-specialized engineers. Once they do though I think we'll see a lot of these budgets come back down a bit.
As a full-stack web developer with particular strengths in server-side development, this whole discussion has opened my eyes to a whole new potential clientele: iPhone developers. Building a nice RESTful API is something I enjoy doing and that I'm good at. I never imagined that I would end up marketing my services to other developers, but clearly there is a market there. I'll have to start hanging around mobile development forums, at least until Parse.com and its competitors put me out of business.
From the referenced SO question <a href="http://stackoverflow.com/questions/209170/how-much-does-it-cost-to-develop-an-iphone-application" rel="nofollow">http://stackoverflow.com/questions/209170/how-much-does-it-c...</a> on apps costing $50-150-250K to develop.<p>Is there really enough money made from apps, to justify this cost?
I'm learning iOS development. I won't start this now, as there's alot more of iOS to learn, but what are the main languages/frameworks are being used server side to interface with iOS apps?
I tend to agree with what you have said. But then, it is unavoidable that high costs would push businesses to other solutions (e.g. outsourcing) for costs savings.
Not to mention dealing with provisioning profiles and certificates. Creating an adhoc distribution version was one of the most frustrating experiences.
I wonder how much of the server aspect is reduced with the existence of parse.com. You still have to build your model, but I would imagine a lot of the server setup and "data format" concerns are no longer valid.
Please raise your hand if you're approached by on a weekly/monthly basis by some bright-eyed, overly optimistic, non-technical person who wants you to build them an "app", of any kind, for the quoted price of somewhere between $10K - $20K.<p>That's the price of a demo.