This essay does not describe an existing computer program, just one that should exist. This essay is about a suggested student project in Java programming. This essay gives a rough overview of how it might work. I have no source, object, specifications, file layouts or anything else useful to implementing this project. Everything I have prepared to help you is right here.
This project outline is not like the artificial, tidy little problems you are spoon-fed in school, when all the facts you need are included, nothing extraneous is mentioned, the answer is fully specified, along with hints to nudge you toward a single expected canonical solution. This project is much more like the real world of messy problems where it is up to you to fully the define the end point, or a series of ever more difficult versions of this project and research the information yourself to solve them.
Everything I have to say to help you with this project is written below. I am not prepared to help you implement it; or give you any additional materials. I have too many other projects of my own.
Though I am a programmer by profession, I don’t do people’s homework for them. That just robs them of an education.
You have my full permission to implement this project in any way you please and to keep all the profits from your endeavour.
Please do not email me about this project without reading the disclaimer above.
Owning so many legitimate copies of a package that you can’t match the branding key with the CD (Compact Disc) is also a problem. You have to write the branding key on the CD with a red Sharpie fine tip permanent marker in legible printing. You should also put purchase date and version to help find the correct version on reinstall. CDs (Compact Discs) rarely display the software version in any easily accessible way.
I have a text file where I store all the branding keys of the software I want to keep. I have multiple offsite backups of it.
You also have to file your CDs in some way so you that can find the master CDs when you need them. I have filing cabinets full of the ruddy things. I just rebought the Norton Utilities after a 30 minute fruitless search for the misfiled master. What is really infuriating is the new version does not work! I want the old one back. (Unfortunately, that issue becomes even more problematic with electronic distribution.)
You can look on branding keys as a form of piracy on the part of the vendor. They are a subtle trick to extort a customer into paying twice for software he already owns.
An electronic distribution scheme would mean it is not the customer’s problem to file all the CDs and branding keys, just a tiny digitally signed electronic receipt in case there is a question. They could be filed in a receipt key-ring file.
Vendors often like to trip you up by inserting an alpha in a long string of numerics. They sometimes don’t break the strings up. They can even make them case-sensitive. They can disable the normal meaning of the backspace or arrow key so you must not make no much as one keystroke error.
Here is one of my branding keys, modified slightly. I kid you not:
They may hide the branding key on a box or jewel case long discarded or on a manual filed somewhere in a basement, or on a warranty card in your warranty card mailbag, or on the CD, (which during installation is in the drive where you can’t see it).
Vendors often ask all kinds of questions that they have no right to ask such as your phone number, address, income, fax number, employer, machine configuration, online buying habits… They won’t provide the registration key without it. To fight back you must tell outrageous lies, not exactly morally admirable. I have not decided if it is less wicked to pretend I make over a year or under
Software arrives prebranded (exactly where the branding occurs is immaterial. The important point is the user takes no manual action to brand.) Normally software will arrive in two parts — a large publicly, freely accessible file of encrypted program and data files and a private custom-built small key file containing branding information, a key to unlock the application and crucial parts of the application code. The key file would be encrypted with the customer’s public key.
If anything should go wrong with the download, the software, without any manual assistance, can restart it. The software is automatically installed once it arrives without asking any questions. If any special questions are needed, you answer them before you even start the download. Once you hit PURCHASE, you can go for coffee and come back to fully installed package.
Updates automatically arrive and are automatically applied unless you explicitly freeze the system. Presume a 24-hour ADSL (Asymmetric Digital Subscriber Line technology) Internet connection.
There is a wallet scheme (gas tank), so you can rent programs by the hour, month etc. There should be flexible payment schemes, to also include support, purchased à la carte or in bundles. There should also be provision to pay by usage — e.g. documents printed, created, scanned, etc.
The common wallet means there is no need for frequent financial transactions. The wallet sends information to a central clearing house periodically about your usage. You get one entry a month to your credit card, even if you have rented/purchased dozens of packages.
You can monitor the gas consumption of any program at any time. Your wallet will warn you if you have inadvertently signed up with a guzzler.
Assume vendors will want to trash their competitors installations. Assume people will try to rent programs without paying, or pirate purchasable software. Figure out how to foil them, in a way that has zero inconvenience for the legit user.
Consider how unique electronic serial numbers on CPUs (Central Processing Units) might make your job easier. Consider how an I/O board with a defective RAM (Random Access Memory) chip on it might serve as a unique id. The Ethernet MAC (Media Access Control) address is unique. Consider how a CPU (Central Processing Unit) with a private/public encryption key could be used.
Eventually the scheme might be used for all manner of electronic commerce such as paying bills, buying toys, wiring people money overseas, paying for an infinite jukebox, getting stuff printed or typeset on a fancy nearby printer in the basement of your apartment building or at the nearby instaprint shop, music channels, digital TV, digital movies…
See my Automatic File Update student project on implementation details.
This page is posted |
http://mindprod.com/project/prebrandedsoftwarerental.html | |
Optional Replicator mirror
|
J:\mindprod\project\prebrandedsoftwarerental.html | |
Please read the feedback from other visitors,
or send your own feedback about the site. Contact Roedy. Please feel free to link to this page without explicit permission. | ||
Canadian
Mind
Products
IP:[65.110.21.43] Your face IP:[18.191.154.132] |
| |
Feedback |
You are visitor number | |