A challenge for freelance developers
It has happened to me 3 times in the last week. Customers have got a new computer, and have installed “my” application, without contacting me.
Well, what’s wrong with that, you may ask. This is how I see it…
If you are a freelance developer, building an application for a very specific one-off scenario, you don’t go to the extra effort/expense of providing for the “generality” factor. Like you do if the application will be deployed more widely.
No, you set it up and install it to the computer system it was designed for. You make sure, on that system, that everything related to the application is carefully put in the right place, and nicely lined up.
One of the examples this week was an Access 2000 MDE application, originally deployed with the Access 2000 Runtime, referencing a couple of third-party DLLs, using a set of specifically located TXT files, and requiring a DNS for some core functionality connecting to the MySQL database on their website.
The customer replaced their PCs, with Access 2007 installed. The IT company who supplied and set up their new computers, simply copied the Access database files from the old PCs to the new, and somehow expected them to work. Which they didn’t, of course.
One of the problems with this, is that it suddenly starts to feel like it’s my fault. There seems to be something of an undertone in our communication of “What’s wrong with this dumb database of yours, it was working fine and now suddenly it’s throwing all these errors, we didn’t think you would fail us at a time like this.” Well, I’ve got broad shoulders, and I can handle this one.
More difficult, is the fact that by this stage it has become urgent. They rely on this application. They have to get their invoices out by tomorrow. And of course they are in a distant city. And they don’t know what “unzip” means. And so on… Pressure!
As I said before, this is not the only time. So I can’t help dwelling on the question… Why didn’t somebody think of getting in touch with me before the event? “We’re getting new computers. What do we need to do to make sure our database will work?” It would have been easier and cheaper and nicer.