458
votes

Working as a freelancer, I often see strange requests from my customers, some of which can negatively affect my daily work¹, and others trying to set some sort of control. I usually encounter those things during preliminary negotiations, so it's easy enough at this stage to explain to the customer that I do care about my work and productivity and expect my customers to trust my work.

Things were much harder² on a project I just accepted, since it's only after the end of the negotiations (the contract has already been signed and did not mention anything about video tracking) and after I started to work on the project that my customer requested that I record a video of all I do on my machine when working on his project, that is, a video which will show that I move the cursor, type a character, open a file, move a window, etc.

I work in my own company, using my own PCs.

I answered to this customer that such request cannot be accepted, since:

  • Hundreds of hours of work on a dual-screen PC will require a large amount of disk space for the recorded videos. If I don't care about space, I do care about this customer wasting my bandwidth downloading those videos.
  • Recording a video can affect the overall performance and decrease my productivity (which is not actually true, since the machine is powerful enough to record this video without performance loss, but, well, it still looks like a valid argument).
  • I can't always remember to turn the video recording on before starting the work, and off at the end.
  • It may be a privacy concern. What if I switch to my mails when recording the video? What if, to open the directory with the files about this customers project, I first open the parent directory containing the list of all of my customers?
  • Such video cannot be a reliable source to track the cost of a project (I'm paid by the hour), since some work is done with just a pencil and a paper (which is actually true, since I do lots of draft work without using the PC).

Despite those points, 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³.

How to explain to him that it is not usual practice for freelancers to record videos of their daily work, and that such extravagant requests must be reserved for exceptional circumstances⁴?


¹ The most frequent example is to be requested to work through Remote Desktop on a more-than-slow server which uses a more-than-slow Internet connection, or to be forced to use outdated software such as Windows Me without serious justification such as legacy support.

² In fact, I already did a lot of management and system design related work, which is essential, but usually misunderstood by customers and perceived as a waste of time and money. Observing the concerned customer, I'm pretty sure that he will refuse to pay a large amount of money for what was already done, since there is actually zero lines of code. Even if legally I can easily prove that there was a lot of work undertaken on the design level, I don't want to end my relation with this customer in a court.

³ Which is not as risky as it could be, since I gave this customer the expected and the maximum cost of the project, so the customer is sure to never be asked to pay more than the maximum amount, specified in the contract, even if the real work costs more.

⁴ One case when I effectively record on my own initiative the video of actions is when I have to do some manipulations directly on a production server of a customer, especially when it comes to security issues. Recording those steps may be a good idea to know precisely what was done, and also ensure that there were no errors in my work, or see what those errors were.

First update

Since the question attracted much more attention and had many more answers than I expected, I imagine that it can be relevant to other people, so here is an update. First, to summarize the answers and the comments, it was suggested to (ordered randomly):

  • Suggest other ways of tracking, as shown in Twitter Code Swarm video, or deliver a "short milestone with a simple, clear deliverable, followed by more complex milestones", etc.
  • Explain that video is not a reliable source and can be faked, and that it would be difficult to implement, especially for support.
  • Explain that video is not a reliable source since it shows only a small part of the work: a large amount of work is done without using a computer, not counting the extra hours spent thinking about a solution to a problem.
  • Stick with the contract; if the customer wants to change it, he must expect new negotiations and a higher price.
  • Do the video, "but require that the customer put [the] entire fee into an escrow account", require a lawyer to video tape all billable time, etc., in other words, "operate in an environment void of trust", requiring the customer to support the additional cost.
  • Search for the laws which forbid this. Several people asked in what country I live. I'm in France. Such laws exist to protect the employees of a company (there is a strict regulation about security cameras etc., but I'm pretty sure nothing forbids a freelancer to sign consciously a contract which forces him to record the screen while he works on a project.
  • Just do it and send the videos: the customer will "watch a few ten second snippets of activity he won't understand", then throw those videos away.
  • Say no. After all, it's my business, and I'm the only one to decide how to conduct it. Also, the contract is already signed, and has nothing about video tracking.
  • Say no. The processes and practices I employ in my company can be considered as trade secrets and are or can be classified.
  • Quit. If the relation starts like this, chances are it will end badly sooner or later. Also, "if he's treating you like a thief - and that is what he's suggesting - then it's just going to get worse later when XYZ feature doesn't work exactly the way he envisioned".

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 on 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 into account the considerable additional cost. He agreed to continue the project without video recording.

The project continued without video recording. Eventually, the customer seemed satisfied by the final result and cost, so the video recording was not mentioned again.

9
  • 34
    "If you're not TOTALLY transparent, then you have something to hide" -> THIS is an utter fallacy ! This modern totalitarism of 'transparency for everyone' often occludes that 'transparency concerns' raised in contextes of 'too much power in too few hands'. Even Julian Assange made this statement : "the need for transparency should be proportionnal to one's power". Meaning a single individual - on the contrary - should be provided with a right to anonimity...
    – Vinzzz
    May 10, 2013 at 11:01
  • You might want to also read the comments here : news.ycombinator.com/item?id=5685367
    – Baba
    May 10, 2013 at 12:21
  • Actually, I would be tempted to record the video anyway ... for self-evaluation and performance improvement purposes. I guess that I would be happy to sit down and review it with a customer, but I would want to be present to provide explanations for any questions that arise. I am not sure that I would be happy releasing the video into their possession, particularly if there is an outstanding trust issue. May 10, 2013 at 18:06
  • 3
    I recently dealt with a corollary of this: I was on video and screen share with a client while I debugged software someone else wrote and helped him troubleshoot a failing web site deployment. When it was over...he felt I had been rusty in my IIS and only wanted to pay me for half the time I spent. Never again!
    – Kyralessa
    Apr 4, 2016 at 2:19
  • 1
    Why not using git-flow and let the customer do your code reviews (that way they can still monitoring you with the benefit of collaboration with you :P )
    – user157581
    Nov 29, 2018 at 13:42

22 Answers 22

405
votes

(Or, the flip-side of my previous advice...)

You stop giving protestations, and say yes.

"Yes, I would be happy to write a new contract for these additional deliverables. Project-complete tutelege in my proprietary tradecraft is valued at (value of my projected income for the next $N years). There will also be a licensing fee $Y, for physical file ownership rights. If you would like to also own the video's content, I'll get back to you shortly with an additional fee for copyright release."

Lest you think that preposterous: seriously, what price makes it worthwhile to risk your business?

  • A competitor could use that video to criticize, mimic, or undercut your practices.
  • The client could edit it to make you look dishonest.
  • You've sacrificed the potential to monetize your business through video tutorials if he chooses to post excerpts of this one for free (or heck, what if he sold them?).

Value of a work product is not equal to the value of (work product + expertise + work processes)

An employer gets to own and direct all of these. A client only gets to ask "Do you offer__, and if so what do you charge for it?"

So, yep, these are reasonable terms for accommodating an unreasonable request.

BUT unless he accepts those terms and without further howling, I still say a flat "no" is the most persuasive you can possibly be that what he wants is infeasible.

1
  • 35
    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. The contract was already signed so this is an extra request above and beyond the contract. The original contract is not broken. This is a new negotiation. Sep 27, 2011 at 20:01
483
votes

You don't explain; not further, not at all. You just say no.

This is your business, and your choices about how to conduct it are not up for discussion. The terms of any contract are up for discussion; before signing, that is.

He's giving you multiple big red flags that this contract will be a miserable experience, that it will continue to be so even after you've billed for it, and that he will have nothing but mistrustful things to say to others about your work. Smile, because you're fortunate that he's communicated this before you're stuck with the jerk.

Thank him graciously for his time, return his deposit, and kick him to the curb.

Really, he's never going to be persuaded of your professionalism no matter what you tell him.

9
  • 55
    The "F*** You, Pay Me" by Mike Montiero applies is so many situations. Among other things in this talk he has some good tips on when and how to quit a client: vimeo.com/22053820
    – Ian C.
    Sep 25, 2011 at 14:57
  • 70
    The customer doesn't trust you. Period. Nothing else matters. CCZONA is right; he is giving you multiple indications this contract will be a miserable experience.
    – Jeff Siver
    Sep 25, 2011 at 18:31
  • 2
    I wholeheartedly agree. Unfortunately, this contract will not end well for the OP regardless. I've dealt with crap clients before and when things start going this far south there is pretty much no recovery.
    – NotMe
    Sep 26, 2011 at 2:14
  • 30
    Why return the deposit? Simply tell the customer that the contract terms do not include providing a video feed. If the customer make preposterous requests, he is the one breaking the contract and OP should keep the deposit as compensation for the time wasted.
    – Sylverdrag
    Sep 26, 2011 at 12:38
  • 11
    Obviously it all depends on the specifics of the circumstances (how big the deposit is, how invested the developer is in the current project, etc.) but I would see the returned deposit as a lesser cost than an ongoing argument and possible lawsuit.
    – jhocking
    Sep 26, 2011 at 13:02
82
votes

I wouldn't deal with this guy, period. It sounds like simply doesn't understand that much of the job is thought. If you supplied him with the video he's going to nitpick all the time you spend ignoring him (thinking about the situation.)

4
  • 4
    Unfortunately, stopping to deal with him it is not an option at this state, since a major part of the work is already done. I edited my question, since it was unclear on this point. See the second footnote. Sep 25, 2011 at 3:26
  • 8
    "I'm pretty sure that he will refuse to pay a large amount of money for what was already done...I don't want to end my relation with this customer in a court..." I'm sorry to hear that. Sucks. Unfortunately, it sounds like the path of least pain would be to give the money back and express regrets that you'll be unable to fill his needs after all. It's a loss for you, but it sounds like your only options are to cut your losses here or allow them to grow further.
    – cczona
    Sep 25, 2011 at 4:21
  • 14
    Bad news: Either you write off a lot of money, or it ends up in court. Reality does not care what you want. Unless your contract demnds video proof, tell him it is not part of your contract nadd you wont change the contract. Look for other customer, write off cost as being unprofessional on your side - to allow ou to get into such a situation.
    – TomTom
    Sep 25, 2011 at 6:50
  • 11
    @MainMa: Walking away is always an option. It doesn't matter how much work you've done, the client has just sent the biggest red flag you well ever see that (s)he has no intention of paying for what you are developing. I can guarantee that even if you go ahead and record a video, they will try and renegotiate the end deal before sending payment. You have to play hard ball and just say no, stop work, and let them stew on it a bit. I hope you got a deposit because that is likely all you are going to get.
    – NotMe
    Sep 26, 2011 at 2:18
59
votes

I think the biggest problem (other than having an insane customer) is that the arguments you make are weak:

  • Hundreds of hours of work on a dual-screen PC will require a large amount of disk space for the recorded videos. If I don't care about space, I do care about this customer wasting my bandwidth downloading those videos.

Disk space and bandwidth really shouldn't be a concern. You'll bill both of those at a significant markup in addition to the hourly rate you already negotiated.

  • Recording a video can affect the overall performance and decrease my productivity (which is not actually true, since the machine is powerful enough to record this video without performance loss, but, well, it still looks like a valid argument).

It's not a valid argument because, as you admit, it's simply not true. It may be a plausible argument, but you're trying to build trust with this client rather than undermine it, right?

  • I can't always remember to turn the video recording on before starting the work, and off at the end.

Counterargument: How are you keeping track of the time that you bill? You should be marking time when you start and stop, not trying to figure out how many hours you worked after the fact. Just make the video part of your process.

  • It may be a privacy concern. What if I switch to my mails when recording the video? What if, to open the directory with the files about this customers project, I first open the parent directory containing the list of all of my customers?

You should be able to handle that. Don't switch to your personal e-mail when you're supposed to be working on the project. Use an alias to get to the project.

  • Such video cannot be a reliable source to track the cost of a project (I'm payed by hour), since some work is done with just a pencil and a paper (which is actually true, since I do lots of draft work without using the PC).

Your billing process should be a separate matter. If there's a requirement for video of all billed time, that should absolutely have been part of the original contract. So you're right on this point: the video is not the source of billing.

The best argument, IMO, is simply that recording every second will make you feel like you have someone watching over your shoulder all the time, and that's not something you're comfortable with. If your client doesn't trust you to work and bill in good faith, he or she should pay for what you've done and find a new contractor to finish the work (with the understanding that very few professionals would work under the required conditions).

12
  • 22
    I do not agree with your criticism about the privacy argument. I mean, everyone needs a break time while working, to check one's e-mails or eating, or doing any other stuff, and that should count as normal work hour (every person who works on private companies, or any other kind of company, have time to eat, to talk, or to take a break during the work time, and they won't receive less by that)
    – Girardi
    Sep 25, 2011 at 20:03
  • 14
    @Girardi: I'm with you on the need for breaks, lunch, etc., but that time usually isn't considered billable (although it depends on the contract). Normally you'd establish a rate that's high enough to cover some non-billable time.
    – Caleb
    Sep 26, 2011 at 8:27
  • 8
    @Girardi: When you are contract the ONLY billable time is that in which you are actually working on the project. I wouldn't pay a contractor to eat or work on someone elses deal. Heck, I'm not even paying employees to go to lunch and they would be fired if they spent their day working for another company. A "break" is just that: a point at which you change from billable time to non-billable personal time.
    – NotMe
    Sep 26, 2011 at 17:18
  • 2
    @AllonGuralnek or just work in a virtual machine. Not very hard at all actually, far from the scenario you are attempting to describe. Sep 30, 2011 at 6:05
  • 2
    @Girardi: For me, I define hourly contractor/employee work time as that amount of time actually spent on a project. I don't fret over minor things like the 2 minutes to get coffee or go to the bathroom. However, if I am "distracted" off of the project for more than a few minutes, then the billable clock stops. This is in contrast to a non-hourly employee whom I give quite a bit more lattitude simply because they are routinely called upon to work at night or weekends as the need arises.
    – NotMe
    Oct 7, 2011 at 14:10
54
votes

The client doesn't understand software development if he thinks he needs a video of your work. A good programmer will generate the most value for the customer when they don't appear to be doing anything with the computer at all. Maybe he'd like you to start billing extra for those times when you invariably think of a solution to a problem during your personal time, or while browsing Stack Overflow looking for something else.

The privacy issue (your personal e-mail being recorded) alone is enough to flat out refuse this request.

0
28
votes

Do it but require that the customer put your entire fee into an escrow account; otherwise, how will you know he will pay you?

The escrow account should be created by a lawyer who will video tape all billable time spent on the contract.

The client must record all time spent approving the software. Preferably one video file per requirement.

If you're going to operate in an environment void of trust, you may as well go all the way.

Maybe you can just have a Nanny-Cam taped to the top of your head?

2
  • 10
    @MainMa: +1. Read this. Let the client know how much the additional recording is going to cost AND that it will need to be 100% paid up front. Further, tell the client to escrow the remainder of the fee. Make damn sure the escrow agreement has zero wiggle room on his part AND that it is through a law firm YOU pick. Also, leave out words such as "client acceptance" and make sure it only has the actual application specs that are verifiable by an independent third party. Finally, retain all rights to the videos and require their return once the project is complete.
    – NotMe
    Sep 26, 2011 at 2:22
  • 4
    @Jeff O: Yes, I've been down this road before. Long story, but I've learned that there are warning signs and the OP listed a gigantic flashing red flag that says "You're about to be screwed." In this case, it's actually preferable to just walk away, which is what will happen if the client is told to pay for the additional expense, up front, and to escrow the remainder. Point is, I think based off of this alone that the client has zero interest in actually signing a final check.
    – NotMe
    Sep 26, 2011 at 17:15
23
votes

Yeah - absolutely not. My first instinct is to walk away - at such an early stage of the process, if he's treating you like a thief - and that is what he's suggesting - then it's just going to get worse later when XYZ feature doesn't work exactly the way he envisioned. Not doesn't work to spec, doesn't work to what he thought the spec should be.

If you absolutely can't walk away (we all have rent to pay), I'd suggest forcing the client to confront the monetized burden of his request. Create a set-up where all your concerns are solved. If he wants to pay for a dedicated machine, so there's no potential breech of information between other clients, the storage necessary to record said hours upon hours of video, and the administration support costs necessary for processing said video, then perhaps consider it. But if he wants you to document all your work, on video, for free - no way.

21
votes

"How to explain to him that it is not an usual practice for the freelancers to record the videos of their daily work, and that such extravagant requests must be reserved to exceptional circumstances"⁴

Ask your customer: if you were an employee and not a contractor, would he stand over your shoulder and watch your work all day, every day? The answer is obviously no. It is a waste of time (yours and his) to record everything that happens on your screen.

You need to address the root cause of the problem. Your customer apparently doesn't trust you and thinks you are ripping him off. Since you've already quoted him a likely and a maximum price, you need to tell him: "You signed a contract based on a known price. That's how much it is going to cost you regardless of what you perceive my productivity to be."

Give him an option to buy out your contract based on the time you've spent so far. If he is that concerned about you ripping him off, he might consider that sunk cost to be worth it.

2
  • 3
    If he were an employee, I bet he could sue the employer for violating employer rights...
    – sehe
    Sep 25, 2011 at 16:12
  • @sehe: In most jurisdictions, there's nothing illegal about an employer monitoring all computer activity (on the equipment and/or network they provide) as long as they give you advance warning that they may do so.
    – Ben Voigt
    Sep 26, 2011 at 1:59
20
votes

Why would you bother accepting a contract with such a pesky customer? If they don't trust you before you've committed to the deal it's not going to get better.

It's quite possible your customer has been burned in the past, and that's something you can sympathize with, but you need them to understand that programming is intellectual work, and time at keyboard isn't necessarily reflective of work product or value generated.

I've seen that certain low-end freelancing sites like odesk have software that they encourage freelancers to use which samples occasional frames from your desktop and allow the companies you engage with to see this video, but for me that seems at best a means to prove that you're not spending all your working hours browsing news and entertainment sites. It certainly can't prove whether you're "working" or not until the software can read your mind.

Sane customers will tolerate any of the following as a means to build trust:

  1. A short milestone with a simple, clear deliverable, followed by more complex milestones. Offer the option of canceling future milestones if the cost or results don't meet expectations.
  2. Lawyer-style billing with work items documented with the resolution defined at an agreed increment (6 minute, 15 minute, 30 minute, 1 hour), presented frequently (weekly or monthly). Ability to cancel future work at any time.
  3. An upper limit on hours for any specified work item, after which you agree to discuss any revised estimates based on the new facts that come to light (car mechanic style).

Once you establish a track record with a sane client, you won't need Orwellian monitoring techniques to make them happy. If you present yourself professionally and you can deliver the value the customer needs on a timely basis, nobody will care whether you were typing code at 80 wpm or thinking.

Personally, I prefer to work on projects that timebox deliverables (What can we achieve over the next 3 weeks or 4 weeks), and work on improving velocity as my team gets to know the business problem. In such a case, the customer has the ability the constantly reevaluate whether you're making forward progress or not and whether you're worth the money. I suppose this is why I work as an independent contractor than as a freelancer, and I tend to take on complex business problems rather than things with a "make me a web page" kind of scope, but in my world nobody worries about seeing what's on my screen every waking minute. If a customer had time to review every minute of video generated they'd have a pretty poor performing business.

16
votes

Even if you are working as a freelancer, you need to maintain your work ethics and culture. If possible ask your customer to find another developer. Never entertain such requests.

12
votes

I've run a consulting firm (12 people) and been a freelancer for 16 years. I've dealt with many, many sizes, shapes, and kinds of firms.

Believe me on this one: any firm that makes such a request has control & trust issues, and this can only end badly. The relationship is already precarious, I would even say damaged.

If you have the luxury, I'd consider running away from the client & the project as fast as you can. If financial or contractual concerns take "firing the customer" off the table, I feel for you. As others have said, this is a new contract: negotiate more money, etc. or just say that you cannot continue under any terms not stipulated in the original contract.

Some of the best business decisions I've made in my life have been when I've fired unreasonable/extremely difficult/impossible to satisfy customers. Doesn't happen often, especially now (my radar is more finely-tuned than it was when I started), but you have to know when to "cut bait".

9
votes

Is there any room for a compromise?

Maybe you could provide the client with repository logs or a local file history (as provided by Eclipse, I guess there are also stand-alone tools for similar tasks out there). This might satisfy them while not affecting your actual workflow too much...

9
votes

It's very simple. The answer is no. The negotiations are done.

If he is concerned that you are going to rip him off, then you can find another way to satisfy his concern. With milestones, payment schedule, delivery of source code for him to inspect, etc.

If you can't find a way to satisfy him in a way that makes sense for you, then don't do the job. This world is filled with millions of clients which are less trouble and more sane. Kick him to the curb now before he causes trouble later.

One of the main benefits of freelancing is that you choose who you work with. You don't work with every person who says that they will pay you. You work with who you want to work with. If you don't like them then tell them no.

8
votes

I'd simply argue, that it is not feasible. The biggest concerns are the privacy, and intellectual property of your company and other customers; and the fact, that time spent at the whiteboard, in a meeting, etc. is not recorded.

Sometimes you may need to consult a book, ask someone in IRC or even here, on one of the Stackexchange sites. Sometimes you need to make a call, talk to on-site admins in data centers, etc.

What if the video leaks into the internet, or gets otherwise stolen? In case he doesn't believe you, you could offer code metrics, and have them scrutinized by a 3rd party expert. This however, will add significantly to the cost, if not doubling them.

If he can't understand this, and can't be convinced otherwise, I wouldn't work for him at all. That kind of employee supervision is forbidden by law in Germany.

Before you start working on the project, you'd make a complexity analysis of the main identifiable sections of your project. Those will tell you the man-hours you need to implement or integrate parts of the program. If you stay around that time frame, there is nothing to argue about.

Lawyers, bankers, etc. work in a similar manner. They don't video-blog themselves when they do work for you either...

7
votes

Using a program like AutoScreenShot, you can easily make a (sped-up) video of the development process.

It doesn't take up that much space (one small ~80kb jpeg every 30 seconds), and you don't have to worry about turning it off because keeping it on helps with all sorts of things (proving the time it took to develop, if need be; going through your day to see all the things you wasted time on; etc).

I keep it on all the time. A month's worth of PC use takes up about 3GB (after which it automatically gets deleted).

3
  • 1
    this is probably what your customer actually wants. Maybe they are a novice programmer themselves and feel that seeing your development process will actually be beneficial to their own learning and development. Sep 26, 2011 at 22:31
  • Definitely. Sites like Elance and other remote work sites support things like WorkView as well. Even before we had that, clients would often ask for a you to write down what you did each hour, which isn't much different. May 10, 2013 at 15:22
  • 2
    @AnonymousType in that case they should get a professional training instead of trying to get a free training video as a side product of an actual development project.
    – Gordon
    May 12, 2013 at 13:15
6
votes

Many people have come up with valid arguments (including yourself) to try to dissuade the client from requesting this video. But you needn't concern yourself with such things.

Businesses all operate differently. They have different processes and practices they employ to gain an edge, or just generally generate an income. All these practices fall under what is commonly known as "trade secrets" or "classified information" depending on your region.

These secrets are protected by law (check your region for more details) since a business' competitive edge, and thus livelihood, rest on them.

Let's take an example: Apple Inc. They have the most stringent security of any company in existence. They take the protection of their trade secrets with the utmost seriousness. One way they protect their secrets is to issue NDA (non-discolure agreements) to many that do business with them. Even iOS and OS X developers sign these agreements. This ensures that whatever bit of information that is not made publicly available will remain classified. Now imagine asking them to produce video of how they make their products. You'd be laughed out of their offices.

Recording the process by which you write code and design programs most definitely falls under classified information.

You needn't explain yourself to the client—they obviously don't have a good understanding on how business works. Simply inform them that you will not reveal your trade secrets (for obvious reasons) under any circumstances. They can then choose to end the contract or carry on with the work. But what's important here is not that they'll smear your good name or label you "shady" (I'm sure any intelligent person would balk at such an lunatic demand), but that you protect your business.

In closing, the protection of trade secrets are implicitly protected by law. They do not need to be included in your contract or reaffirmed in writing.

11
  • 1
    In the case of "work for hire", trade secrets may be owned by the purchaser, not the contractor.
    – Ben Voigt
    Sep 26, 2011 at 2:02
  • @BenVoigt Can you please provide a citation for this? Apple buys nearly all of their hardware from outside sources (NAND, RAM, CPU, GPU, etc.). Are you suggesting that Apple owns the secrets these manufacturers use to produce their products? I agree it depends what kind of contract they signed into, but I'm assuming they have a standard "freelance" contract. Under those terms, they are their own business (a separate entity providing a service much the same as SAMSUNG or Foxconn do for Apple). You do not become the client's "employee" (which in that case, you'd be absolutely right).
    – None
    Sep 26, 2011 at 6:34
  • Trade secrets are not protected by law, thats why the are called "secrets", because thats the only way to keep every Tom, Dick and Harry from doing just like you do. Contracts, which is why companies require NDAs under some circumstance --you let the cat out of the bag and the sue you for breech of contract, asking for every penny they figure it will cost them.
    – jmoreno
    Sep 26, 2011 at 7:44
  • @jmoreno They most certainly are. From wikipedia: "trade secrets are protected under state laws" in the USA. Also read: en.wikipedia.org/wiki/Uniform_Trade_Secrets_Act
    – None
    Sep 26, 2011 at 9:46
  • 1
    @cksum: You're talking about purchasing a physical product, not "work for hire". Work for hire means consulting/design services, not manufacturing. And yes, it depends on whether the contract specifies that the project is work for hire or not. For more information: google.com/search?q=work+for+hire+intellectual+property
    – Ben Voigt
    Sep 26, 2011 at 14:49
5
votes

Personally, I think it's a terrible idea. It's highly unlikely that your customer will watch the video, and if this is the level of micro-management you're getting now, then the amount of micro-management you'll get later is bound to increase. Unless you need this work, I would run away now.

1
  • Looking at Pros and Cons of the Odesk Team Application, the Pro section seems positively draconian... and I quote "The oDesk Team Application records random screenshots of your provider’s computer while he is working./ In addition, it also records the keyboard and mouse activity of your provider. Each time segment corresponds to 10 min worked time./If there is none to very little activity and no changes between two screenshots, you can dispute the time and not pay, if the provider should be slacking off." Feb 25, 2015 at 14:40
4
votes

The problem is, you've chosen with your customer that you will be payed by hours, not by effects. This is very attractive to programmer usually, because he need not to analyze, how much the development will take and he takes no risk of under-estimating the costs.

Otherwise, however, the problem is you will actually earn less if you do your job faster. It gives no motivation to make things quick done. From the customers point of view everything is OK as long as he sees the progress and the total cost will not exchange the amount of what he 'thought it would cost'.

Propably this amount was exceeded and now the customer thinks you're billing him for more hours you actually works on the project. He pay you for hours, and when he questions the hours specified, you have to prove him that you've worked f.g. 100 hours, and not 50. In fact, pay-for-hours is not as attractive settlement method for developer as it would see on begin.

3
votes

Well, I agree with @cczona on both her answers. Also, I'm here to suggest an alternative, besides the video thing:

What if you suggest him that you can keep track of what you've been doing?

I.e. you make a log in (when you start working every day) and a log out (when you stop it, i.e. you could just take note of the hours you spent working that day). Besides, you write a little abstract containing your work-day, your accomplishments and so on, the topics you moved inside the code. Exactly what you did for that day, point approximately how much time you spent in each step. That's a little reasonable and wouldn't cost you so much disk space, nor privacy, nor the negative points listed by @cczona, since you receive your payment by the worked hours.

As a professor, I work with a system where it's mandatory to note the beginning and the ending of the classes, as well as an abstract of them...

If you're up this alternative, and he accepts it, then it's ok. Otherwise, just say farewell.

Good luck!

1
  • +1 This is a nice compromise. It wouldn't take much to set up a private blog or web page that you and the client can share. You could even add a checkin script to your version control system that posts all checkin comments on the blog. It lets your client see what you've been up to each day and keep tabs on progress, but still gives you some space to think.
    – Caleb
    Sep 26, 2011 at 23:19
2
votes

Just to add another view, which is much easier, for your next request in line of this one:

Use a scm (like git) like you always do with your projects (right?). Hand over an export of the full repository, including the history, on delivery. This will be

  • cheap in terms of time (you already do it)
  • cheap in terms of disk space
  • easy to make an overview of (number of commits, dates between commits, graphs etc)
  • easy to look at steps in "the wrong direction"
  • easy for you to cover up steps in the wrong direction (merging and rebasing in git terms) but still keep the time log correct

The rest that's on my mind has already been said.

0
votes

As a freelance software developer in modern times, this is becoming a more common request than I would have expected if I hadn't experienced it. Having been the contractor offering work I have even had strong reasons to make these requests, in fact the reasons for requesting video or image footage of the remote development environment are as valid now as they were 20 years ago.

  • If you do not like it, do not accept the contract.
  • The customer should provide a means both to do the recording and a location to store the data, it is reasonable to ask for any costs to be reimbursed or that the contract rate is inflated to cover them.
  • If this is a trust issue, then the Customer should have no issues explaining their policy or requirement, if you still do not agree, again, you do not have to accept the work.

Much of my work now is through a site that forces periodic screenshots while you work on the clock. These screenshots are used primarily by the site to detect activity, but fulfill a general desire from the customer to know what is going on. This site is very popular and a lot of people gave up complaining about this a long time ago.

You would normally negotiate the terms of your billable time, how much time can be spent responding to emails and or research and how much is expected to be active coding. The video or image stream can be a proof that you are abiding by those terms and of course that you are not engaging with other customers or other projects at the same time. If you don't like it, then do not accept the contract, there are plenty of us that don't have anything to hide that will accept the work.

A video feed can be used to build trust, in this industry trust is not implicitly given, it must be earned. You also need to consider that there are many nefarious actors in the freelancing space, while you and I are doing the right thing, there are plenty of people doing the wrong thing, so much so that over the years that there has grown a general distrust of our profession and the damage that we can cause that the customers might be powerless to prevent or recover from without our help.

There is also the case of freelancers delegating out to other freelancers or employing the assistance of mentors or peer programmers/reviewers. The problem when this happens is that the original customer has not vetted nor established an NDA with these new third-parties. It is an easy way for a bad operator to gain higher privileged access into a network, codebase or database than they would normally have had access to. There is no knowledge of their contributions and no recourse to raise disputes, embargos or any legal actions.

The other consideration is other stakeholders in the data and or the software and IP that you will be accessing to complete your tasks. This is a power struggle, to complete your work you may need high privilege access and they can only take your word for it that you promise to do the right thing. So your customer has their own rights and responsibilities to protect the interests of the other stakeholders as well, these might even be their customer base.

There can be a lot at stake, if you are doing the right thing, a video or image feed will protect you, if you are not, it should expose you. So in the interest of building an evidence based history of your trustworthiness while you have access to your Customer's IP and core business ideas, its not really too much to ask.

1
  • I can understand it in terms of security monitoring when you have remote access to sensitive systems. But I can't understand it at all in terms of "knowing what is going on". If someone was recording my screen activity right now, they'd have seen me scroll to your post, do nothing for a few minutes (as I ate a bag of crisp), and finally enter this comment. But all the real work was done whilst I was eating the bag of crisp - because I was thinking about the scenario and what to write!
    – Steve
    Oct 25, 2022 at 16:12
-1
votes

a really simple solution.

tell him everything the above people have told you. BUT, at the end, tell him, YOU trust him. and you WILL DO exactly as he asked. and you will not charge him a cent more.

BUT!

you want a video recording of everything he does since YOU start to work on the project, and until it ends.

basicly you both should have a same time amount recorded.

if he can do that, you will accept he's request.

7
  • 2
    Doesn't work in an unequal relationship. Your game theory needs work. The equilibrium is that you can decline/walk away and work for a client that isn't so much trouble, not that you can treat your customer like they're an untrusted vendor.
    – JasonTrue
    Sep 26, 2011 at 22:30
  • 1
    The difference is the customer pays for developer's time, not the opposite Sep 27, 2011 at 11:18
  • 2
    my point was to show the customer that it is not a logical request, i would have surely showed the customer my middle finger in this case. Sep 27, 2011 at 11:57
  • 1
    @lechlukasz does the cutsomer pay for the developers time or the developers' output/product?
    – Guy Sirton
    Sep 29, 2011 at 20:33
  • @lechlukasz - the customer pays for a product, not for my life... i dont owe him any explanation that i went to the toilet, or had sex with my girlfriend. ( which will explain the diffrence in the time recordings, or mouse not moving ). as i said , i would have shown him my middle finger from start. Sep 29, 2011 at 22:07

Not the answer you're looking for? Browse other questions tagged or ask your own question.