I was at a tech event, earlier this week, sitting next to a guy who pulled out his smart phone to read a text message. As I casually glanced over to see what kind of phone he had I could easily see him enter his four digit PIN. With touch screen phones, whether they have a keypad or you drag your finger across the numbers, it's very easy to see the PIN entered based on the position of the numbers.
This got me thinking... a simple solution to this problem would be to randomly display the numbers on the keypad. You'd still enter the same PIN, but, to a causal glancer, they'd not be able to figure out your PIN simply based on the position of the numbers you touch.