Folks voting to close as not constructive, read the whole thing please. Specific questions at the end. Looking for real world examples and approaches.
Context
With numerous devices like smart-phones, tablets being used increasingly to access the web its important to plan, design (responsively) and develop (esp. your front end) to give the devices a fast and tailored user experience.
There’s some amazing sites being built. Have a look at mediaqueri.es (resize your browser)
We see approaches such as
- big screen first, then target smaller devices.
- mobile first then media queries to spice things up for bigger screens.
- device detection with different techniques (including server side)
- and serving completely different markup and content to devices.
Question(s)
What are you folks doing out there today? Why did you choose your approach and most importantly if it isn’t the most efficient approach to tackle this, then what is?
Things I’m looking for:
- Is it a pure CSS / JS / HTML approach, or server side, or a combination – why?
- Each device gets only the resources (images etc.) that it needs so it performs well
- Maintenance of the site is easier, i.e. adding / changing features is not a huge pain
- Some code samples are always useful
- lets leave out old shitty browsers like ie7 and below
I think what you are looking for is Responsive Web Design.
See:
http://www.alistapart.com/articles/responsive-web-design/
http://coding.smashingmagazine.com/2011/01/12/guidelines-for-responsive-web-design/
Responsive Web Design (using CSS) does not necessarily address performance issues but is a good starting point. Keeping in mind that premature optimization is the root of all evil, you can profile your users and bandwidth and determine where you need to optimize once you have a working design in place.
For a discussion of some of the downsides, e.g., image resizing in the browser (you can work around this with CSS and/or AJAX, though), see:
http://www.webdesignshock.com/responsive-design-problems/