Hi everyone, I've been burned too and it was in fact not from the customer but from the software vendor that I counted on to make the software work. I bought an external supposed to read these PC databases and it fell short because it couldn't past the 36000th record - I had 800000! I never got any support, moneyback or the darn thing to work.
I ended up making it manually, took months instead of a couple weeks to get the thing to work just as fast as an external but I did learn I could program things much faster than with just externals - for some things that is. I can't tell you the client's pressure on my shoulders! Since then I dont work on deadlines anymore! Dont promess a price for a project you can't foresee. Everything that can go wrong will in these cases! Even delivering the application on a diskette is dangerous, deliver 2 diskettes! :( Only on a Mac has this happened more than once! What this thaught me, is get a receipt or written verification of delivery... The client never paid the extra hours either - 100ths instead of a dozen! But I made my part of the deal and delivered a program that was professional and not broken at the 36000th record! Others pointed out the critical parts too that I've seen happen since: - demand a detailed feature list or write one up as you make the deal. Have the customer sign and agree on it - get paid for the hours you work, not the project - this is more economical for the client too and he'll appreciate you making a deal for him, but above all, remember it's your safety to get paid if anything goes wrong - and believe me anything will go wrong if there's a chance you were sloppy! - Keep 2 backups in 2 locations - one home, the other at the bank - or somewhere fire proof! Factor that into your cost to deliver on time! - Dont upgrade your IDE in the middle of a project. Work on 2 different IDEs, two versions. Support woes, computer witchcraft, and murphy lurk here! As Andre wrote (before I was about to send my reply on the subject, his reply being so much more interesting!), software time expiration or Hardware locked license keys are the next best thing. Before you deliver the final application and "wait for the check in the mail", make sure the software is time expiring and single-computer and user name locked. Expiration of 1 month gives you plenty of user control. If you output, make sure there is a mention of a unlicensed test version on the output - in the center preferably. Something like: "Licensed expired warning: Printed without legal permission", in big red letters 96 pts or that light blue dot philigram pattern that does photocopy well! Incidentally, I have a licensekey sdk kit in my development backlog for license expirations with different types of license keys, key's length and encoding strength, schemes for number of computers and validations, type of hardware locks, network registrations, etc... The project is in post-design phase - but with no hurry - until i get a product to license later ;) If there is a renewed interest, I could get back on it, it's not cheap but it is 1) secure, 2) feature rich, 3) with lifetime free upgrades 4) cheaper than competing softwares, and definitely customizable to most needs! Although I dont do deadlines, client need is the kind of motivation that makes me bring out faster and better software! Xavier -- MonsieurX.com - Power parts for RunRev too! _______________________________________________ use-revolution mailing list [email protected] http://lists.runrev.com/mailman/listinfo/use-revolution
