Computers and databases are excellent at remembering things. Users are not. Whenever/Wherever possible remember user data. Allow the interface to support previous decisions by the user.
Example: Expand and Collapse controls
These should be defaulted open/closed based on your app (and hopefully some user research). The application should remember whether the user left the control open or closed to assist them finding where they left off.
Informative Error handling
Errors should always be written so the user has the ability (and knowledge to self-correct and move on).
Good: You must provide a username to create an account
Bad: Error 27 Invalid entry