I think it would be interesting if a single install could create both a portable version that works just by plugging the USB into a computer and also a boot version which works by booting from USB. My reasoning is that, when possible, it would obviously be preferrable to boot into a secure environment, but that might not be practical in all situations.
Personally though, my main concern is using a portable version on a public computer. You can't boot from USB, but you can run it. There won't be a virus to worry about because these computers are instanced so that each day it refreshes and no unauthorized programs can be installed. The problem is two fold: First, if administrative access is required it would never work. Second, these computers are usually monitored.
With college or library computer labs there is usually someone on duty who can actully look at your screen from a remote device at any time and record your behavior. In fact, at my college, it isn't just a chance. They definitely will review what you are doing. In theory, a malicious user could copy down your addresses and funds to associate with an identey which takes away anonymity. This scenario is more likely at Library computers that often give similar access to the FBI.
For this scenario I think portable version should have a default setting of hiding address while leaving address labels visible. That way if you are just checking your balances you will know how much money was sent to which address and when without anyone else being able to see those addresses. Call it a stealth mode. It could even be set up to allow you to copy an address to clip board without showing the address. Of course, once added to clip board and pasted it will obviously be visible, but if the user only does this with one time use addresses it would still provide better security than turning off stealth mode to handle such transactions.
Two other thoughts: Couldn't a proxy program be integrated with a list of safe addresses and then have the program use a random rotating IP address so that when transactions are sent or received there is no connection an IP address to multiple addresses which might later be used to figure out the seed or otherwise compromise privacy? And couldn't the security features of Dark Wallet's
Stealth and
CoinJoin be applied at some point?
Finally, for portable versions - or all versions really - why not implement some kind of a file checksum? A non writable file could contain the information needed to check the integrity of the executable to make sure that it hasn't been compromised and for added security maybe even a mirror of the executable could run at the same time? Borrowing a trick from virus behavior, if one file is deleted or modified in any way outside of normal user behavior the other one repairs it. In this way a malicious program would need to modify both simultaneously and even then the checksum could be set to run when it opens and right before it exits to alert the user that the file was compromised at the very least.
I think the extra security of all these features together would help protect users who hae a need to use portable modes and would also help protect people who install onto their own machines that later become compromised. Is it feasible though?