There are fancy programming terms that can be thrown out for all of these; however, my goal was to put these in common terms that software professionals (and even you) might understand.
- Always support 99% of internet users, regardless of browser, browser version, or operating system. Adjust accordingly and always be prepared with beta releases.
- Always utilize XHTML compliant code for the application, reference by the DTD and cross-browser compliant Cascading Style Sheets for all layout styles and application images.
- Always reference text and strings through reference elements that support any character set and never require a build.
- Always reference dates and times in GMT that allows any user to modify the output how they wish.
- Always build an integration element to every feature.
- Always build to RFC standards (text emails, HTML emails, email addresses, domain references, etc.)
- Always build modularly. If there is more than one option anywhere in the application, you should be able to add more without requiring a build.
- If more than one part of the application does it, all portions of the application must reference a single point.
- Never recreate what you can buy and always adjust our application to support what you bought.
- If users can do it, then we support it. If they should not do it, we must validate for it.