
My customer wants me to record a video of how I develop his software product - babawere
http://programmers.stackexchange.com/q/110487/50688
======
downandout
In this case, it's probably a good idea to fire the customer. These types of
outrageous requests don't exist in a vacuum. People like this are very
difficult to deal with, tend to be very miserly, and will be a non-stop
headache. The customer will question everything you do, why you did certain
things a certain way (even if he or she has no idea what they are talking
about), etc. Drop kick this customer from your life - it's not worth it.

~~~
Devilboy
If the client is 'not worth it' you're just not charging enough. Just work out
what your price is and send them a new quote. Don't ever fire a client, that's
just silly. Make the client say no.

~~~
downandout
According to the article:

 _"...The customer considers that if I don't want to record the video, it's
because I have something to hide and want to lie about the real time spent on
his project"_.

Dealing with a client that tells you from the outset that they believe you are
going to lie to them isn't merely an annoyance. It presents a risk to your
career. This client will never be satisfied, or trust a word you say. He will
inevitably sue or trash your reputation because, in the end, it isn't possible
to satisfy delusional clients. That risk isn't worth any amount of money.

~~~
PerryCox
These kind of quotes from a customer should be instant red flags that they are
not someone you want to work for. Devilboy does have a good bit of advice
about charging an outrageous amount, but it's important to pick your battles.
Sometimes no amount of money in the world is worth the headache that a
customer like this could cause.

~~~
carbocation
There is always some amount of money that is worth the trouble. Now, it may be
some amount of money that cannot be paid by any entity aside from governments,
Exxon, Apple, and a few others, but it is some amount of money nonetheless.

~~~
geon
> There is always some amount of money

BS.

Happiness as a function of wealth is not a linear curve. After the first few
millions, a hundred millions or a billion isn't that a big deal.

Therefore, if the price to justify some headache or discomfort is above a
million or so, just getting rid of the headache is more valuable.

~~~
loup-vaillant
Happiness isn't the only thing we care about. With enough money, I'd start
thinking about optimizing the world, or at least give something to the most
efficient charities out there.

~~~
electromagnetic
With enough money, I would do the same. With too much money (say in the
billion range) I think I would go all well-intentioned super villain on the
world.

~~~
loup-vaillant
Seriously, if you're careful enough, that could be a good thing.

------
chops
This is something I actually offer to my clients, and I do it for fun. I guess
I was inspired by watching some of Notch's screencaps over a few days.

So I capture it with RecordMyDesktop (I run xubuntu), and run through an
ffmpeg script (<https://github.com/choptastic/watchmecode>) that resizes the
video to be the same length as an MP3, and makes an X minute screencap montage
for the client.

Then it produces something like this, which I did while working on a specific
feature[2] for my sports league management system[1]:
<http://www.youtube.com/watch?v=Hwn7mfmo0SQ>

In my experience, my clients basically find it interesting seeing a snippet of
how a programmer works. I had one client who would show the video around in
his office like it was the greatest thing since sliced bread. At first, I
thought the reaction was sarcastic, but I realized after the 3rd time showing
another employee, and _his elderly father_ , that he was just genuinely
impressed by it.

THAT SAID, if a client _required_ this of me because they wanted to _monitor_
me (to make sure I'm working or whatever), I'd let them know that "sure, I can
do it for the most part, but I have to disable it when checking my email, and
any time spend curating the video due to privacy concerns will be billed to
you as well."

But if a client asked it of me to satisfy their own curiosity of my workflow
(which is unlikely, since I typically just volunteer it anyway), I'd be more
than happy to do it.

[1] <http://bracketpal.com> (homepage is still embarrassingly sparse, as I've
been working one-on-one with customers, a landing page redesign and online
customers are coming first).

[2] The video above is the screencap of the implementation of this feature:
<http://www.youtube.com/watch?v=zxTfaSfa_dQ>

~~~
passerinelabs
Watching Notch's Ludum Dare videos inspired me to create my first OS X app
store app. It takes screenshots at a configurable interval and than creates
H.264 encoded video of the resultant timelapse.

Here it is: <http://appstore.com/mac/ScreenshotTimelapse>

Here are 25 promo codes if anyone wants to try it out:
<http://pastebin.com/K6Xx59jY>

~~~
j_s
See also: <http://www.timesnapper.com/> for Windows

(Classic version 'free forever'; doesn't seem to support stitching all the
images together to export a video but should be do-able manually.)

~~~
passerinelabs
For OS X users, you can take a screenshot from the command line with
/usr/sbin/screencapture, so putting together a little script to make a
screenshot timelapse is pretty trivial. With that and ffmpeg you can replicate
most of the functionality of my program in just a few lines of bash. :-)

~~~
vijaykiran
Indeed :-) I use

brew install watch watch -n10 'screencapture `date +%s`.png'

------
jroseattle
As absurd as this situation was, it really doesn't surprise me in the least.
Having been an independent consultant for several years, I've had some client
requests that were real humdingers. My favorite of all-time (I'm paraphrasing,
but this was a real conversation):

    
    
      Client: We would like a fixed-price bid on this project.
          Me: Well, let's talk about your project. What's the scope?
      Client: We're working on a list, which will grow over time.
          Me: Let's make sure I understand. You want a fixed price for a variable project?
      Client: Yes. We're budgeting $5000.
          Me: I'm sure I do not understand.
              Do you expect the entirety of work to basically be my 
              bill rate X number of hours = $5000?
      Client: We expect you to manage that. The reason we're interested in a fixed-price 
              bid is because we need to contain costs.
          Me: You mean contain *your* costs. Do you think there is any risk 
              in this project from my side?
      Client: Only your time is at risk.
          Me: (face-palm)

~~~
Avenger42
What's the polite way to tell them "there's not a chance I, or any other
reasonable person, would consider this request" and keep the door open to
future work? Or is it not worth keeping that door open?

~~~
acdha
I used to give them one attempt at education as to why software development
isn't off-the-shelf if it seemed reasonable that they might simply be new to
that sort of project. In practice, though, it was almost always the case that
they were simply being unrealistic and hoping to find someone new / desperate
who would give them more than what they paid for.

~~~
wildgift
How well do _those_ projects go? I've had bids rejected for being too high,
even when other developers failed to deliver due to underbidding. Some people
never learn.

~~~
acdha
In a couple of cases, it went well – there are people who genuinely appreciate
being educated about what they as a businessperson need to know about
approaching software dev. Sadly, it's a definitely not a high success rate: if
you don't get an impression that the conversation is going well, there's
probably a good reason for that.

------
ZoFreX
Something I dealt with a lot in oil & gas engineering, and have never
personally witnessed in software engineering, is a "change order".

The contract is signed. At this point, if you deliver on your end of the deal,
they _have_ to deliver on theirs†. If they want anything other than what is in
that contract - additions, changes, removals - you send them a change order.
This is a new document for both parties to sign, covering the new request, and
comes with its own price tag on top of the contract already agreed.

These are essential when you are engineering an actual physical product,
because changing the specification of a natural gas compression plant when
it's half built is very, very expensive. Change orders are an excellent tool
for ensuring not that scope creep doesn't happen, but that scope creep doesn't
turn a profitable project into a loss.

† Of course, practically, no-one wants to take on a client that they will have
to sue to get the money from. But you should know where you stand when that
contract is signed - you deliver your part, they deliver theirs. You can
simply say "no" to additional requests and deliver on the original.

~~~
smackfu
This is extremely common in corporate software engineering, where a contract
specifies exactly what will be delivered.

In practice, those change requests are usually rejected, because the people
with control of the money aren't the people using the product, and the
customer ends up paying for something they aren't happy with.

A lot of Agile methodologies are a response to this extremely strict change
control.

~~~
mindcrime
_A lot of Agile methodologies are a response to this extremely strict change
control._

The problem, from what I've seen, is that developers understand agile
development, but the "money people" don't. To them, "agile" is just a buzzword
that means "good" and they aren't actually interested in participating in the
process. So now you get people who don't understand, or aren't interested in,
attending demo sessions, prioritizing the backlog, or reading/writing user
stories. And when things don't proceed along a nice, smooth, water-fall like
sequence, they get stressed and start complaining.

One place I'd say the Agile movement has fallen on it's sword, is in terms of
promotion, education and buy-in from the "business community" to the point
that they understand that Agile processes require their active participation.

~~~
PeterisP
If you want to do Agile development, then you also have to do Agile billing -
i.e., not a pre-agreed price limit for "thingamajig that does X, Y and Z", but
in essence renting the team for each sprint with an understanding of what
you'll get in each development (and billing) cycle.

------
IsaacL
This customer sounds like a bad apple and should be fired, but there is some
justification for such an idea.

ODesk enforces the use of their time tracking software for hourly projects.
Their staff economist, John Joseph-Horton, has some interesting papers about
the justification for this. He argues it is actually in the interests of
freelancers to have such a system in place.

Basically, freelancers prefer to be paid hourly (or daily, or whatever),
rather than per-project, because clients love ratcheting and requesting
endless tweaks otherwise. But clients prefer to pay per-project, so they can
predict how much stuff will cost and not have to risk paying for freelancers
that pad hours. ODesk's solution removes some of the risk for hourly billing,
making it a more acceptable solution for clients, which works out for the
benefit of freelancers.

A similar concept is how companies benefit from being able to be sued. Because
you can sue them if they screw you around, you feel more comfortable dealing
with them.

~~~
pnathan
In my screwing around with oDesk, I've selected flat per-project fees; no
snooping and its a lot easier not to worry about hourly fees and angry clients
imo.

------
forgottenpaswrd
As a past software manager of a elite team(of super smart people, engineers,
phDs) and developer myself: Never do that, say NO.

Don't try to justify it. Don't lose your time with this person, don't lose
emotional energy.

It is one thing to be efficient, another to "look efficient". You can be not
efficient but look like you are or the contrary, specially when your client
don't have a clue in software.

The reason this customer wants the video is to go against you, as you said, he
already does not trust you.

When you do, he is going to go and say: look, you are not working 80% of the
time, so I am paying you 20%. Probably he already have plans for doing that.

He probably does not have the money, or the organization changed plans and
don't need the software as much as when the agreement was done and wants to
backpedal with any excuse.

------
lnanek2
This is very common on remote work sites like Elance. Elance calls their
version WorkView. It's not strange at all and actually beneficial for both
sides of the interaction. This is because if you accept an hourly job with
WorkView, Elance guarantees you'll get paid for your hours. For the employer
it is obviously beneficial as well because you have more piece of mind the
worker is actually spending their time working.

------
ww520
The customer clearly doesn't understand how creative work is done and
approaches it with a factory mindset where workers are busy with their hands.
A large amount of software development work are done in thinking, which
appears to be inactivity to the outsiders. A lot of problems are solved while
taking showers or driving. Does he want to video record those?

Two approaches for this client:

\- Simple say no, and don't waste time trying to reason it with him.

\- Just say no to the project and move on.

~~~
chris_mahan
A lot of my work also happens on paper, and I don't share those either, as
they are my notes and designs. Anything that needs to be sent on to the
customer I transfer to electrons.

------
rayiner
This answer is great: "This is the right answer. In business, when someone
asks you do something extra the correct answer is "Yes I can do that. It will
cost you $X." Make the other person say no if you really don't want to do
something. Charge a ridiculous amount for it. Of course, there is the danger
that they will agree which is why you charge something that would still be
happy with. I would probably want it up-front as well."

~~~
learc83
The problem I'd have with doing this is that it would be difficult to think of
a price I would be happy with.

The customer sounds like the type who would use this video to nitpick
_everything_.

\------ On June 1st from 11:03-11:07 you spent your time on google searching
for something called an API. I demand you deduct 4 minutes from my bill.
\------

Then if you get tired of dealing with it he can trash your reputation and he
has edited video to back it up. Let's face it, if someone has hundreds of
hours of footage of your work, they can find problems.

The whole thing sounds like a nightmare that could easily spiral out of
control.

~~~
finnw
> Let's face it, if someone has hundreds of hours of footage of your work,
> they can find problems.

Yes but they will have to spend hundreds of their own time to do that (and if
they intend to sue you to get their money back, also a lawyer's time.) I
wouldn't worry - they will lose their own job long before they find enough
evidence to harm your reputation.

~~~
wikwocket
Do not underestimate the amount of determination or free time available to an
unreasonable client. If they were able to do cost-benefits analysis and good-
faith estimates of the value of someone's time, they probably would not have
made a request like this to begin with.

In short, do not expect reasonable behavior from unreasonable clients. :)

------
neogodless
What is your customer paying you to provide? I've had an issue with "time-
based" cost for a long time. I've done freelance work since 2001, and I use
time to estimate my projects (very roughly) and even to invoice it (based on
what I had estimated for them). Many clients are comfortable with that. On
larger projects, I even paid other developers and had them submit their time
to get paid. But I have never tracked my own time or outlined it for a client.
In fact, with those other developers, I just wanted to know "how much" time
they spent so I could pay them. The applications we worked on had the features
implemented as requested. The client was happy with what was delivered to
them.

While I did not track my time, I often found that I spent less time than I
estimated. I say that because my freelance was on some evenings and weekends,
and it simply didn't add up to a great amount of time. Once, I had a client
over time, that often paid late, and we stopped working together when he had
an outstanding bill. Much later, he contacted me with an urgent request. I got
up front payment for twice what I estimated. Then I dug into the project and
completed it in a tiny fraction of the time it took me to do it.

If you contractually agree to give clients "dedicated time being truly
productive towards creating the requested end result", then I suppose you
really need to be meticulous about tracking your time and providing records of
how that time was used to move the project forward. I'd really rather not get
in the habit of selling my time at all. I'm selling my ability to reach your
objective, to build what you want to use. We'll define to the best of our
ability what I'll be providing to you, we'll agree on the price, and then
we'll measure our success on my delivery to you and your payment to me. What
happens in between is of my concern, and it is in my best interest to spend my
time effectively and perform efficiently.

------
raverbashing
Fire the customer

It's not even worth the cost of justifying it.

It's very simple: "I don't do this kind of service"

You'll waste less time that can be put to better usage like getting other
customers

------
scott_w
My first thought was to reply "that's outside the contract and subject to my
standard rate".

What's the standard rate? £400/hour for this, including set-up time,
transferring the files etc.

The number doesn't even matter - just make it big enough to be worth your
while in putting up with such nonsense.

------
podperson
This is part of a common trap in contracts and employer relationships, which
is measuring and paying for the wrong thing. In this case it's time.

Afraid you're being ripped off by a contractor? Write the contract so that you
only pay in acceptable increments against the deliverables you want at a price
you're happy to pay.

We once had a client request we deploy software across all desktop computers
to measure how many keystrokes each user made, how often their screen saver
was on, etc. I pointed out that they were already measuring employee
activities such as calls answered, customer satisfaction, policies not
surrendered (i.e. customers planning to sever their accounts who were
retained) etc. why measure and reward activities when you were measuring and
could reward results?

------
urza
Switch from being paid by hour to being paid by task. Client describes a
project, together you split it into a list of small tasks, you assign value to
each task, client agrees to it, and you get paid by task. Then it is up to you
how productive you are..

~~~
goofygrin
We're quickly migrating to this model. You have to be (much) better about
estimating work, but switching from cost+ to value added pricing really makes
better sense (and your margins increase).

------
dexen
Reminds me of <http://hackertyper.net/> \-- several characters appear for each
keystroke :D

~~~
deletes
I think you crashed their site :).

>>Warning: mysql_connect() [function.mysql-connect]: Too many connections in
/var/www/html/hackertyper/config.php on line 6 DB Error, overload!!!! Crap,
system crashed :/<<

Interesting how a single well placed post can achieve so much.

------
ameen
To play the devils advocate here, What if the customer wants to have a blog
series on how that product was built? Key software design decisions, features,
etc. What if he wanted to run this video by another software developer who
only agreed to do software reviews, etc. How different would this from
recording a bunch of screencasts on building a product. The customer gets
knowledge of the entire build process, from the initial sketches to the final
release.

But most if not all of it would be too much to deal with for a freelancer and
should at least incur a 3x price increase to deal with the various variables
involved.

~~~
ams6110
Seems pretty clear this was not the case, since they told him they didn't
believe he was working. I think this is just another point in favor of NOT
billing by the hour for contract work. If you are billing for the product
delivered, rather than your time, it takes your work habits completely off the
table.

------
BjoernKW
This really makes me angry. Not only the fact that there are actually
customers out there who demand such outrageous bullshit from their contractors
but also that most certainly there are freelancers who put up with that sort
of behaviour.

What makes this all the more infuriating is that both the original poster and
lots of commenters waste a considerable amount of their valuable time for
justifying or coming up with a solution for weaseling out of the contract with
the customer while the only reasonable answer to said customer is to bugger
off.

------
TeeWEE
This is a reason I just switched jobs from the services/consulting industry to
a startup with a product. I just dislike working with clients.

I think most software engineers prefer this. But I'm not sure.

------
nsxwolf
Just send him an endless loop of the scene in Swordfish where Hugh Jackman is
coding.

<http://www.youtube.com/watch?v=vO_O4AD1MhI>

~~~
realdlee
It is an amazingly realistic depiction of life as a software programmer. "No,
no....yes!"

------
amykhar
Given that this was posted in Sept. 2011, I don't think he's waiting for
suggestions from us :D

~~~
uptown
Here's his update:

While all those suggestions are equally valuable, I've personally chosen to
say to my customer that I accept to do the videos, but in this case, we must
renegotiate the contract, keeping in mind that there will be a considerable
cost, including the additional fee for copyright release. The new overall cost
would be in average three times the actual cost of the project. Knowing this
customer, I'm completely sure that he would never accept to pay so much, so
the problem is solved.

Second update:

The customer effectively declined the proposal to renegotiate the original
contract, taking in account the considerable additional cost.

------
spacecowboy
This reminds me of an observation I made while out at lunch one day. I was at
a local restaurant having lunch and realized that two tables away, there were
some of the ladies who were janitors at my work. After a couple of minutes of
over hearing them talk about my work place, they were pretty outspoken, one of
them said "....and they just sit there and stare at the screen all
day......and they get paid all this money - I don't get it...."

------
ukandy
You've got to know when to hold 'em. Know when to fold 'em. Know when to walk
away. Know when to run.

This clients sounds like they would be a world of pain.

------
JohnLBevan
Surely the free market covers this? The contract specifies estimated and
maximum costs for the project, and presumably includes a definition of the
scope / requirements to be covered and delivery date. If the client thinks
you're charging for work you're not doing then presumably they think you're
too expensive, so should the two parties should agree to terminate the
contract and the client should go and find someone else to build it. If they
can't find a better rate then so what if you're charging them to spend a few
hours a day on Facebook; the fact you're still able to deliver your side makes
that irrelevant.

The only issue is if the maximum cost is far beyond the estimate and there's
no justification of why that may be the case beforehand. If there is good
justification before hand you should be able to let the customer know if that
risk's been realised and report on it immediately, giving evidence to show
that this risk became a reality.

------
alan_cx
My thinking is this:

If you fire the customer, then in the customer's mind (s)he was right to be
concerned, and you just proved it by running away.

Contract in place, signed. Keep all records of the unreasonable request and
attempt to change the contract conditions. Do the work. Bill the customer. Sue
if they don't pay.

~~~
Sodel
If they think you're a crook from the outset, their hypothetical future
confidence is not worth the effort.

------
e3pi
Time to dredge up out of the tar pits `The Mythical Man Month' and video how
much a few lines of debugged code are worth.

------
wtvanhest
You are looking at this as a problem rather than an opportunity.

If I were in your shoes I would calmly explain that you do offer video of the
coding in the condensed form that the HN person 'chops' shows.

That service of offering the video will cost $X more per hour to implement and
you would be happy to rewrite the contract to include that service.

------
polymatter
Well, the customer is always right. I wonder if I can offer that as a
competitive advantage.

I'm only half-joking. I can't see how the customer will get any value out of
the videos though. I guess this only makes sense if the customer is one of
those bewildering people who assume programming is just typing all the time.

~~~
michaelt

      I can't see how the customer will get any value out 
      of the videos though.
    

Have you ever been in the situation where you discovered you were mis-billed
for something? I certainly have. Accidental mis-charging does happen, even
between parties that trust one another. Still, most businesses are willing to
tolerate a certain level of error.

Given that occasional mis-charging is inevitable, how can you make sure it's
below the threshold you're able to tolerate if you don't maintain audit
records?

With that said, I'd fire the client assuming I wasn't desperate for work.

------
OldSchool
Experience says the only solution to a situation like this is to fire the
customer and likely refund any money taken already, no matter how much sunk
cost you have.

Long-term, purging yourself of a toxic customer is at least as valuable as
gaining a new one. For added points, direct him to your competition.

------
mcintyre1994
I don't understand why this customer signed a contract with somebody they
believe to be a crook. Surely not doing that is in hypothetical don't get
yourself scammed to oblivion 101?

------
tekromancr
I would be afraid of leaving it on when I am done working and giving the
client an overly intimate glimpse into my personal life

------
ebbv
I'd say "Sure thing, you send me a video of your 8 hour work day and I'll send
you one of mine."

~~~
neogodless
Yes - I need to see where this money you're going to pay me with is coming
from. Each step of the process. Please trace it back to when the money was
printed while you're at it and include all labor and transactions that took
place since then that made it possible today for you to transfer it me.

------
a3n
"I'm going to sue you later. Please collect evidence for me."

------
ianstallings
Okay fair enough. Now how much does he want to pay for that?

------
hownottowrite
<http://www.youtube.com/watch?v=2zE1LbC4Fvs>

------
rorrr2
Record yourself typing like mad for 10 minutes. Montage a 40-hour loop.

~~~
lutze
Just write a script that outputs "all work and no play makes Jack a dull boy"
for 40 hours, see how that tickles him.

~~~
babawere
<http://hackertyper.net> can make you look good while all you are pressing is
a space bar ....

------
yoster
Since he is wanting an outrageous demand, I would say DO IT! Before anyone
disagrees, there is an upside. Since this is a stupid request, I would turn
around and come up with an outrageous fee to do this. A fee so high that it
would definitely get you smiling if he decided to pay you. Of course, justify
that you will need this amount because of the camcorder you will need for the
paper and pen work, the extra storage space, and the extra computer equipment
you will need to "allow this to happen". Also, add in time to purchase this
equipment, be sure to get the top of the line with markups, and add in the
fees and related expenses. Be sure to get the money from the client as well so
you don't get burned.

------
vacri
I wouldn't advice trying the technical arguments ("the video could be faked!"
etc) since the client is clearly unfamiliar with freelancing and these
arguments would simply serve to confuse. Either 'yes' or 'no', the 'yes'
having whatever caveats you want to go with it.

I've never freelanced, but I've spent a lot of time doing support, and I know
what kind of personality is being dealt with here. The solution the poster has
come up with is probably the best one apart from firing the customer (not
always fiscally possible)

~~~
narag
_...since the client is clearly unfamiliar with freelancing..._

That made me think of that cuatomer's employees and their working environment.
I've read just the other day about a tech company over here that _forces_
employees to have lunch at the company restaurant (with abusive prices) among
many other outrageous measures. I'd say no to this kind of people, just
because I don't want to make them any money.

------
thoughtcriminal
Just reading the question made my blood pressure rise. Yowza.

No developer should ever succumb to that kind of babysitting privacy invasion.

