Designing and developing for multiple mobile browsers simultaneously is a challenge, but not an impossibility. It requires looking at your designs and code from many contexts, and being able to visualize how your designs will be rendered on a variety of devices in your head, as you lay down code.
For example, you are creating the markup and styles for a desktop site that has to support Internet Explorer 6, which has very quirky support for web standards techniques. You would employ a different technique to express your design, one that you know is proven to be compatible on most browsers, than if you were just going to support the latest browsers. In mobile development, we have might have 10 Internet Explorer 6s, so we have to think of our design in layers of degradation, which just happens to be the definition of progressive enhancement.
Progressive enhancement is the practice of using web techniques in a layered fashion to allow anyone with any web browser to access your content, regardless of its capabilities. This means that you are creating not just one ideal experience, but multiple less-ideal experiences, depending on who views the content, also called graceful degradation. To illustrate this, take a look at Figure 11-1.
Figure 11-1. Using progressive enhancement to layer support
Our unstyled experience or markup viewed ...