some day it should be user-friendly - no person can handle a real 30+ random character password. for creating, well that is needed, but please make sure that the user gets a way (probably 2-Factor Securitized) Password for day to day usage
Luckily, this can be done client-side.
For example, SuperNXTWallet has the feature to either:
A) Generate a 30+ char password for the client based off of the username+password they input + random salt (perhaps stored in a wallet.dat file). However, this means that the user will have to use the same client and have the wallet.dat file ready in order to access his account. Or he can request the client to print out his true password (with a lot of warnings) and try to memorize that too.
B) (Advanced) Let the user define his own brainwallet password of 30+ chars. This should come with a lot of warnings, but this will allow the user, like right now, to use his wallet anywhere in the world and on any device that is a node.
And RS code will be implemented on top of this, providing protection of sending NXT to wrong accounts.