Hi, this is the Daily Overpass, my name is Eric and I make apps!
Now today I wanna talk about dealing with difficult developers!
Ok so today I wanna answer a question from Marco Marco, he asked this a while back - he
asked it yesterday but it was for a video called 'Your App will be copied' - he asked,
"Hi Eric, can you please do an episode about client developer worst thing can happen?
I paid for a completed with a developer but I feel like the developer is taking advantage
of me by charging me too much for simple updates.
The developer won't give me the game code?
Please explain how to handle the situation?
Thank you".
Now this is really difficult because you have to think about - first of all, dealing with
difficult developers, I mean, don't get me started girlfriend!
I know exactly what you're going through.
So whenever you have the client developer relationship, it's always has the potential
to have lots of problems, because you have two parties that want to trust each other
but not sure if they can.
So you have the client who wants to give the work to the developer, they don't know if
the developer is gonna fleece them, or not do the work, or do a bad job, maybe they don't
know how to do it properly.
And then you have the developer, they don't know whether or not they're gonna get paid,
they don't know if the clients gonna come with lots of additional changes and stuff
afterwards, so there's two sides to look at this.
But today let's focus on the developer.
One of the things I try to say to people is to make sure you have control of your source
code before you enter into the agreement.
What you don't wanna do is be tied into somebody forever.
One of the questions I get asked a lot through phone calls and emails, it's always the same,
it's like "we have this app that has been developed by a company in wherever, and they
did a terrible job.
It's too slow to load, now they're saying they can't work on it, they can't do all this
stuff.
Can you fix it".
And my first question is "do you have the source code?", and a lot of the time the answer
is no, they never got it or it might still be in development so they have no access to
it.
So what I try to do is when I start off with getting someone to develop my own apps is
make sure that I have access to the source code early on.
But that's not always possible, because you have to think about from the developers point
of view.
If they give you access to the source code through every step of the way, how do they
know you're not just gonna take it, compile it and then release it yourself? i mean, you
won't, you don't even know how but that's a fear that they have.
so the little bit of security they have is that they own that source code, or they do
until the end of the project.
So if you're doing fixed price projects, a lot of the time they'll hold onto it until
the end, which is fine, but it's good to have a look into that just to see if it's possible
to get the access to the code.
Usually when we charge for out projects, it's 25% upfront, 25% at end of development, and
50% at go live, with a short warranty period afterwards, like a 30 day warranty period.
So if anything goes wrong, any bugs or anything like that, we'll fix it, and those are bugs,
not enhancements.
So that's the way we work.
And I've been thinking about changing it because it goes 25, 25, 50, that would've made sense
when iTunes took like 2 weeks, possibly a month if you got rejected the first time.
So we would go development, wait for iTunes to approve and then finally do the final invoice.
But yeah, we might change that soon going forward.
And then at that point, after the final invoice is paid, then i'll release the source code,
and one thing to keep in mind when you get the source code is also get the key store.
If it's an android app, make sure you get the key store file, because without that,
you can't release another version of the app, no matter who you go with.
I know a lot of times I meet with clients and one of the first questions they ask is
"who owns the source code?" or "who owns the intellectual property?", basically who owns
the app?
And I joke around with them saying we own it, and then I watch their face drop and I
say no, you have access to the source code, you have access to everything.
The goal is - I call it the plumber model - if you're gonna hire a plumber to come into
your house and do some work, you should be able to call a different plumber for the next
job.
The plumber doesn't have contractual obligation to fix your sink from then on.
So that's the way I look at it with developers, but it can be really difficult.
Try to get access to that source code.
And also at times, developers might use their own proprietary code within the source code,
which you wanna find out early on.
You wanna make sure that if you're getting an app developed, you wanna have full ownership
of the source code so that they can give it to you, and then you can also, if you could,
compile it yourself, give it to another developer.
Ideally, that's the situation, so you get the app developed, but you wanna be able to
go to another developer afterwards.
And they may or may not touch it.
Like I said, when people say "I hired a developer, they made a total mess of this project, can
you fix it?", and from a developer point of view, for those of you developers out there,
you know what it's like to go and look at somebody's existing code ad it's like cleaning
someone's room!
You're like "i don't know what any of this stuff is, I don't know what this means, there's
no order here".
And I always used to say, when I was working contracts in investment banks, is that a good
developer can take a bad project and fix it.
Like, just know where...like a field medic.
You've got the field medic and the surgeons.
The surgeons will say "I need to rewrite the whole thing", which is probably the best thing
in the long run.
the field medic will say "ok, we just need to put a little if statement here which is
messy, it's inelegant but that will get it running" and all that kind of stuff, and just
sort of patch it up.
I've done a lot of patch up jobs in my life.
I used to joke that I was the closer, because it seems like I never started any projects,
I was always coming in at the end and fixing it up.
And most projects also get to the point where they're 90% completed for 100% of the time!
So when somebody says "oh can you have a look at this project?
It's 90% completed, we just need you to do the last 10%", and then you give them a quote
that's higher than they said before, it's because it's not 90% of the way there.
It's those little fine points that take a lot of time,, and all the extra testing and
stuff like that.
Anyway, I hope that answers your question a little bit.
I'm afraid there's not much you can do if you can't get hold of the source code.
I would say that, you know, find out what you have to do.
If you can't do anything with them, you have other options at your disposal.
You have social media, you could put a bad review on a website, there's things like that
- which get messy.
And I've thought about doing stuff like that before too, where if you feel like they have
all the power, a lot of the time they don't.
They're gonna have other clients that are looking for them, they're gonna look for recommendations,
all that kind of stuff, and there's lots of things that you can offer to get hold of that
source code.
Say "Look, we got off to a bad start.
I'd love to give you a good review, I'd love to give you a nice testimonial for your website.
I wanna get this thing live and it will be a good portfolio piece for you guys when you're
talking to new clients.
So anyway, that's it for today, really difficult situation!
One of these days I'll talk about the other side of it, which is dealing with difficult
clients, because that's also difficult from the other side!
And both sides usually...you know, you have to understand the motivations of the other
side sometimes.
a lot of the time, they're not out to screw you, they're just trying to protect themselves.
And it could also be the fact that during the initial development, when you say asking
for changes costs too much, it could be that the initial development took way longer than
they thought it would, and they lost a lot of money on it and they're trying to recoup
some of those losses.
So get access to that source code, talk to somebody else.
it's only when you're able to talk to other developers and start pricing things like that
that you have any power in the relationship.
So you can see ok, this company seems like they're charging too much, this company says
they could do it for less, this company says it will cost a lot more.
So it's only when you have access to that that you can actually figure that out.
Anyway, that's it for today, I'll talk to you guys tomorrow!