Rules for a great web application: (in no particular order)
- Use CSS. Try as hard as you can to eliminate all presentation specific information from your html. Abstract the presentation layer!
- Use DOM. Try as hard as you can to eliminate all client side interactivity from your html. Abstract the interactivity layer!
- Use a text Editor. Never ever ever use a WYSIWYG editor to make a product.
- Think Human factors before data model. Many applications look like they started with some forms and some data and then tried to glue it all together. Better approach is to start with what the Users are trying to do from a human standpoint and then figure out what information they need to do that and then model your data into that structure.
- Use the client. Server-side applications are fine for certain things, but use the power of the client. It is one half of your client-server architecture.
- Watch the users work. For some reason this is always the most obvious, yet hardest part to accomplish. Keep pushing for it.
- Build Profit into your App. Always look to build something extra into your code. Make it abstract, make it scalable, make it do anything above and beyond the exact specs. This is your profit margin in the code. Good products do more than what they are required to do.