A gadget is a simple zip file renamed to have a .gg extension. As a minimum it needs to contain three files, gadget.gmanifest, main.xml and main.js.
gadget.gmanifest is a little file describing the gadget, so the Google Desktop application knows what to do with it.
main.xml defines the user interface of the gadget.
When you install a gadget you get a warning saying that the gadget is being granted access to the local file system. This is good because the reason I am interested in them is that I have a web application which is a GPX route editor (http://www.maps.webhop.net) but I would like it to have access to the local file system so it can save its output file for you to put on your GPS device. I think it should be possible to port the application to work as a Gadget so it will retain its network capability with local file access.
It's just a matter of making it work.....
I am struggling to make local file access work, never mind anything more complicated!