image provider

Prebranded Software Rental with Auto Updates

The CurrCon Java Applet displays prices on this web page converted with today’s exchange rates into your local international currency, e.g. Euros, US dollars, Canadian dollars, British Pounds, Indian Rupees… CurrCon requires an up-to-date browser and Java version 1.8, preferably 1.8.0_112. If you can’t see the prices in your local currency, Troubleshoot. Use Firefox for best results.


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.

What’s Wrong With Software Branding?

The only people branding keys hurt are the naïve legitimate users, forcing them to rebuy software they already own when they lose their branding keys. Branding keys require nothing more sophisticated than a pencil to duplicate. They have no effect on pirates.

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.

Branding Key Hell

I think of the movie Bedazzled with Peter Cook and Dudley Moore. There the devil found ever new ways to frustrate people. A remake would have the horned one working as manager of branding keys in a software company.

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:

Thankfully, the company sends them to you by email so you can copy/paste them in.

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).

Custom Branding Via Registration

Registering software does have some effect on piracy. You send your name and return email address to the company and they send you back a key you paste into the program. Inserting the key turns on the full features of the program. From then on your name is burned into the program. You can’t change it to any other. The scheme does not stop others from using the program, so long as they don’t mind seeing your name on it. If your copy is too widely distributed, the vendor’s lawyer may send you a rude letter. This is mildly inconvenient for legitimate users and is relatively easy for pirates to defeat.

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 $1,000,000.00 USD a year or under $5000.00 CAD

Something Better, Prebranding

When you buy software online, you don’t have to type in your name, address and shipping information every time. The idea is a create a scheme so attractive and so cheap that all vendors will adopt it. See my essay on Internet Futures for more information on how automatic updating works.

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…

Advantages to Renting Rather Than Buying Software

  1. Software sales

    means the vendor is primarily concerned about sucking in first time buyers with flashy but useless featuritis.
  2. Software rental

    means the vendor is primarily concerned with keeping his existing customers happy by providing tools that work smoothly and efficiently.
  3. Technical support

    is more reliable and less expensive since every customer automatically has the latest version.
  4. Everything On Tap

    With rental, I can afford to have thousands of programs on tap that I only rarely use.
  5. Software rental with automatic updates make piracy much harder. The constantly updating programs are a moving target and there is always a danger the pirate will expose himself if products automatically go out seeking updates. Every program can be booby trapped in a million ways to stop working if it is not frequently updated. The booby traps can change every month. Public key encryption techniques can be used that will make piracy almost impossible. It will get even more difficult for pirates when everyone has a 24-hour connection to the Internet. Less piracy means a bigger market. A bigger market means more competition. More competition means lower prices for non-pirates.
  6. With rental, I can thoroughly try out programs over a long time without having to commit to them.
  7. I can cheaply drop a poor vendor at any time and switch to a competitor. This gives me clout with the vendor.
  8. Delivering and installing updates is 100% the vendor’s problem. I don’t have to waste any of my precious time with it. If he mucks up, I get another vendor.
  9. Delivering software and updates electronically is much cheaper than using retail distribution channels. Eventually this will mean lower prices.
  10. With piracy all but eliminated and try before you buy very easy to administer and automated updates reducing the support burden, smaller software development companies will be able to compete more effectively with the bigger companies that currently rely on expensive print advertising and mass retail outlets. This means more competition, higher quality products and lower prices.
  11. Without any paper work or computer busywork you could install 40 extra copies of an application to help you through a rush job.
  12. Payment can be very flexible, based on usage, time, flat rates, bulk discounts etc. You don’t have to plan far in advance the way you do with purchases. You can make adjustments with seconds notice.
  13. The vendor has a steady source of rental income to pay for upgrades and bug fixes. He does not need to provide them out of the goodness of his heart. If he does not provide them, he stops getting paid. Currently, vendors that take the money and run are financially most rewarded.
  14. Consider the analogy of health club memberships. You get a much better service if you pay by the month than if you pay all up front for a lifetime membership.
A step in this direction was the defunct Power Update from Macrovision (the InstallAnywhere people) to automatically install program updates or file updates and Marimba. Java Web Start is still carrying the auto-update ball.

Digital Signatures

All electronically distributed software and updates must be digitally signed to prevent corruption or tampering, possibly by terrorists. See my essay on digital signatures.

See my Automatic File Update student project on implementation details.

Sharpie fine tip permanent marker

This page is posted
on the web at:

Optional Replicator mirror
on local hard disk J:

Please the feedback from other visitors, or your own feedback about the site.
Contact Roedy. Please feel free to link to this page without explicit permission.

Your face IP:[]
You are visitor number