An idea for the GUI Wallet:
Why not implement a chat / message service? It can have one-on-one chats, chatrooms, and email-like messaging. Everything will be encrypted of course. I don't know if this can be done within CryptoNote or if a workaround is better?
Reason I suggest this is that this will really, really set Monero apart. Right now CryptNote coins have the best privacy, and Monero has the best momentum among these, but it's easier said than done to attract an entire community. So I mean, if there's a chat & transfer combined GUI wallet, you'll attract all those thousands of people looking for a safer alternative to emails. Being able to transact comes as a bonus to most, something they'll learn to value but perhaps don't see the point in quite yet.
I've been reading the source and trying to see if such functionality is possible. I have a way it could be done without causing issue to the core blockchain or code but I need to do a lot more research. So if I can say anything it's this; don't write off us adding such features at some point.
However, right now there are fundamental issues that need to be fixed and better understood, the CryptoNote blockchain is a new beast and we really need to hammer out the core first.
I'm all for setting Monero apart, but first we need to make it as easy to use Monero as it is to use Bitcoin. Don't worry though, many of us are trying to figure out possible ways we can get these features. But they will have to be done in a different way. For example I am against the Nxt method, I am against storing things like messages in the blockchain. I find that people add these features without really thinking them through. I support Nxt but I believe certain things need to be planned and done differently. If I can formalise my ideas into a concept I'll likely try to apply it to Monero.
But this is a ways off, we need an effortless wallet and a GUI first. We need to stop getting in the users way even if they have too many dust payments, we need to wallet to take care of many things that should be behind the scene (of course the advanced user can always push the transactions are we are doing now)