In my favorite stories and films, there's usually a scene where a mentor passes on valuable advice and some magical items to the hero. You know those items will prove useful; you just don't know when or how.
Well, I'd like to assume the role of the mentor in this final chapter (plus my hair has waned, and I don't have the looks for the hero role). I would like you, my fine apprentice, to spare me just a few more moments of your time while I offer up some final words of advice before you set forth on your responsive quest.
This chapter will be half philosophical musings and guidance, and half grab-bag of unrelated tips and techniques. I hope at some point in your responsive adventures, these tips will prove useful. Here's what we'll cover:
The more responsive design work I have done, the more important I have found it to get designs up and running in a browser environment as soon as possible. If you are a designer as well as a developer, that simplifies matters. As soon as you have enough of a feel, visually, for what you need, you can get it prototyped in a browser and develop the idea further in a browser environment. This approach can be embraced more fully by letting go of high-fidelity full-page mock-ups altogether. Instead, consider things like Style Tiles—positioned between a moodboard and full mockup. The introduction to Style Tiles (http://styletil.es/) describes them as:
"Style Tiles are a design deliverable consisting of fonts, colors and interface elements that communicate the essence of a visual brand for the web."
I've found graphical deliverables of this nature can be useful for presenting and communicating look and feel between stakeholders without resorting to the endless rounds of composites.
I'd like to reiterate a point made in previous chapters. Let the design define where breakpoints should be set. With a design in the browser, it makes this process far easier. You should always start amending the design from the smallest screen sizes upwards, so as the viewport size increases, you can see how far your design works before you need to introduce a breakpoint.
You'll also find that coding the design will be easier this way. Write the CSS for the smallest viewport first and then add any changes to different elements within media queries afterwards. For example:
.rule {
/* Smallest viewport size styles */
}
@media (min-width: 40em) {
.rule {
/* Medium viewport size changes */
}
}
@media (min-width: 70em) {
.rule {
/* Larger viewport size changes */
}
}