What is RWD?

advertisement
Launch with
confidence
Responsive Web Design
What else is new?
Twitter: @rmonteroo
#DrupalCampCR #RWD
Rob Montero - Achieve Internet
Rob is a senior
engineer at Achieve
Internet.
Over 10 years of
experience doing web
development and 4+
doing Drupal
exclusively.
Achieve Internet is a
leader in advanced web and
mobile platform development.
We build rock-solid digital
architecture and we do it right
so you can launch with
confidence.
We build high-traffic
websites, platforms and apps
for the most demanding
environments.
Nefty Loría – Quazar Web Design
Award winner
Web UI/UX designer.
10+ years of web
design experience.
Loves design.
• quazarwebdesign.com
• kinetikweb.com
• intergraphicdesigns.com
Agenda
• What else is new?
• What is RWD?
• Themes
• Some
examples
• <picture>
• From scratch or
• FlexSlider
theme?
• Bgstretch
• Who needs RWD? • Things you can
• Why is it relevant?
check out later.
• The buzzwords.
• Questions
• New toys
What is
RWD?
Responsive Web Design
RWD is the concept
of developing a
website in a way that
allows the layout to
adjust according to
the user’s screen
resolution (view port)
using media queries.
What is RWD?
What is RWD?
http://mattkersley.com/responsive/?http://sony.com
What is RWD?
If you have a laptop, and a smart
phone and a tablet you can see what
I’m talking about, by going here:
•http://achv.in/rwdrob
•http://mattkersley.com/responsive/?{website_url}
Simon Collison
Food Sense
Clean Air Commute Challenge
FlexSlider
OK!
You get the point!
For more examples:
http://designmodo.com/
responsive-design-examples
What is RWD?
More Examples
•http://foodsense.is
•http://earthhour.fr
•http://w3conf.org
•http://mediaqueri.es
•http://fourkitchens.com
•http://achieveinternet.com
The big question
Do I build all my
HTML + CSS + JS
from scratch
- OR use a Drupal
Theme?
The big question
Who needs RWD?
You need RWD if:
•You’re starting from scratch.
•You want to keep costs low
•You want it to work even when
new devices are released
Why is it relevant?
• 1.8 billion
• 6.8 billion
• 3.4 billion
internet connections in the world today.
people in the world today.
people with mobile devices today.
( roughly ½ the population of the planet)
Why is it relevant?
It’s about people, not devices
•Yes your iPhone goes to great lengths to
facilitate browsing full sites, but technology
should be available to everyone, even those
without smart phones.
•The most popular devices aren’t necessarily
the most used devices.
Why is it relevant?
• 1.3 billion
mobile internet users in the world today.
( Includes WAP and “real web” )
• 1/3
of the
global internet users
access the internet only via mobile
Why is it relevant?
The future is now:
•Babies have an easier time interacting with
an iPad than with a magazine. To them a print
magazine is just like a broken iPad.
•Websites are not limited to laptops only.
Why is it relevant?
It’s convenient:
•You’re not at your desk, you are hungry. In
your email you have a coupon to this cool new
restaurant. You pull up your phone, click on
the link and…
•What would you expect to see? >>
Why is it relevant?
RWD allows us to tweak the layout and
present the relevant information first:
•
•
•
•
Hours of operation
Phone number
Directions
Perhaps a link to the menu.
Everything else can wait / save bandwidth.
Why is it relevant?
Meanwhile back at your desk, the restaurant’s
page has all the bells and whistles you didn’t
care for while browsing on your phone.
•Beautiful rich imagery.
•Mouth watering brain wash
•All that super important messaging from the
marketing agency.
•The chef’s profile and his awards, etc.
Why is it relevant?
• Avoids keyhole browsing.
• You shouldn’t need a magnifying
glass to access web content on
your phone.
Hello Media Queries and CSS3
In its essence a media
query consists of a media
type and an expression to
check for certain
conditions of a particular
media feature. The most
commonly used media
feature is width.
CSS3 & Media Queries
The absence of support for
@media queries is in fact
the first @media query.
CSS3 & Media Queries
In your CSS:
@media screen and (min-width: 480px) {
.content { float: left; }
.social_icons { display: none }
// and so on...
}
CSS3 & Media Queries
On the header of your website:
<link rel="stylesheet" href="this.css"
media="(min-width: 960px)">
CSS3 & Media Queries
By restricting CSS rules to a certain
width of the device displaying a web
page, one can tailor the page's
representation to devices with varying
screen resolution (view port).
Popular Viewport Sizes
•320 x480 px:
Smartphone
•480 x 320 px:
Smartphone in
landscape orientation
•768 x 1024 px:
iPad/tablet
•1024 x 768 px: iPad in
landscape
orientation/netbook
•Anything larger:
Desktop/laptop
computer
•Anything smaller: a
feature phone
How do we design for RWD?
Simple:
Use the Mobile First Approach
and favor Progressive
Enhancement instead of the
traditional Graceful Degradation
Mobile First Approach
Mobile First Approach
Graceful Degradation
• Focuses on building the website for the most
advanced/capable browsers.
• Older browsers are expected to have a poor,
but passable experience.
• Small fixes may be made to accommodate a
particular browser ( they are not the focus )
Progressive Enhancement
• Focuses on the content. ( not browsers )
• Think from the content out. ( Peanut M&M )
– Peanut: Content marked up in rich
semantic (x)html
– Coated with rich creamy CSS
– Added JS as the hard candy shell
Progressive Enhancement
Progressive Enhancement consists of the
following core principles:
•Basic content and functionality should be accessible to all
web browsers.
•Sparse, semantic markup contains all content.
•Enhanced layout  external CSS.
•Enhanced behavior  external JavaScript.
•End-user web browser preferences are respected.
Progressive Enhancement
Benefits:
•Accessibility: PE pages are by nature
more accessible.
•SEO: Since basic content is always
accessible.
•Performance: Responsive means fast
Really New toys for your sandbox
http://lab.maltewassermann.com/viewportresizer/
Really New toys for your sandbox
http://respondr.webhoard.net/
Really New toys for your sandbox
http://designmodo.com/responsive-test/
Media Query Debugger
http://johanbrook.com/design/cs
s/debugging-css-media-queries
So… what else is new?
RWD has been
around for a while,
but it’s far from being
passé.
So… what else is new?
Here are some of my
favorite new
developments in
Responsive Web
Design
So… what else is new?
Zen & Zenstrap
Bootstrap
Zurb-Foundation
Boilerplate
Omega
So… what else is new?
The <picture> tag and
therefore the Picture
module.
Vs: adaptive-image, ais cs_adaptive_image,
responsive_images and resp_img, rwdimages
So… what else is new?
The FlexSlider module
Like a views_slideshow but fully
reponsive and touch enabled.
It supports the picture module, too.
So… what else is new?
•
•
•
•
fit_text
fitvids
responsive_embeds
backstretch *
Some you can check out later
1. HTML5 Boilerplate (http://h5bp.com)
2. Design Sketch Sheets
(http://jeremypalford.com/archjournal/responsive-web-design-sketch-sheets)
3. GoldenGridSystem.com
4. Foldy960
(http://github.com/davatron5000/Foldy960)
5. FitText (http://fittextjs.com/)
Some you can check out later
6. 320 and up
(http://stuffandnonsense.co.uk/projects/32
0andup)
7. Gridless
(http://thatcoolguy.github.com/gridlessboilerplate)
8. Skeleton (http://www.getskeleton.com/)
9. ResizeMyBrowser.com
10.Responsive Design Testing
(http://mattkersley.com/responsive)
Homework
• http://www.w3.org/TR/css3-mediaqueries.
• https://developer.mozilla.org/en/CSS/Media_qu
eries
• https://github.com/fourkitchens/train-rwd
(via @FourKitchens’ @rupl)
• http://www.leveltendesign.com/blog/markcarver/responsive-drupal-theming-done-rightway-least-now-anyway
Credits
•My first approach to RWD
was at a training given by the
folks at Four Kitchens
•Make sure you check out
their training programs
•http://fourkitchens.com
Questions? Comments?
Rob Montero
• dgo.to/@rmontero
• @rmonteroo
• /in/rmontero
Email: rob@achieveinternet.com
launch with confidence
Thank you!
Demo Time!
We will be demoing a couple of examples,
one will be plain HTML5 + CSS using h5bp
and the other will be similar but using
Drupal.
If you want to play with this at home, feel
free to download the resources at:
https://github.com/fourkitchens/train-rwd
Download