there are lots of cheap USB MP3 players on the market. These are basically small embedded computers, and they usually have a small display and some means of input. One could write a modified firmware for such a device, which enables the user to upload (and not download again!) a wallet.dat. The bitcoin client would then, instead of signing a transaction itself, request the USB device to sign the transaction. This way, the private keys would never leave the MP3 player, so stealing bitcoins via trojans/viruses like it happened recently would be a lot harder. Of course, one would still need to make (encrypted) backups of the wallet in case the MP3 player gets broken or lost.
There is already a project that writes modified firmwares for such devices (http://www.rockbox.org/
). Maybe it would be easier to write a plugin for that instead of starting from scratch.
What do you think?
(@Admins: Please move this topic to "Development & Technical Discussion".)