Are you not interested in being compatible with Armory?
I'm interested in being compatible with any existing and future bitcoin wallet, including Armory. I'm working on library written in python for interfacing with the device, so implementing it into the Armory should be super trivial. I'm aware of Armory's offline wallets and I think there's almost everything prepared for such type of device.
The reason why I contacted Jim instead of you is because Multibit is written in Java and I need some clarification that he's interested in such kind of device and that there's a way how to talk with this device from Java.
there are lots of ways to do this kind of device, but there's one mode of operation I think it should have: the device has a hardware switch on the back behind a little door that is accessible, but impossible to flip by accident. The switch allows for uploading new wallet data. Data that is uploaded to the secure chip is not downloadable -- it's a one-way channel.
Although "downloading" the seed from the device into the computer won't be possible, there'll be a way how to upload custom seed from attached computer. There won't be any need for special hardware switch on the device, it just displays request if you want to rewrite current seed by that provided by the computer.
The user creates their full wallet using Armory/Multibit/Electrum on a temporarily-offline computer (live session), they print off a couple paper copies, create a watching-only copy, then they flip the switch to allow uploading the wallet to the device. Copy the watching-only wallet to the online computer, stash your paper copy in a safe-deposit box, and then flush the original copy on the computer by rebooting. Now you're ready to go.
Yes, this would be possible (except that hardware switch, as I mentioned above.
There's other modes of operation to consider, but I think the flexibility of managing the wallet initially from a laptop/desktop is ideal. This gives lots of options for watching-only wallets, making address lists, etc.
Device will handle just the master private key and it will derive every address from it. It won't allow you to handle private keys for custom address. This is limitation which will make the interface much easier.
The device could also have a separate memory bank for downloading the watching-only wallet from it.
I don't plan this. Device will just provide master public key to the computer and then it will be just able to sign for addresses derived from this master key.
This stuff is already available in Armory, it just uses a different wallet format and data transfer format (BIP 10).
I wasn't aware of BIP10. I'll read it and maybe I'll have some more questions. I'm also going to support P2SH, but maybe I'll need some help with it...