Good to hear from the vWorker (why the name change?) Reputation Defense Team! 😉
I don't, however, have any particular bone to pick with Rent-A.... er, vWorker, nor direct experience with them. I have (though not recently) looked over listings there, and was particularly dismayed by the large number of responses from firms (not individuals) saying no more than "we can do this" and quoting a low-ball figure, totally ignoring bid requirements. I looked at the responses from those firms, and they were all similar terse "we can do this" and there were hundreds of them. Yes, I refer to these firms as "mills". Maybe this has been improved. If not, who wants to sort through all this?
Just pointing out that in order to effectively use such services, you must have good software project-management skills and experience. If you don't have that, it is going to be a jungle. You'd really be in no position to evaluate candidates or write specifications. And I would generally caution against handing over just an "idea" to a developer and having them do both design and coding.
Really, there are several roles that need to be filled to develop a typical app. Functional design, UI design, look-and-feel, graphic design, technical architecture/design (object model, database model if applicable, tools & libraries, etc.), coding and test. It's a tall order to expect any one person to do all of this, unless they are VERY experienced. And some of this is very difficult to farm out to remote workers.
This is why I say that "if you know what you are doing", yes, you can effectively use these services. Feedback/rating/reputation systems, escrow and arbitration services certainly can help. But if you don't have software project management experience it is going to be very tough. You need to have somebody permanently attached to the team that you can trust. And best if it's YOU.
It's best, as well, (IMO) to break a project into parts to minimize the risk of your work being re-sold elsewhere. It's better if the developer(s) don't know the big picture, or even what the app does.
Now, I have that experience, but I am still reluctant to use such services. That is just my opinion based on my own experience.
I have worked with overseas developers, though not through these services. Yes, they can produce great work (or awful). Language can be a significant barrier. I worked with a Russian developer on a high-frequency-trading application. I know it's a stereotype, but Russian developers are among the best - and very hot-headed and stubborn! In this particular case, the developer had to translate emails. He was fine as long as you gave him time to translate and were willing to re-explain fine points. In an emergency, we arranged a telephone conference, and there was no point to it - it didn't accomplish anything. The language barrier was simply too great - he just didn't have the conversational English skills to carry on an effective technical discussion. What that meant is that it just wasn't possible to get a quick response to a problem, and it required a lot of back-and-forth emails and IMs.
Certainly, if you are skilled in a foreign language, that gives you a great leg up if you can hire programmers that speak that language. It removes one of the significant problems of this development approach.
I think the best bet for someone with an app idea and no project management experience and a limited budget is to try to groom contacts at local colleges. Do an internship and/or a class project. This will insure that there are at least SOME project-management skills on-board, as the instructor will help keep things on-track. (Though many instructors will themselves lack these skills. But if they teach "project" courses regularly, they probably will.) You'd have an entire team, and the instructor has probably done this 10 times before. Sometimes these class will have multiple small teams, either working on seperate projects, sub-projects, or duplicate projects in other cases it may be the entire class - depending on class size and scope of project.
A good example of course taught in this vein (though not particularly applicable to iOS apps) are the Compiler Development and Large Scale Software Development courses I had in college. The entire class acted as a team and we all got the same grade. Get your project assigned to such a class, and you stand a pretty good chance of success.