I don't see how you use your program. There doesn't seem any great set of instructions for barcodes on the wiki,website, or these forums.
I agree, Barcodes were only really incorporated a week or so ago, and I'm slowly getting the documentation to where it needs to be.
If all you want to do is correct keystoning from the command line, look here:
http://www.diybookscanner.org/forum/viewtopic.php?f=3&t=784&start=50#p8404But I'm assuming you are really looking to do other things with BSW.. so read on...
1) What is the difference bewteen Barcodes and BarcodePerspective
Short answer: Use Barcodes. Long answer: BarcodePerspective is an internal command that Barocdes uses. It differs from a normal perspective correction in that it assumes that the barcodes are square, while the normal perspective only assumes that the selected area is a rectangle.
2) I can print out the barcodes, but where do I put them? At the beginning of the book and then take a picture of those pages? Can it differentiate between left/right barcode pages?
For every barcode except the perspective barcode you can put them anywhere that will be picked up by the camera. The perspective barcode should be placed so that it lines up with the text.
For the perspective barcode you would normally place that at the beginning and whenever the perspective has changed. The other barcodes can be used where they make sense. (Like if you want to redo the page you just scanned, put down the "redo page set"), take a picture, then take another picture of the previous page.
It can't differentiate between left & right. It assumes that when you create "l" and "r" directories you put the right files in the right directory. If you do goof up and get it backwards, just rename them and try again.
I did consider making it smart enough to know the difference, but I figured that I had just as much chance of putting the code on the wrong page to begin with, as I did for putting the wrong card in the reader to read them. However, I'm open to adding a that as a feature, if it makes sense in some scenarios.
3) Should the barcodes span the entire page? When I print them out they only occupy about a 4x4 box at the top-left of a 8.5x11 in paper
No.. they are sized so they can be easily scanned, but small enough so they will always fit even if scanning a small book. The software will find it regardless how big or small it is (within reasons).
4) Do you have to use the -barcodes flag from the command line or can you just input it in the script area and then hit "submit"
I think it makes sense to do it ahead of time using the -barcodes or -split flags, but in the version I released 1/2 hour ago it will let you scan them from the gui as well. The challenge is that if you are running it interactively, you really need all the barcodes scanned before you can do the cropping and other tweaking. However, it does take a while to process all the barcodes, so if you run them from the gui you have to start BSW, read the barcodes, and come back 10 minutes later.
5) Any chance to use a gui dialog rather than having the user type in commands?
I've got the wizard to get started, and if you right click in the viewer it does the most common stuff without much typing at all. One problem with doing a gui is that it would limit what could be done. There's a general order that things are done in, but I find that I sometimes modify it depending on what I'm trying to accomplish. If I use dialogs I looks that flexibility. You can also double-click rows in the command helper and it will insert the command in the configuration.
However, that doesn't mean that there isn't a value for a dialog, and maybe both could co-exist. A dialog approach for standard options and an "expert" setting that is completely configurable. However, the the reality is that designing GUI forms is a bit too much like my day job to be interesting for me, so given a chance of doing that or adding some new cool feature , the cool feature will probably win out

In any case, once you use it for a while, you'll get past the challenge of the text configuration.. hang in there.
I haven't got it to run yet. Either I get "array out of bound errors" and I am looking at the command syntax or the output is identical to the input
If you are running interactively, ensure that either the "to cursor" checkbox is unchecked, or that the text cursor in the configuration is at the end of the configuration you are trying to add.
If this is when you run with the -barcode flag, I think this is a bug that has already been fixed. See if the current version works better for you (0.9.8).
If you still have problems, this could be a problem with the configuration. The array index out of bounds most likely means that there's a required configuration parameter missing. Could you maybe post or send me a copy of the configuration?
, though it does seem to do a decent job with fixing the presepective. The only problem I see is that the book will shift slightly during scanning so applying a crop to all pages will likely clip some part of the page towards the end of the book.
If the perspective changes during the book you can adjust it, either by using a perspective barcode every hundered or so pages, or by doing it manually, using the Pages: command followed by the Perspective command.
Or if a change in cropping is all that is needed, that also can be defined for a set of pages.
I hope that answers everything. If not, let me know, and good luck.