134 comments

[ 2.4 ms ] story [ 90.8 ms ] thread
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.
> It is 2012 not 1992

On the other hand, think of what you could accomplish with a weekend of work in 1992 and compare that to 2012. Our abilities as developers/designers/etc are vastly improved due to improved infrastructure, tools, communications, resources, etc.

You could build a distributed photo hosting and viewing application back in 1992. But you'd probably be writing it in C++ and it might take you a long time to get something that even works, much less looks reasonably okay and attracts an audience.

Now in 2012, you could hack that together in a weekend. To make it a real project may take a few weeks or months, of course, but the pace at which we can build things is indeed speeding up.

The problem is that once we make 80% of the process vastly more efficient, all it does is throw a spotlight on the remaining 20%. (This is the unheralded dark side of the Pareto principle. ;) Not everything about building an app gets more efficient with time.

You can now throw together a photo-hosting and viewing application in a couple of days. But that doesn't necessarily yield a site that runs itself. Teaching the customer to use the code still takes about the same amount of time. Editing the theme over and over again, iterating a design cycle that incorporates emails and meetings between you and the customer and the designer, still takes about the same amount of time. The process of moderating the uploaded photos to screen out the spam and porn still takes about the same amount of time. Usability testing still takes the same amount of time.

(And even in the enlightened year of 2012 there are still standard things that all sites could use, like proper reverse-proxy caching and solid backups, that over half the Wordpress blogs on earth seem to be lacking. Apparently we're not even done automating the things that could be automated.)

The other problem is that if the customer steps off the well-worn path they will fall into a very deep pit lined with invoices. If Wordpress does it out of the box, it's cheap. If Wordpress almost does it out of the box but it requires even the smallest amount of custom coding, it's expensive. And knowing what things are expensive and what are standard requires skills that customers don't have, so they have to pay a programmer to advise them, and that is itself inefficient and expensive...

> The problem is that once we make 80% of the process vastly more efficient, all it does is throw a spotlight on the remaining 20%. (This is the unheralded dark side of the Pareto principle.

I think this might be better referred to as the well-known outcome of Amdahl's Law: http://en.wikipedia.org/wiki/Amdahls_law

Agreed, but if I'm going to jokingly but inaccurately name-check a principle involving the number "80%" I might as well pick on poor Pareto. He's used to it by now. ;)
These days we can certainly build more, faster. But I get the impression that customer expectations are rising at a much faster pace.
Time to prototype has definitely gotten cheaper.

C is still necessary for a lot of people at scale.

I doubt that -- there aren't that many programmers writing lowlevel OS or database code and most everybody else use something more productive.
think of what you could accomplish with a weekend of work in 1992 and compare that to 2012

In 1992 I could bang out some really effective CUI applications in no time at all. People really hadn't transitioned to Windows at that point. Now, I have to write a web app, or a mobile app, and it takes hours upon hours to learn the ins and outs of each new API, weeks to figure out how to customize the flashy UI to what the client wants, etc. So, yeah, programmer tools have gotten vastly better, but expectations and complexity have risen faster.

> So, yeah, programmer tools have gotten vastly better, but expectations and complexity have risen faster.

I am going to roll this into my conversations with non-tech friends. It is like the magic time saving appliances of the fifties...

nntp://alt.pics.pets

There is 1992's distributed photo sharing app, built in ~5 minutes without any c++ and you had the whole rest of the weekend to get into flame wars about how ugly someone's cat was.

Sure you can get a lot more done now with advanced tools and infrastructure, but really expectations and requirements have grown much faster. You could definitely launch a median web or win32 app in '94 faster than you can now.

Don't hate me, I'm going by experience:

I think this is backwards. Programming is cheaper than ever. As outsourcing tools because better (vWorker is what I have experience with) this is only going to get better. Programmers have to realize that there are hungry, capable people around the world who can do much of what you can for far cheaper. I'm not taking anything away from anyone, but that's the reality of globalization. I've been able to get projects (mostly simple web development) done at less than half the price through outsourcing.

Yep, but I guess if you have an "hardcore" project you won't find cheap devs (who deliver clean and reusable code on time) easily.
Good for you. Most outsourcing projects don't go nearly that well.

Which is a shame, but understandable. Why should the good Indian programmers work on the kind of projects people are willing to sell?

>"Most outsourcing projects don't go nearly that well."

Do you have a source for this? I'm a "business guy", but I read the hell out of Hacker News. I hear this a lot, but it hasn't been my experience, whatsoever.

Seriously, how is an outsider supposed to read these arguments as anything more than people on the inside trying to justify what they do and the prices they charge? Read that article again. It's written for other hackers, not for business people. He says, "making an app is hard, here is why" and lists a bunch of things that, to be frank, I don't care about. I need the product to meet my specifications for a good price. Nothing more, nothing less. And generally in my experience (which, again, is mostly small projects) that is fulfilled through outsourced work.

The fact that any mention of outsourcing draws the ire and down votes of this crowd is disappointing. At the end of the day, like it or not, people like me are also an essential part of this ecosystem.

Edit: after reading through many of the comments, it looks like there are varying degrees of this problem. I'm not talking about trying to get someone to build an app for my "big idea" for $200.

As a developer who's been on all sides of this equation (developer, contractor, and someone who has outsourced dev work), I have to say I agree with the poster above who said "Most outsourcing projects don't go nearly that well."

Here's my advice to any prospective outsourcer:

-You still need to do your job as a both a product manager AND a project manager. Failure at either one of these duties on your end cannot be rescued by developer skill.

-You need to be able to identify whether or not a contractor or firm is actually capable of doing the work you're asking them to perform. Have they completed similar projects in similar time frames? Do they have repeat customers? How experienced are their developers? Do they have experience in the platform you're developing in? Are they full stack or are they just building the mobile portion?

-Always understand that contracted labor will be less opinionated, and will be far more likely to take a "Garbage in, garbage out" approach to any requirements you feed them. A salaried engineer may provide some push-back on features that will cause the project costs or timing to slip, contractors (foreign or native) have a tendency to happily plug along and let time and budget slip and then just apologize after the fact. Remember: Every mistake YOU make will likely result in more billable hours for them, so they have a financial interest in not telling you when you've stepped in it.

-Requirements should be very detailed. If you hand them a PowerPoint slide deck with some notes your project is doomed.

You call yourself a business guy but you aren't thinking with a business head in your posts.

First off, freelance developers are also "business guys" because they are running their own businesses. Any "business guy" knows that prices are largely set by supply and demand. A developer charging a high rate is doing so because the market can bear that rate. There is no need for justification here, the demand takes care of that nicely.

Just because a developer in India can do work for cheap doesn't mean he should. If he has world class development skills then he should be charging world class rates. Charging less because of location is a stupid business model and it's not reality. The reality is that there is less demand for their services (especially from the type of clients who are able to pay those higher prices) and they are charging accordingly. These guys are mediocre developers competing in a sea of mediocre developers.

Also, I believe the idea that globalization is driving down prices isn't reality. I'm a U.S. citizen living in the Philippines and I have seen that people are able to charge low rates because they are living in poverty.

You can live for a lot cheaper in the Philippines relative to most of the U.S. but you get what you pay for. Most expats who move here are able to live cheaper simply because they are simplifying their lifestyle. Once you start ratcheting up your lifestyle to get anywhere near the lifestyle you would have in the West, then you get back to the same Western level of spending.

I believe cheap developers abroad is going to be a short lived phenomenon. As developers get a taste of the money they can make, then they are going to want to improve their lifestyle and their rates are going to go up. Cities like Shanghai and Moscow (two countries with a reputation for cheap developers) are as expensive to live in as New York City. Also, as the economies of poor countries heat up, then a lot of their development pools are going to be eaten up by domestic demand.

The reason that developers here on hacker news claim that outsourcers do low quality work is because we see it all the time. That doesn't mean all projects are total crap, but a large number of them are. Sure, the project may result in something that works, but anything can be painted up to look like a success. However, that house of cards may come crashing down when a strong breeze comes along. When that happens you lose money and you look bad. Clients who have a real budget know this and they know that even $150 / hr developers are a small price to pay to get things done right.

I have to respectfully disagree, while outsourcing provided momentary relief for the enterprising all we did was utilize the capacity that these nations had. Technical people represent about 10% of the population, of that only a small fraction of them choose software development as a profession. Until that number changes no amount of outsourcing will improve the situation, because outsourcing causes innovation in the market that is outsourced to, consuming those resources. Therefore the equilibrium is only momentary disturbed.
There is also shortage of so called "entrepreneurs" which are able to fairly judge the value of a service.
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.
This is completely false. Only a decent iOS app takes a lot of work. A crappy one can be done very quickly and cheaply.
I think it's a safe assumption to make that the author was talking about building high quality apps that one can be proud of.
> building high quality apps that one can be proud of.

And that's the problem right there. The developer is not being paid to do that, they are paid to finish the app that was asked for as quickly and cheaply as possible, at least from the client's perspective. Of course they want a high quality app, but are not willing to pay the price, so most development ends up being shovelware. But it is work, just not the most glamorous work that one can dream of.

I have met many, many clients who say they want it done quickly and cheaply. I haven’t met any so far who actually accept the notion that it should be crappy once it’s done.

Consider a pickup truck. A “cheap” new truck in Canada is an amazingly high-quality product. It doesn’t fall apart while driving down the street, it doesn’t require hand cranking to run. You can put a load of plywood and your tools in the back and they don’t fall out on the highway.

When a businessperson says they want it cheap and fast and are prepared to cut some corners to get it, they mean cheap like a pickup truck is cheap, they do not mean buggy or difficult to use. As such, what you or I might call “crappy” software rarely meets a businessperson’s needs.

Fast, good, cheap. Pick two.
good and cheap?
Yep. The way to get a programming job done well and cheaply is to learn and do the coding yourself. That will not be fast.
Excellent choice, sir, the waiter will come by with your meal at some point in the next 20 years.
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.
by the same amount Amazon AWS invalidates my company's compute cluster (hint: by 0% in our case). No size fits all.
It doesn't appear to help me. I need to develop an app that pulls data from an ERP system with an Oracle DB back end. The ERP system does not have an API. And authentication has to be done through Active Directory.
Thank you for using simple language-I found this article to be really accessible.
Peoples' "Amazing app idea!" is the new "Amazing screenplay/TV show idea!".

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.

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.

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.

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.

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.

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 just had to wire up the various pieces. (I say just sarcastically, it was still a lot of work).

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.

So $15k was the cost the iOS developer charged you?

What was the cost of having the art assets and server side functionality done in house?

Adding that to the $15k seems to be the actual cost of the app.

Also how much time was spent designing the app before art assets were made or server side programming started?

Right, that's the point I was making - if you had to pay for those services to an external party, the cost goes up, quickly.

I did the server side work, my co-founder did the artwork, both at a > 0 opportunity cost I'm sure.

We designed the app ourselves, again, at some non-zero opportunity cost.

How many hours did the developer put into it?
But what is the app worth? This sort of creative accounting is the problem that this article is trying to highlight.

If you strip out all the bullshit making an iOS app is going to be expensive because you can't cheat time and everyone's time is worth something.

If you mention to someone that you made your app "for only $15k" this just compounds the problem because that person has a skewed perception of what an app is actually worth.

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.

That's the price of a demo.

Also, raise your other hand if you later hear some competitor has actually taken the job for $10K-$20K.

As a bonus, wave both hands if some time late you hear said potential client has been screwed by said competitor, either by failing to deliver, delivering useless crap or ending up charging at least double that for "extra work".

If they charged at least double for extra work, they might have made a profit, while pretending they ould charge less than what you bid. Thats service contrct bidding alas...
Sorry, but I think you're being a little overly dramatic. I'm relatively new to iOS development (just over a year of doing it full-time) and I've built quite a few apps for clients for <$10k and for somewhere between $10k and $20k. There is a LONG list of apps that can be delivered in 100-150 hours. At $95-125 / hr, that puts you solidly in the $10k - $20k range.
I agree - 100-150 hours is a large enough bucket IF the app is somewhat self-contained or has very limited server interaction (e.g. just consuming an API). I've built dozens myself that fell in that range.

Once you start having to send data in the opposite direction and keep it in sync, however, you'll quickly find yourself spending far longer than 150 hours.

> There is a LONG list of apps that can be delivered in 100-150 hours.

Agreed, if they're just consuming some data from a source and presenting it to the user through a very simple set of page views. But those types of apps have a very short shelf-life coupled with ever increasing competition as the different data sources become standardized and the app itself is nothing but a me-first attempt in the market. In other words, I won't need to download an app for each and every data set, just one good one that can feed them all.

But then what happens when I want that data to be multi-directional or actually useful to me, the consumer, as something I can store, manipulate and further share? You're no longer talking that simple app that someone slapped together for a nice $10K. And what happens when that data feed changes protocols or simply stops working? People delete your app and find something better.

If a low-level business type is looking to get their foot in the door with a quick app, then by all means, make hay while the sun is shining. Just keep in mind that the majority of your work will have been obsoleted in a relatively short timeframe and you may not have much to show for it a couple of years down the road.

This is a general problem with custom software, not just iOS apps.

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.

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.

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).

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.

There are 2 points we also have to consider when specifically talking about the custom development market, one is that advertising development houses are not helping the issue by putting out teaser ads like Get your iPhone app idea built for $5000. It sets pricetags in peoples minds that are unrealistic. When you get down to the fine print, if the app requires communicating to REST service or design work that numbers is out the door even with the advertiser.

The second being many times custom development shops don't weigh customer needs with COTS. For example in our shop we many times have customers that come in looking for a web presence. When we analyze their needs, it is apparent that Wordpress and a template will fit the bill and get them to market the quickest. I am not a huge fan of PHP on a personal level, but if Wordpress fits the bill I would be doing my client a disservice to not steer them down that path. I think for quite a few custom development shops everything looks like a custom development problem. I think if they would take the time to learn some of the cheaper solutions that will work for lower budget clients, then they can offer a product portfolio that matches the budgets of the client.

The latter is exactly what we regularly do. It's still a pain though, talking a client down from their original ideas (sometimes piles of paper with all kinds of ambitious features) to something that matches their needs within their budget.

Plus, these often turn out to be not particularly desirable clients that take up a lot of time, and there isn't sufficient margin on simple WordPress jobs to give such clients the same amount of attention as on major custom projects. It's very hard to make these clients happy with off-the-shelf solutions yet still make a bit of profit.

COTS helps, but it doesn't cover the gap between client expectations and reality. It's more of a "better-than-nothing" solution.

And don't even get me started on the cost of maintenance and upgrades. You don't want to have a few dozen outdated leaky WordPress sites in your portfolio, let alone a hacked site associated with your name.

For us, we have a guy that manages all of these type of contracts. It's kind of like an entrepreneur in the making kind of arrangement, for him. I agree on the hacking issue, which is why we personally don't host Wordpress sites and the person that handles Wordpress size clients makes it very clear that Wordpress provides the platform, security and all, that we provide the design, customization of template, SEO, analytical, etc.

While there are a lot of pain-in-the-rear small clients it is not unique to them nor are all of them pains. We have had a lot of small clients turn into large clients as well, we have had a lot of small clients refer us to large clients. How we personally made it worth while was to find a person that wanted to grow a company, but offered them the advantage of doing it from within a current company. This person is now, managing Wordpress (Drupal and a few others) for several shops like ours. He also receives a commission when one of his clients outgrows him and is ready to move into custom development. It has worked well for us, but it is by no means the bread and butter, but it does save a lot of time by not spending cycles with people that just flat out can't or won't spend the money to pay for custom software.

I think it can be generalized even further. It's not only software, but general IT-related services. There is some mental bias that assumes servicing virtual goods is some combination of easy, straight-forward, or without costs.

Even friends and family of mine will still ask me, "can you come over and fix our computer?" It sounds like a simple request -- partially driven be a general phobia of trying things out themselves -- but it's really not okay. I'm really busy. Maybe I can do something that they can't, but they could also pay someone to do it. Unfortunately, they usually think the price is "too high;" however, if I asked them to come over and mow my lawn because I think the landscaper's price is too high, they would obviously balk.

I'm not sure what the solution is, except you shouldn't low ball -- ever. For a while, I thought I had found the answer by immediately saying something like, "I expect $120 per hour on this software project." I thought it filtered out a lot of clients who didn't "get" that I was doing something valuable...

...then I realized they then try to manage the price by claiming -- ignorantly -- that their requirements do not justify X hours.

What would they say if you asked them to fix your lawnmower? Would that fly?
> 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).

I've been a Cocoa/iOS and web developer for the better part of the last decade, and what you mentioned is one of the biggest reasons I started my company, Blueprint (http://www.blueprint.io). It's an online tool for building native iPhone Apps - no programming necessary - and it is able to neatly sidestep most of the process of redevelopment and republishing to the App Store that people have to go through when they want to release an App.

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.

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.

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.

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."

As a "business person" I need to know three things to hire someone:

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)

- If you can present those points clearly you will be in a much better position to make more money with less frustration

I have a really tough time editing on android device so I added this rather than editing. It is worth pointing out that I used "i" for illustrative purposes. I read HN for the technical knowledge and comment on business posts (my area of relative strength).
Not sure why someone down-voted you, but as someone who has been hired to build lots of iOS apps, it sounds like what you're saying is NOT that it should be cheaper to build iOS apps than it is, but that being able to explain how the developer is delivering commensurate value will let a "business person" justify that high price.
Exactly. My fault for not being clear myself.
An estimate for Twitterific is 200K (provided by the authors of the app). Still willing to venture in an iOS app?
I don't disagree with you but I think ROI is a business owners case to make. You know your projections and it is up to you to take what I say it cost to fairly compensate me and see if it matches with your expected ROI, if it does not, we can negotiate, if the numbers are not there, then they are not there. But I don't think it is on me to prove out your ROI. Chances are you already know this number, before you even start soliciting bids. Now if I come to you with the idea, sure I would expect to have to prove the case as to how it will benefit your company.
Agreed. You can help the business person pay more for development if you can help them maximize revenue or lower marketing costs (or some other outside expense)

If you think of development as using technology to scale down cost or scale up revenues there is plenty you can add as a developer to the ROI discussion.

agreed. ROI calculation is not for the developer but for business owner. Business owner should start with a budget, an idea of what he would like, and then the developer should tell what he can deliver for that budget.

And yes, building iOS apps is still hard and time consuming compared to webapps, business owners should know that:)

(comment deleted)
Thank you this is one of my biggest pet peeves as a developers business people thing it is so easy.
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.

The iOS and Cocoa Touch APIs are really robust, and with libraries like RESTKit, it's not that big of a deal to whip up an app that works well. Indeed, I've done it a few times myself.

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.

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.

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.

Of course, the reality is usually exactly opposite.

I think many people assume that iPhone development is simple is that there are so many apps. Many of them are low quality and are just web apps crammed in a web view.
You're absolutely right. "Simple to use, simple to build" is another thought in people’s minds. They don't realize it's actually harder to build something that's simple to use.
"How can an app that costs $0.99 to buy cost $200,000 to build!?"
Most enterprise projects don't want to pay for usability. That's the bottom hard cold fact.

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.

Sometime engineers don't understand 2 facts:

1) You will get fired if you made mistakes

2) You will make mistakes

So people tend to hide and blame "processes" to avoid firing.

CEOs are cold blooded firing squad. Just like "Businesses". What matters are profits.

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"

> Database issue. You just go there and change the data

I have heard stories of how very large financial institutions never ever delete a database column from a table, they just keep adding columns. They will not delete a data column for the very real fear that mission critical applications will stop working properly or fail silently.

Which is a very wise policy. It's not like deleting apparently unused code that you can get back from version control if you turn out to be wrong. The cost of carrying a hundred unused columns around forever is negligible compared to the cost of deleting one that turned out to be still used.
> These APIs must be in existence before you can proceed to make the iPhone app.

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.

You're right. The APIs don't need to be implemented, just documented.

I'll go you one further. It's better to work without a functioning API. With stubs and dummies, you can tightly control inputs and test way more effectively. If you're developing against an active api, you add a whole level of complexity that makes it that much harder to debug. I don't know how many hours I've wasted trying to find bugs that turned out to be outside the scope of what I was working on.

Depends on the app and the expectations of the business stakeholders.

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).

There are other services that make developing apps for mobile smartphones cheaper as well.

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.

While trying to describe a rather large system change an SVP in a large company once told me:

it's just an 'if' statement

I found the best answer is to respectfully state the logic the change needs, the inputs to the logic and where they come from, and any trouble spots in implementing that. If the reason for their view was ignorance, this will solve that.

If it was malevolence, they'll refuse to budge and you'll know to run. Fast.

I would think to run in either case.
Is it ok to respond with "then why haven't you done it already?"
This is a message on NY Tech meetup mailing list, from about a half hour ago. All I could do is shake my head.

_____________

I am seeking a telephony app. builder that can deliver a PhoneGap lie ( non-native) inexpensive app. for a telephony project.

pay is:

$350 + 1% equity stake in a newly formed Delaware Corp. and 2.5% on all residuals. possible board seat (future paid projects)

if you can deliver an additional investor, you can get 5% of the transaction on the capital raised through you contact.

This is the worst I have seen. In the past I have been proposed around 1000$ but this wins, hands down! The world is getting crowded of last minute entrepreneurs...
There are far worse. If you live in NY, you've surely run into Eric Leebow of FreezeCrowd:

http://nationaljobs.washingtonpost.com/a/all-jobs/list/q-fre...

http://www.youtube.com/watch?v=dQx_pJyyyxc

"Unpaid iPad Intern wanted to build a facebook killer."

The depressing thing is that I suspect someone will actually take him up on his "offer".

Isn't that pretty much illegal anyhow? Unpaid interns are not supposed to actually create products.

Edit: It almost certainly is; part of the conditions for unpaid internships are that "the employer that provides the training derives no immediate advantage from the activities of the trainees, and on occasion the employer’s operations may actually be impeded", and this is clearly false in his case. In other words, that job posting is not only immoral, but illegal.

Ok, now the worst should be that you have to build the app AND to pay to build it. I will post an ad like that somewhere, to see how it goes.
Even at 7hr which I believe is the minimum wage that is 50 hours worth of funding. A light week for most developers, a person should be offended to even post something like that. The app will take longer than a week and 1% is a insignificant sum. At that kind of compensation I would be looking for more than 50%, because well, I can work on my own idea and forgo the worse than minimum wage compensation and keep 100% of my idea.
> I am seeking a telephony app. builder that can deliver a PhoneGap lie ( non-native) inexpensive app. for a telephony project.

Emphasis on "phony"

At least he is willing to pay some kind of fixed fee. I just got out of a meeting where the client was offering that I do the app for free in exchange of 20% of in-app purchases profit.
Multiple reasons for this:

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".

Second, kids who don't know how to value their time who'll work like slaves for $2,000.

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.

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.

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.

> Second, kids who don't know how to value their time who'll work like slaves for $2,000.

That's not always the case - if you manage to work $2000 /8h/day/month in my country , you're already being paid in the top .. 10% programmers.

Money has a different value based on location.

> Money has a different value based on location. I have a hard time understanding the mentality behind statements like that. While currency may have different values based on location, time, effort, knowledge, experience shouldn't be so different in value. Don't you agree? I don't want to single out any countries, but just as an example, let's say American developers typically charge ~US$100 per hour, why would Indian developers charge US$15.00 (or vice-versa) for the same work? Doesn't that kind of "race to the bottom" simply de-value the profession and make things harder all around? If you have made the investment of getting educated, learning the technology, learning the business and can produce; you should be charging and getting paid accordingly, depending on the market, not your local currency or local minimum wage. When dealing with your local market, you will need to take local rates into consideration, but I don't see any reason to apply local rates and limitation to an international (Internet) market. I would genuinely like to know if I am completely off base, and if anyone has more insight on this.
I'm from India (currently in NYC though) and if you ask me - the USD 15 (say) buys the same bread in India as USD 100 (say). Hence the USD 100 in the US and USD 15 in India.

Cost of education is less in India (and so is the quality if you ask me, but that's not the point and I'm not inclined to discuss this in detail right now). Good developers in India do exist and tend to have learned things from costlier sources BUT have not paid the cost to use them (read piracy).

So in summary, in India the over cost of things was low to begin with and less money (in USD terms) can buy more. So it's a combination of PPP conversion of money and lower cost (even if purchasing power is taken into consideration) of attaining similar skills. What also drives down rates in India is more competition (high population density) - esp. from the spagetti-coder market that operates alongside the quality coder market.

You can live like a king in India for a few thousand dollars a month. In San Francisco, you'll be lucky to pay your rent. As a result, those developers in India are happy to ask for less if that results in them getting the work since $2K/month in India buys them the same (or better) lifestyle as $2K/week in San Francisco.

Besides which, they're competing against all the other workers in their country. If someone charges $50/hour and gets a lot of work for a similar skill set as you, wouldn't you try charging $45/hour to get the business? If the supply of workers is high and the demand for those workers is low, it does become a race to the bottom. Additionally, they must charge less than their American counterparts because of the inconvenience of being in a timezone where the start of the day in India comes after the end of the day in the US, the language/culture barrier, legal considerations (if someone rips you off, you have better legal options available if they're not half a world away with a foreign court system), and so on.

I'm sure if they could still get the work and charge more they would. However, consider an American-based company wanting development work done. If they have a choice between a $100/hour American worker and a $100/hour Indian worker, odds are very good the American will get the work for all the above reasons.

Ever watch the tv show "pawn stars"? At least once an episode there's some guy - with no idea about what he has - walk in with an idea that they're going to sell some piece of trash for $5,000. When the bosses actually look at the piece, they offer $100. the guy leaves the shop hurt because "it's gotta be worth more than that", in spite of the fact that they don't know antiques or don't know how to run a basic business.

Same thing I think happens with programming. "I have this idea, and I know (somehow) that $500 is a fair price, in spite of the fact that they are neither technical people or... ever commissioned custom development before".

So, it's not just software development...