Thanks Jan. As always the difficult part is writing software on the "host" side in this case as well. It is always good to know how the hardware works but the software is the difficulty since electronic engineers or even any typical CS background person may not know how to use the software stacks to communicate using these mechanisms.
Your book does a good job is simplifying USB though, I had a look at the MindShare book on USB earlier too, it sure does a very good job of explaining the hardware side.