This is an assorted collection of best practices to increase your application usability:
  • Keep screen input values when errors occur so that users don't have to retype them
  • Keep most used drop-down selection values in session variables
  • Don't forget "back" links
  • Try to use a common header or footer that includes links to the most used screens.
  • Use "input filename" widget in specific upload screens to avoid back and repost limitations
  • Don't forget the error handlers at screen flow level
  • Check the top errors report regularlly looking for navigation problems
  • Try to use links with Method "link" to avoid history missing, session timeouts and back limitations
  • Use "confirm message" in links and buttons that point to delete or dangerous actions
  • Define the default button for web screens (so that the user can just type enter in the inputs)
  • Disable the validate inputs for navigation and cancel buttons

Can you elaborate a bit more on the reason why we should do all these things? Some sound very good advice others I don't understand the implications.