Jam does not need to be installed, it is run by the java virtual machine directly on the host. All you need to to is to download the latest jam zip. It is currently hosted by Gianfranco, but will soon be hosted by Witsbits.com Witsbits.com once everything is set up.

To be able to use jam, you will need to have a java virtual machine (which is the same as a java runtime environment)

Please note that if you have java version 5 (JRE 5) and not the latest JRE (java 6), then you will have to download jam_JRE5.zip and not jam.zip,
that is, simply change 'jam.zip' (seen below) to 'jam_JRE5.zip'

Unpack the zip file jam.zip into a folder (place does not matter for now)

Run the client with the command java -jar jam.jar (this should output the text seen in the image below)

You may now search using several parameters. (most of them will be expanded to accept more values, for example the format parameter).
If you are using linux, it can be very handy to define an alias for running jam. A short example could be alias jam='java -jar jam.jar'
thus you would only need to type jam to run the client (if you are in the directory where the client is, otherwise simply set the alias
to the absolute path of the jam.jar file). Just to be explicit, all examples show the full way of running jam.

Searching for an ebook can be done by combining several of the possible parameter title, author, format, keywords and isbn, the examples below show how to use each one separately.

the output format of the search result can be controlled by the flags encode, sortby and output, these flags (in order) affect
the format in which the result is output, the order of each eBook found and if the output is sent to stdout or to a file (you can of course always redirect the stream with '>' and '>>').

encode (note that the current version only supports 'raw' and 'html', the default value is 'raw')

This example will search for the title "Interesting times" by Terry Pratchett, sort the results by price (lowest first) and output the result as a html page (which you may open with your browser). Those suppliers which abide completely by the API specification will also send a link to the book.

This example will search for all titles by any author named "Isaac", sort the results by price (lowest first) and output the result to a html page named results.html (which you may open with your browser). Those suppliers which abide completely by the API specification will also send a link to the book.

The latest version is v 1.2 and it's available for both JRE 5 and JRE 6 users. The great change from v 1.1 is that 1.2 has a --gui switch option. The main purpose of the --gui option is to present the user with input fields and dropdown boxes. Using --gui is quite intuitive. Leaving a field blank simply ignores it when the query is generated.

The current version discriminates on suppliers abiding the API or not. All suppliers which DO NOT abide by the API specification 100% are always put on the bottom of the hit list. This gives the effect of always showing the abiding suppliers at the top of the page when outputting as HTML. This is implemented in version 1.1 and onwards. Check if your version is 1.1 by using the --version flag. If you do not have the latest, download it!