My experience hiring a developer on Elance to build my first iPhone app
thenextweb.com
thenextweb.com
First, my day rate as a professional full-time iOS dev is higher than what he paid for the entire project. Granted, I've been writing software for almost 20 years now, the last six strictly Cocoa and iOS, and I live in NYC. But even then, all I can tell him is that he got what he paid for.
Second, if a client is going to withhold final payment based on Apple acceptance, there is no way I would work for them. Specially for some dumb app like this.
But the part that really irks me is the last bit about "doing it yourself next time". Good luck with that. I would love to be around the moment you have the epiphany about how much you got for how little you spent and what an asshole you are about whining about it.
I've been coding half my life, and it will still take me weeks to put together small stuff that I obsess over every little detail on.
But that was the requirement of the project, which the developer agreed to.
What enraged me is the behaviour of the developer.
Next time I buy some bananas at the supermarket, I'm going to tell the cashier that if my clients don't like them, they won't get paid and that they have to come with me to convince my clients that the bananas are perfectly fine.
If you don't think it's reasonable, why agree to the project?
> Next time I buy some bananas at the supermarket, I'm going to tell the cashier that if my clients don't like them, they won't get paid
That's a red herring fallacy, it has nothing to do with the situation we're discussing. The cashier has no contract with you, and didn't agree to anything.
Paying upon approval is ridiculous. I can request a developer write me an app with a buy button that takes the user to my website instead of using Apple's In-App Purchasing. That app would never get approved even though the developer wrote exactly what I asked them to. So I shouldn't pay the developer because Apple denied the app? And no, you shouldn't expect the developer to vet your design before starting development and alerting you of such problems unless you are paying for it. For $800, you are definitely not paying for it.
Well that's developer's problem, isn't it?
> I can request a developer write me an app with a buy button that takes the user to my website instead of using Apple's In-App Purchasing. That app would never get approved even though the developer wrote exactly what I asked them to. So I shouldn't pay the developer because Apple denied the app?
Yes, that's how contracts work. Welcome to the real world.
How is it your problem that the developer agreed to an impossible task?
Obviously not as the developer got full payment. It's both the developer's and client's problem.
"Yes, that's how contracts work. Welcome to the real world. How is it your problem that the developer agreed to an impossible task?"
Did you miss the part where the client wasn't going to get the app/code unless he paid? As soon as the dev said he needed payment or else the submission was a no-go, it became the client's problem. The "contract", if you could even call it that - good luck to the client trying to seek legal recourse with it, was poorly thought out. "Welcome to the real world."
https://www.inkling.com/read/wolters-kluwer-mbe-bar-prep/mbe...
That's just... not how business works. Milestones are organised such that the client can get the things he values with a reasonable probability. Even setting the milestones up as he did is risky, since the dev could just have decided to take 3/4, ship crappy code, and disappear into the interwebs. I guess in this case the client was relying on the reputation system of e-lance and the relatively small amount of money involved, but still.... when I read that he'd agreed to the final payment on such a flimsy acceptance clause I was ready to read a really bad end to this.
Not sure why people are emphasising the money so much. For a dev in NYC $800 is very little. For a guy in China that's a much better deal. Kind of the whole point of using e-lance, no?
So, all of my clients do.
It is the only way iOS development can possibly work.
It sounds from the article that payment terms were agreed upon before commencement of the work. Why did developer accept that contract if he thought it was wrong or unfair? Walk away / ask to change that bit / extra payment, etc. But renegotiating payment schedule half way through the project, really? That's poor work ethics.
And, BTW, I don't think it's a dumb app - it is actually quite smart, main risk was apple finding technical issues like "you are using wrong api / it crashes on iphone 3g". Customer wanted protection against issues like that.
Rephrase it in a way "you build app, I pay you. If you help me get it approved I give you $200 more". What is wrong with that?
They both got exactly what they deserved. Next time, they should try upping their budget and expectations.
At the end of the day Chinese worker A put in 40 hours of work and American worker B put in 40 hours of work.
They both invested 40 hours of their life into the project and neither of them are ever going to get that time back. Both of them will die at roughly the same age.
Just because someone lives in an area of the world where it's cheaper to live doesn't mean he should accept lower wages.
The American has enough money to take the family on the annual pilgrimage to Disneyland or Dollywood. The American has a car with A/C and an automatic transmission, shops at grocery stores that source produce and goods globally, and can have four bathrooms with potable water in its house.
To do the same in India, China, etc., you're not making it happen on the $800 per project unless you have a farm of people living in their grandparents' house and riding a bicycle made of cast iron and bamboo to get rice and something to "flavor" it.
Also, this author's post is exactly why I will never ever work on Elance again. The clients have expectations far out of line with what they're willing to pay.
As a developer I would suggest building in a reasonable monthly fee for X months for support. It's unrealistic to assume apps are going to meet customers expectations 100% of the time. Discussing this and setting a budget for after 'completion' helps a ton.
The poster and most individuals expect to pay a one time fee and start making tons of money on their idea without reinvestment.
As developers we need to help educate clients. But, individuals are hard, we never do it unless they are well funded. Not just for their app but for their marketing and overall initiatives.
THIS. spoken like from direct experience. that's a definite pattern I've seen with some kinds of clients. "How long will it take for you to type up these features?" They have no clue as to how complex software is, all the moving parts, the interactions, the hidden bugs and quirks, lurking complications, constraints, trade-offs, under-documented or mis-documented behaviors, etc.
It's amazing how many of those fantastic ideas don't survive the counteroffer of them paying me my normal rate and then keeping all the money themselves.
the test of... if they truly thought it was a billion dollar idea, surely it would be smarter of them to retain all that equity for themselves, not a single drop for the developer.
but gee, perhaps there's a chance, just a chance, it won't be worth a billion dollars, and perhaps... nothing. So in that scenario, the brave entrepreneur wants to minimize his cash spend down the hole. but where there's a chance of great reward there's a chance of loss (whether of dollars or time.)
Also a certain percentage of entrepreneur types seem to correlate with the psychopath/sociopath type. And it's hard to identify those folks early on sometimes. And it's early on in your relationship with them where there's the most pressure to take on an equity relationship. Which gets back to a "dating before marriage" and "work for cash, only" and "observed actual performance and iterative reciprocity" policy as being the safer, more conservative best practice. For all parties, I suspect.
For now, even clients have to log in using GitHub, as the freelancers I have talked to prefer technical clients.
Most non-developer don't understand when someone that is well qualified to handle your project they will make sure there is enough conversations before hand to make sure that all specs and milestones( yes I know you can't know all but just for argument's sake) are fully understood by both parties.
The first red flag should of been an iOS app for $800. I don't do iOS development but I for sure you can't get decent developer for $800.
Red flag #2 was when the client felt indebted to the developer for doing a fix. To me it looks like he is just trying to nickel and dime for everything little change. Maybe that how some people work but from my personal experience as a developer and from contracting from sites like these I've never had an good contractor do this, now that's not to say I haven't had this happen, I have.
Last one was when he said he would hold the sources until a 5 star review, this made me laugh. Now I can see for a review, in some eyes a project isn't complete until a review about one's work has been done, so I can understand that. But denying source until he gets a 5 star that's just absurd. If it was me I would of first made sure all of this convo happened in Elance workroom and then get Elance into it (yeah it would take longer for them to resolve but he would get his files) and then right a lengthy review for this developer to make sure that no one else has this problem.
I guess that's just what you have to deal with when using bidding sites. I'm glad he go his app approved but the old saying still stands:
You get what you pay for
For $800 you bet your ass the developer will nickel-and-dime. After all, he was nickel-and-dimed.
I didn't say he doesn't.
The guy talked the developer down to an $800 fee, and then his interpretation of the agreement was the developer should take his feedback into account after the code was submitted to him ("I figured some graphics changes would be OK. Basically, the overlay graphics are slightly different. Same functionality"). That's definitely a self-serving interpretation. Clearly the dev does not want to do anything more than he absolutely needs to do. For that amount of money, he wants to knock-out an app in minimal time and move on.
So I'm saying they both nickel-and-dimed each other. I'm not judging, but that's what happened, and I have slightly more empathy for the developer in this case.
I was only being slightly facetious, though -- the system really does suck and I think deserves most of the blame.
Mike, in his own words:
I went through the app, listed out the bugs I was finding for each
component, mocked up a couple small graphical changes, and sent them over to
the developer.
bugs are covered under a fixed price contract. Changes aren't. And Mike is a marketer / photographer; do you really believe he has any idea of the difference between a "small graphical change" and something that requires a code change? The developer is at fault only for agreeing to any changes without a price increase.And thus the classic problem with fixed price contracts: when I've done them I've been really clear with clients that no changes are included. Bugs yes, but every change is a renegotiation. Now often the lines between those two are a bit blurry, and I try to give clients the benefit of the doubt. But I bid to a very specific spec, and what can seem like a tiny change often goes against the grain of assumptions built into the code and is anything but tiny. To a person, clients agree then whine down the road when guess what, that change is a price increase. Sigh. The answer is to not do fixed price; it just sets you up in a very adversarial relationship with your client.
Plus, well, if you pay bottom price you get bottom quality.
So "bugs" like, moving a menu around, or swapping screens seems easy to someone who has never written anything before, but it isn't trivial (unless, of course, you had time to write nicely abstracted code. But for $800 and two weeks, i doubt that's the case).
May be there should be an app that lets clients make mockups, and when they change their mockups, it computes a "diff" that then is heuristically used to generate an expected price...
I try to get to a cadence of about one change order a week on projects lasting longer than ten weeks. Sometimes, depending on how onerous getting an SOW signed can be, we'll even queue up change orders (with the client's willing participation) to execute right after the SOW is approved by legal.
There are plenty of apps that version mockups, but it's also possible to add layers to existing documents as well, whether it's photoshop, visio, etc.
The developer is probably working from hard-won experience, the client in this case is not.
So the art of consulting/free-lancing is to make sure reality matches expectations. For both parties.
Of course, there are clients that expect a facebook for $1000, but if the dev makes sure to set out such expectations at the start, and don't agree until something is signed and sealed.
(And by the way: fuck theory and fuck words. I only look at what happens in directly observed and touchable reality anymore.)
Heuristics have been shown to be highly effective.
there are many negative things to getting older. but one good thing is you accumulate a larger set of direct RL observations and experiences, out of which you can see certain patterns, some good, some bad, and certain correlations. Treating these correlations as black-or-white indicators can potentially be bad if it closes you off to opportunities. But it can also close you off to bad experiences. You might lose on the small/near-term but you win more in the aggregate and in the long run, playing the odds to your benefit.
I was being serious, and it might humor you a bit when I tell you there are numerous "scientific papers" that back the effectiveness of heuristics (google heuristics case study to find some).
I think a possible solution for this issue would be to include third-party anonymous auditing: get someone with domain expertise to review the spec, the final product, and communications (without being given the personal details of the two other parties, of course) and give an honest rating of both sides. Obviously, this has scaling issues, but I think a decent amount of people would be willing to pay a premium for a better value proxy.
I think it was HIGHLY optimistic to have a budget of less than $1,000 and to think things would be pain free.
It would have been interesting if the author had added what he had expected. The article is highly factual (this happened, and then this and then this...) but he didn't add any value judgment. What was his expectations? Was it a red flag that no one on Reddit wanted to touch it? Would he do it again? If he had twice the budget, would that have changed things? etc. etc.
Why isn't this something elance can provide? You can get an anonymized contact info for previous clients of the dev. You can ping them for some questions etc.
It's a common response to the need for regulatory systems that we should "trust reputation systems" instead. This is what happens. Regulatory systems can at least be audited and held accountable. In reputation systems, absent an unforeseen innovation, you'll never be able to do better than currency.
That's how reputation has been used since the dawn of man. It has always been currency. Sites like Elance merely made efficient.
The key to managing them is setting clear expectations upfront and then sticking to them.
As soon as you release that first payment despite the milestone not being 100% finished you've given them permission to ignore all other deadlines.
What's worked best for me is to make 50% of the contract payable after the app has been approved by Apple, but funding the entire project up front. That way the Elancer knows you're serious about payment, but you don't "lose" any money until the app is actually in the App Store.
Fix that, and any payment model will work.
I disagree with you on both models being equally bad, or prone to going bad at the same statistically rate. In my experience, as well as the reported experience of many senior programmers/consultants/freelancers/ISV's I trust, the pay-for-time (honestly worked, of course) is the model that's the least likely to explode on either party. And, surprise surprise, that's also closer to how the traditional direct employment (FT, PT, salary, wage, whatever) model also works. And in general terms, both sides always have the "escape hatch" of being able to fire the other party (speaking in general, with the caveat of arbitrary laws per jurisdiction, blah blah blah.) But in general, if one party isn't happy, they can vote with their feet. That's always true in life, in the general case.
But paying for hours/days means the worker is paid in proportion to how much work is involved, whether planned or surprises along the way. And the pay-per-time rate allows the worker to set a value that reflects the quality of his work, his productivity, or his rarity in the marketplace, or total demand for his time, etc. Win and win.
Fixed price, fixed scope is like... an unstable equilibrium. Trying to balance a chainsaw on your pinky finger. It can work out just fine. But that's not the way to bet, and to be avoided if you'd like to retain all your body parts.
THIS
x 10
From reading this post it sounds like everything was honki-dori until the client came back with changes. Changes equate to more development which equates to more money. Clients need to understand the uncertain parts of software development better and paying up front sites like Elance and others just don't support that.
I see articles all the time and just wonder, what did you expect?
You can add whatever clauses you like (won't pay until xyz etc) but honestly-
1. There's no repeat business. They know your $800 is your entire budget. 2. I've been hassled before for a 5 star rating. The author has already spent 75%. It's worth the risk of holding the source code hostage.
If you were a freelancer, would you do any different?
As a freelance developer, this is what we call changing the requirements. In layman's terms, the author is re-negotiating what he wants done. It's accepted practice that this means the developer can renegotiate the money.
Milestone 1 ($50 / 2hours / 4th Nov 2013 - 10AM delivery): - Git init - splash screen # Your task (1 hr) -> test - release $50 as a go ahead
Milestone 2 ($50 / 2hours / 4th Nov 2013 - 10AM delivery) - Screen 1 - form submit - Backend - process form # Your task (1 hr) -> test - release $50 as a go ahead ......... You should also include closing of project, giving reviews and source code details in the milestones.
You are not hiring an agency whom you know and who won't mess up (btw, even big agencies mess up). You are hiring a guy whom you have never seen/met. And you just paying $800 for an iPhone app! What you need to do is just tighten up the milestones! If he have good reviews - he definitely have the capability to do the job.
Its good to learn app development (also helps to check developer's source) - but there's nothing to be afraid of elance or freenalcer.com. You just need to use the right strategy. The app idea is already in your mind. Spend 2-3 days to plan the project management and make a list of tasks. Then you are all set!
And congratulations for your app!
That doesn't strike me as a very useful arrangement. If the guy had that kind of time and knowledge in the first place, why wouldn't he just build it himself?
Welcome to outsourcing to unknown people.
(The customer probably had some other job.)
• If you know precisely what you want (to pixel-perfect photoshop mockups of every screen and interaction), you can hire anyone on Elance for $10/hour and get a good result.
• If you know mostly what you want - a written spec with some gaps - you need to hire a skilled, local developer for 50-100$/hour who will sit down with you to describe the relative complexity of features, make technical decisions, and offer suggestions on what to cut out to reduce cost.
• If you only have a vague vision, you need a huge budget, because you are hiring an UX designer, graphical designer, developer and a business advisor, and paying for their time spent on changes after seeing prototype demos.
The more you "micro-manage", the cheaper developers you can hire (and still get an acceptable result), and the less time you need to budget for changes. For a $800 project, there is no other way to make it work.
He paid for the project, which included the source code. The source code needs to be delivered.
Basically this entrepreneur is complaining that being an engineering manager isn't 100% easy. And then he concludes by saying that being an engineer is totally do-able and probably easier than managing. lol
If he doesn't honor what he agreed to, he doesn't deserve 5 stars.
Whether this is justified or not, the $800 isn't worth a less-than-5-star review. If the client is a dick and leaves a crap review even if their specs were satisfied, what's the dev to do?
The problem is actually the review system - there is no auto-correcting feedback loop.
Speaking in general terms, the clients that offer/agree to higher pay tend to be less demanding, more flexible, more realistic, more appreciative and with more repeating/recurring business (rather than one-off speculative "I have this great idea, just need a duh-veloper!" situations)
I'm getting very close to a point where I might start "shit testing" or filtering potential clients by asking for, say, $1000 upfront, just to have an exploratory talk with me on the phone. Figuring that if they cannot even do that, physically, or are not willing to do that, then they are probably not the kind of client I want to take on anyway, either because they don't have the budget, or, are not sophisticated enough. (They don't understand market conditions, the risks involved to developers, the money cost of time, the time cost of money, the nature of reciprocity, or what their alternative cost would be if they had to hire a software engineer as a FT/direct employee, pay full benefits, paid time off, insurance, etc.)
Please don't use those terms. There are better ones: Price, Scope (size) and Time.
The problem with the phrasing "Price, Quality, Time" is that nobody wants to sacrifice on quality. Everyone wants a app that doesn't crash -- the client, the end users, and the developer. Yes, yes, technical debt is a quality concern, but as long as the app runs the client doesn't care in the moment that there's copy/pasted code everywhere and future changes will be "interesting". It's hard to sell "but if I take an extra half day to make this change future improvements will be easier", at least not in tight projects.
But Scope, scope can start negotiation with clients. "Ok, you do know this new control you want will probably take something like 10 hours to write, do you really want it or can you make do with a default one?"
If a client drops a fixed bid project on me with a dictated time deadline, sure as anything I'm going to take control of the scope side of the project triangle.
I would say that's a feature, not a bug ;)
Everyone "knows" what quality is so nobody wants to cut it. The client expects a deliverable with a (mostly) bug free deliverable, and the developer expects to be able to try to create a codebase with as little technical debt as possible.
There are certainly situations where quality is cut (technical debt that you might avoid if you had more time, the customer deciding to skip beta testing), but as a developer I can't say, "You want this cheap and tomorrow, so we as a team are going to ship a buggy app". Because the first thing the client does when they give the app like that a spin? Come back to the developer with a bug list a mile long and say the current quality is unacceptable.
So then it's not the project management triangle of, "You take two sides, I'll take one". ;)
But if, as a developer, I say, "You want this cheap, and tomorrow, which means this thing needs to have two of these things you want, not all 10. Help me choose the most important things here." Which is a hard conversation (nobody wants to kill their darlings) but you can quantify scope (estimate and prioritize the work).
We certainly know a lot about quality from Deming, Juran, and Pirsig, but the margin is too small, and the night too short, to put this conversation in that scope.
However, don't loose sight of the fact that for serious software development you'll need to hire somebody if you're not a professional programmer (i.e. somebody who writes code for a living, every day, for the last couple of years).
How you handle that varies, I don't work on a fixed fee - I give estimates but it costs what it costs, so in many ways it's easier for me. Still, I give people three goes to change their minds about the graphical assets and placement of interface elements, within the specs we've worked out of course - and then if they want to change it we work something new out or we go ahead with one of the prototypes they like; I'm not going to be messed around by someone who can't make up their mind, there are other clients. The way I look at it my initial contract is to make up to three rough versions of the thing for them - and if we're working well together we take it from there, or if we're not we walk away from the thing.
#
Other points -
Hired someone who may have had flawed English skills, (from reading the back and forth)
Paid $800 and expected top notch service.
Unclear milestones.
Hired someone in a dramatically different time zone (always a bit of a pain.)
That's an excellent idea. You'll still hire a developer next time of course, but you'll know exactly why you are doing it and you'll appreciate the result a little bit more.
Sure the demand for a 5-star review was a little underhanded but what do you expect when you are bottom feeding like that? $800 for any app is way below bargain basement.
Today, vWorker doesn't exist anymore, it was bought by Freelancer. On Freelancer there is no guarantee that you will get your final product (as a buyer) or that you will be paid (as a coder). Actually, a buyer can post a project, pay you for an application, get the application and than request a charge back from the credit card company :). Freelancer has no inclination to protect the buyer or the coder.
My current problem is an IOS developer who I have used on 2 projects without issue. I then started a new project 3 months ago which should have taken 2-3 weeks max. So far his mother, son have both died. He lost his house. His computer broke, and then another one. Finally his son died again!? Still nothing has been sent, and he has had 50% of the money.
I suspect the problem is that he has taken on too much work. I have paid him well in the past, been fair with spec changes etc. He saw me an easy touch to screw over on the 3rd project. No plans to work with him again. It's not the money that pisses me off, its the wasted time!
...but you have a contract that presumably sets out the delivery, and how you resolve disputes, and what happens if somebody delivers late, presumably.
And if you don't have a contract...well, there's a lesson there!
This sites don't make clear that is necessary do some specs, mockups, talk about the project, how do feedback, how manage it when it start, what to do about bugs, how report it, etc.
When freelancing, is not as simply as just coding, is project management + customer engaging + quality assurance + researching + coding and the most important of all: Mind reading, and guessing (right!) what the hell the customer want.
After +17 years I never ever meet a gig where it become easier. And all that baggage cost. Is time consuming. Is impossible to do it right the first time (and everyone expect a quote on time and cost, and hate if is by the hour!).
case of a market-for-lemons, plus race-to-bottom
What I did was start with a small project, and verify the developer's work. This is much easier to do if you are technical.
If you are non-technical, I think these sites are worthless. There is no way to know what you are getting.
Edit: I should say they are worthless for technical work. I've also hired a non-technical assistant who was in the US and that worked out great, and I'm sure other non-technical people could do the same.
Probably having projects manager in the side (not in the middle!)?
A lot of people are getting upset with the client for making the "unreasonable demand" of not paying for the app until 10 days after acceptance into the app store. But that's what the client wanted and more importantly that's what they both agreed to. That's what matters most to me. If you agree to a condition you later regret agreeing to, suck it up and consider it a lesson learned. Don't hold hostage the client's deliverables. That's just wrong.
In any case, as a freelancer, if a client presented me with that particular milestone requirement, I'd see it as an opportunity and price it in. I'm in a much better position than most clients to determine the likelihood that their app gets approved. I'd research the idea, calculate the risk of it being rejected, add a premium, and adjust my quote accordingly. I'd probably present the client with 2 bids, one where I shoulder the risk and the other where he does.
I wonder if there's a business to be had there - providing a sort of insurance against apps being rejected from the apple store.
For those wondering, I paid 8k for my web app (over 10 years ago) only to later realize that the core functionality was faked.
Pretty much the same faith we can put in LinkedIn recommendations, I suppose.
"Oh but it's a simple app" - Well, so is the electrical grid! I delivers power to your house, simple right? Oh wait. NOPE.
Additionally, I do agree that once you've accepted to pay the final fees once development ends, you should pay them then and not when the app is 'accepted onto app store and 10 days have passed so users can report bugs'. What on earth were you thinking? That's not the developer's problem. That's YOUR problem.
I find it nice that he even offered to fix any bugs found on the review process or after the store's release, most developers could charge you extra for this.
Please get this right once and for all: You pay consultants / freelancers a combination of time spent + expertise. Never for a finished product.
"Oh but it's a simple app" - Well, so is the electrical grid! I delivers power to your house, simple right? Oh wait. NOPE.
Really? Comparing a trivial iOS app to the electrical infrastructure, a huge engineering task (sorry, Santa's List iOS isn't engineering). Please.
As a freelancer, I'm able to accept or reject any proposal as I see fit. If someone wants me to shoulder the risk of an app being approved by Apple, that's fine with me. Much like an insurance policy, I'll calculate in the risk and charge them accordingly.
It has been said, but you absolutely get what you pay for. Again, for the price this sort of nagging for payouts of pretty typical I've found also, especially for low paying jobs.
I must say contrary to the author I would be leaving a negative review for this developer. There is no excuse to hold the source code hostage for a 5 star review. Tacky and unprofessional
The third party would have made all the difference in the world, moderating this conversation. The two parties were clearly working against each other - either wanting too much for so little, or wanting too much for more work, either way: capitalistic exploitation is relatively easy to detect, and offends the newbies.
I tend to think the developer was kind of a punk, though I compel with all the reasons given for wanting more $cash.
Not I am thinking I cannot afford it because of the demand it would place on my time to manage and because I can't trust that a 5 star rating correlates with quality.
Sheesh... I wouldn't have been willing to have that argument for $800 much less write any code.
You must not be doing this for very long. I don't work with clients who don't pay 50% upfront for fixed fee projects. And those types of projects I try to avoid.
Is it against the site TOS and sketchy? Yes. But then the author is just as responsible as the developer for agreeing to such an arrangement. But it becomes understandable that the developer would withhold the product if he had not yet been "paid" in full.
A better solution would be to not falsify five star reviews when people act unprofessionally, so the ratings system can ACTUALLY WORK.
at this moment I strongly suspected that I knew how it would turn out
> and since it was already late
and this made it a slam dunk
other tells (statistically speaking):
-- the "I had this great idea!!! just needed a developer" factor
-- looking for programmers on Elance/Guru, etc.
> at this moment I strongly suspected that I knew how it would turn out
I was sure the app would never get as far as the app store. but it did, and all for $800. he got very lucky.
I'm building a site (CodeDoor) which uses open source contributions as the sole barrier to entry- a nice thing about that is that it self-selects for technical clients.