image provider

Product Recommender


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.

This project is an add-on for a webstore that sells a product that comes in many different forms. A typical example would be Brodart that sells a zillion different kinds of covers to protect the dust covers of your books. How does a customer figure out which model to order? There are hints scattered all over the website, but the process is so intimidating I gave up looking for a cover for my Concise Oxford English Dictionary Luxury Edition.

Let’s say the Brodart people came to you asking for an Applet or Servlet to make the process easy for the customer. The Applet might ask question such as:

Then the program recommends the suitable models, with extended prices. If you hit buy, the program hands the information off to the webstore’s order processor as a chunk of XML (extensible Markup Language).

Let’s say you complete this project, then a Fair Trade coffee online webstore asks you to do the same thing to help people select a coffee. The same basic logic applies:

The structure of the program would be quite similar. The wording of the multiple choice questions would change and the graphics. The hidden catalog numbers passed to the order processor would change. The links to the products to find out more info would change. The decision table rules matching answers to products would change. Perhaps you could describe the program with a script and use the exact same program!

That way the owner of the webstore could fine tune or maintain the Applet himself. You could also write this as a script-driven Servlet. However, a Servlet would be more tedious to write and it would not react as quickly to the customer. The advantage is the customer would not need Java installed in his browser.

Alternatively, you could stomp out a custom Java program from a script, then do some fine tuning to add custom goodies. The problem then is you lose your customisations if you change the script and restomp.

The same logic could apply to webstores that sell sticky labels, paper stock, socks, heritage seeds, marijuana seeds, pepper grinders, blank CDs/DVDs, motherboards, video cards, mice, cook books …

You might approach a number of webstores offering to provide them a program free in return for their help and patience. You write it as a conventional Applet, without using any script. After you have done several stores, you might have a better idea what your script and your run time has to be capable of.

Your program could also be used by affiliates, who don’t own their own webstore, but make money from commissions for referring people to specific products in various webstores.

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