Lessons learned from two big responsive web projects
Content should always be written before any design or development starts. In the words of Jeffrey Zeldman, “design without content is decoration.” This becomes even more important with multi-lingual sites that have the potential to break the design you spent so much time on beforehand.
If you are working with a CMS, map out which content areas should be editable and structure your markup accordingly to avoid losing styling. Additionally, tweak the CMS’s text editor settings to give access (and to take away access) to some styling features.
For CMS-driven multi-domain sites, consider how your design will behave when a particular piece of content is available in one domain but not in another.
Figuring out a responsive process that works for your team is vital. Requirements gathering, wireframes and prototypes should always be a part of your arsenal as they inform design and development decisions down the road. You also want to prepare for changes to design features that become problematic mid-way through development.
If anyone on your team is new to the workings of RWD, educate them early because you don’t know when they’ll be called upon to lend a hand.
Fluid grids beat fixed grids anytime. But choose whatever works best for your project, because the answer is always “it depends.”
Responsive images are still a thorn in the side, so figure things out before you even get into design, ideally in the wireframing stage.Also look into polyfills and other techniques that could help solve this problem in the interim while we wait for a browser supported solution.
Before coding a single line, take stock of the designs or wireframes to fully understand how different templates work/look in order to be as efficient as possible once you begin to get your hands dirty.
Once in development, try to optimize as early as possible and utilize a modular approach to building components. If there are going to be multiple hands touching the project, consider creating coding guidelines for everyone to follow.
Don’t incorporate analytics at the end. Implement tracking e.g. event tracking as you build interactions that need to be tracked.
Consider time for re-factoring and optimization because you’ll never build everything 100% correct the first-time around.