Retrofitting Adaptive Designs

23
Retro-fitting Adaptive Designs Matt Machell - Multipack Presents November 2011 eclecticdreams.com / @shuckle

description

 

Transcript of Retrofitting Adaptive Designs

Page 1: Retrofitting Adaptive Designs

Retro-fitting Adaptive Designs

Matt Machell - Multipack Presents November 2011

eclecticdreams.com / @shuckle

Page 2: Retrofitting Adaptive Designs

Meet Prism

Page 3: Retrofitting Adaptive Designs

• "Next generation bibliographic discovery interface"

• 100+ instances - each with 10,000s of users

• Software as a service

• Completely theme-able…

Page 4: Retrofitting Adaptive Designs

9 months ago….

“We want a solution for Mobile”

Page 5: Retrofitting Adaptive Designs

Problems

• Technical debt in base stylesheets

• Which customers have been built on

• and can change at any point

Page 6: Retrofitting Adaptive Designs

Solutions

• Adaptive layer that adjusts the layout for small screens

• CSS media queries AND Javascript

• Inject layout/colour preferences at build time.

Page 7: Retrofitting Adaptive Designs

Mobile after the fact

Page 8: Retrofitting Adaptive Designs

What does your site do?

Really?

Page 9: Retrofitting Adaptive Designs

What's absolutely essential?

Keep it.

Page 10: Retrofitting Adaptive Designs
Page 11: Retrofitting Adaptive Designs

Not essential? Still useful?

Hide it.

Reveal as needed.

Page 12: Retrofitting Adaptive Designs
Page 13: Retrofitting Adaptive Designs
Page 14: Retrofitting Adaptive Designs

Hide anything else*

*See if anybody complains

Page 15: Retrofitting Adaptive Designs

Things we learned

Page 16: Retrofitting Adaptive Designs

• Specificity is your friend

• Hacks will burn you

• !important isn’t

Page 17: Retrofitting Adaptive Designs

You need to cope with stubby fingers

Page 18: Retrofitting Adaptive Designs

Only use the bits you need!

Page 19: Retrofitting Adaptive Designs

Cache it!

• Preprocess and Munge CSS/JS

• Set far future expiry

• Preload and cache in localStorage for speed

Page 20: Retrofitting Adaptive Designs

Landscape Android is bigger than you expect

Page 21: Retrofitting Adaptive Designs

window.scrollTo(0,1)

Page 22: Retrofitting Adaptive Designs

cursor:pointer;

fixes iPhone click event delegation

Page 23: Retrofitting Adaptive Designs

Retro-fitting is Possible