Being an App Developer Contractor
|Richard Harris in Programming Saturday, February 2, 2013|
Developing apps for other people can be sticky business. Knowing how to navigate around certain legal areas, pricing, and publishing rules are just a few things you'll need to have ready before working with a potential client. We spoke with several app developers to get their experience in dealing with app development freelance, and we formed a short list of things you'll want to memorize the next time you are approached about developing someone else's idea.
The non-compete agreement. Usually the first thing someone with "the next big idea" will toss towards you is an "NCA" (non-compete agreement). DO NOT SIGN THIS YET (or at all)! Programmers should never sign non-compete agreements because of the nature of our business. Remember this rule "if you sign enough non-competes you'll eventually work yourself into a corner, and out of a job!" The legality of non-competes can get hairy and clients will be eager to pounce on you if they think you have ever crossed a boundary with their idea. If you ever do consider signing a non-compete, make sure you get an attorney to look it over.
The "NDA" (non disclosure agreement) is slightly less scary but still needs to be approached with extreme caution because even though it's said to be a NDA, the legal wording inside can make it into an NCA in disguise.
The biggest concern with either of these two agreements is that you will sign them, develop the project for your client, then move on and forget you signed it. After a (certain amount) of time passes, you might come across another client with a similar idea or even perhaps you, yourself have a similar idea. But because of your legal constraints with a previous project's non-compete or NDA, you may not be able to pursue the idea. What would be even worse is if you "think" you wouldn't be infringing on an agreement, and develop something that could be interpreted by the client as an infringement which could break the contract you have with them, and hold you liable. This is left to the previous clients discretion based on how they perceive your new app or idea. It could result in legal action from them which could cost you alot of money and time.
People are extremely protective of their ideas, but remember you can't patent an idea. Let them know (nicely) your position on NCAs, and NDAs ONLY if it comes up. Most developers find that when they explain everything correctly and offer an alternative to the potential client such as "give me the squirrels view of your idea", they tend to feel more at ease with whom they are speaking with. Trust is a big deal.
But, some people will simply not talk to you unless you sign something - if that is the case consider it no-loss situation and move on.
It's hard to determine price when you really don't know exactly how long everything is going to take you. Don't EVER give the "off the cuff" or "ballpark" price because you do not have enough information yet, and the potential client will keep referring back to that price after you give them a real estimate which is based on the actual app design. Also, sometimes people are just "fishing" to see if their idea is worth developing based on you coming back at them with a $250 price tag. And finally - remember developers call developers too, and sometimes it's developers wanting to compare prices with you.
Your answer to any "How much does it cost to…" question should be that you have a few questions before you can determine price for them.
You need to ask these simple questions before giving out a price. This will separate the serious people from the ones just fishing.
1) What is the idea, and purpose of the app (game, utility, etc)?
2) Intended target audience?
3) Who will provide the content, design, overall UI experience?
4) Will the app require the purchase of any external libraries or subscriptions (Google MAPS API for example is free for 25k requests per day, then costs)
5) Who will handle marketing and App SEO?
6) What is the monetization strategy? (Ad based can be free also but requires a mobile affiliate account setups, Freemium requires in-app billing setup, Free / Paid involves creating two apps of the same code (one limited, one "pro")
7) Who will publish it? (Released under your publisher name, or a new publisher account for client, Unique company costs more and takes longer. In addition a team leader will have to be assigned for releasing and management.)
8) Will it require updating and management?
9) How many markets will the app be for? Android, Apple, Windows Phone, Amazon, BlackBerry?
10) Does the app need a promo website?
Before you give your price, compare it to some other prices you've seen. And make sure the client understands exactly what you'll be providing to them so there are no surprises on either side.
You should have a contract ready for the client to look over and sign before you accept the job, and take any money. It should include your price, exactly what you will be doing, time frame estimates, and some legal disclaimers the customer will need to sign which will protect YOU in case any legal action is brought against the app to be developed, for copyright infringement, trademark infringement, or other such issues. You need to make sure you are covered as the programmer, and that you can't be held liable for any damages or suites brought against them. We heard one nightmare story where a developer created the app, received all of the artwork from the client, then after publishing under their name - received a notice of trademark infringement in which the client claimed no responsibly and forced the developer to pay damages out of their own pocket!
In summary, remember this. When someone wants to hire you to make them an app, they are asking you for your expertise and skills needed to get the job done on their behalf. You "step into their shoes" in a sense, to create something for them. Be fair with your pricing and make sure you are covered legally from any potential infringements brought against the app design, illustrations, and overall UI.
Read more: http://appdevelopermagazine.com