As soon as I posted this entry yesterday, I thought of a few additional "rules" that probably should have been included. Pitor's comment also spurred on an additional rule. So without further adieu, here they are:
Learn 'em and stick to 'em. Period! Most modern browsers do pretty well with them, so the closer you are to them, the better off your site will be in the long run.
Ignore Old Browsers When Possible
Take a page from the Apple playbook here, and simply stop supporting browsers that are too old, despite the fact that they may still be in use. (I'm looking at you IE 6 & 7…) Be careful with this one, as you may have no choice but to support some of the older browsers, based on your customers or potential customers. We wanted to be sure to provide support for at least IE 7 and above, and that decision did add some time and effort to our design process. We did this because some of our existing and potential customers - at least for the short term - are running IE 7. Not having support meant not having customers, so the decision was quite simple.
On the other hand, not for a single second did we consider supporting IE 6. At the beginning of the development cycle, we did have a couple of prospects on IE 6, but we took a gamble that by the time we were production, they would be on at least IE 7. That gamble paid off, and we saved countless hours by avoiding IE 6.
Identical Look & Feel Across Browsers in Unachievable
This is another rule to address up front to save a lot of time later. Your application will look a little different on IE than it will on Firefox or Chrome or Opera. And that's OK. In fact, it's unavoidable. Throw in the way that the Mac renders and smooths fonts vs. how Windows or Linux does it, and you'll have even more differences.
Thus, making the site look similar across browsers is a more achievable goal than striving for perfection. Unlike most developers, most users are are "single-browser" users, so they will never know the difference at all.
When in Doubt, Hire Someone
Either you're a graphic designer, or you're not. If you're somewhere in between the two, then it will take your users about 2 seconds to realize that. Thus, know your limitations. There's plenty of free or low cost templates that you can use, and a decent graphic designer also won't set you back too much. At the end of the day, the way your application looks and feels is critical, and will make a lasting impression on your users and potential customers. Don't cut corners here and don't be afraid to seek assistance from a professional.