Responsive Design

This is mostly a placeholder page on topics we've likely discussed to some degree already, with links to outside resources.

Progressive Enhancement (vs. Graceful Degredation)

Progressive enhancement is the practice of developing a web site that functions enough to be usable without javascript or even CSS. It refers to a bottom-up approach. Rather than designing a desktop-broadband optimized web site and paring it down for high latency networks and small mobile devices (graceful degredation), progressive enhancement involves designing for the bare essentials and adding features for more capable browsers, networks and devices.

Regardless of the fact that we can assume most users have javascript and modern browsers, this concept remains important for semantics, searchability, and accessibility.

Responsive Design (vs. Adaptive Design)

Responsive design today is essentially synonymous with "web design". Responsive design generally means developing a single fluid layout that seamlessly adapts to any screen or device size.

Adaptive design is the practice of designing a few rigid layouts for different target screen sizes, and is becoming less and less common. In some cases, users may even be redirected to an entire alternate version of a web site on mobile vs desktop. This practice is rarely useful and far more difficult to maintain.

When developing a responsive layout, it's generally better to design for mobile first and work your way up/out to larger versions. This is because mobile layouts are generally simpler, and it closely ties with the concept of progressive enhancement.