@Eric you are right! If you read the algorithm details it's clear that the image must remain unmodified after that a watermark is applied. This is just a simple example and it's obvious that if you need also robustness you should hide the information in another way (for example using a bi-dimensional cosine transformation) ;)
The program doesn't seem to work if 1) the numeric code is input, and 2) if the image is cropped in between watermarking and retrieval. At least my computer took ten minutes to work on a cropped image, before throwing an error. So if the scheme is meant to protect copyright, it can be defeated easily. If the coding scheme uses absolute position references, maybe it could be improved with relative positioning?