79
Date Navigation in Responsive Design by: Erick Arbé @erickarbe

Navigation in Responsive Design

Embed Size (px)

DESCRIPTION

This was from my presentation at CSS Dev Conf in Honolulu, HI on December 5th, 2012. This presentation covered the aspects of user experience in relation to responsive websites and how better navigation directly attributes to a better user experience. Examples of navigation patterns were presented and I also built a website to accompany this presentation: www.responsivenavigation.net

Citation preview

Page 1: Navigation in Responsive Design

Date

Navigation in Responsive Designby: Erick Arbé@erickarbe

Page 2: Navigation in Responsive Design

The Importance of Quality Navigation

Page 3: Navigation in Responsive Design

The Importance of Quality Navigation

• Links make the web, the web. So make them good.

Page 4: Navigation in Responsive Design

The Importance of Quality Navigation

• Links make the web, the web. So make them good.

• Can help define the user’s experience

Page 5: Navigation in Responsive Design

The Importance of Quality Navigation

• Links make the web, the web. So make them good.

• Can help define the user’s experience

• It goes hand in hand with your content strategy.

Page 6: Navigation in Responsive Design

“Poorly executed navigation can spell disaster for user experience.”

-Gene Crawford

Page 7: Navigation in Responsive Design
Page 8: Navigation in Responsive Design
Page 9: Navigation in Responsive Design

“Use mobile as an excuse to revisit your navigation.”

-Brad Frost

Page 10: Navigation in Responsive Design

Members Only Menu

Link to member data base- update profiles- interests- photo albums- member search- member blogs- vision- staff (email/phone)- bylaws- board of directors

Upcoming Events- Golf event sign up- Social Event sign up

NewsletterLink to handicaps/scoringNews flashes from staffCourse condition

- Tournament results- Tournament tee times- Special member meetings- Merchandise sales- Dining specials- Lost and found

Calendar of events- Current month- Next month- Key dates in future months

Picture gallery- Social

Golf

Public Menu

About Bear Creek- Location- Hilton Head Island- Hilton Head Plantation- Golf- Golf played as it was meant to be

--played year round--no tee times--no tipping

- Course layout--Rees Jones design--Going Green compliance--Audubon Certification --score card

- Instruction--teaching staff--practice areas

- Social Programs- Other- Mission/Vision- History- Staff- Pro Shop- Dining- Green Superintendent

Membership- Member Owned (non-property) Memberships- Resident- Non-Resident- Associate- Social

Contact UsContact information Directions and Map

Page 11: Navigation in Responsive Design

Think GREEN

Page 12: Navigation in Responsive Design
Page 13: Navigation in Responsive Design
Page 14: Navigation in Responsive Design
Page 15: Navigation in Responsive Design

What’s trending?

Page 16: Navigation in Responsive Design
Page 17: Navigation in Responsive Design

Considerations

Page 18: Navigation in Responsive Design

“There is no hover state on touch devices.”

-Erick Arbé

Page 19: Navigation in Responsive Design

!important

<ul><li><a href=“/”>Home</a></li><li class=“has-submenu”><a href=“#”>About</a> <ul class=“sub-menu”> <li><a href=“/overview/”>Overview</a></li> <li><a href=“/details/”>Details</a></li> </ul></li><li><a href=“/contact/”>Contact</a></li></ul>

Page 20: Navigation in Responsive Design

Optimal Sizes for Touch Elements

Resources:http://msdn.microsoft.com/en-us/library/hh202869%28v=vs.92%29.aspxhttp://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/Characteristics/Characteristics.html

Page 21: Navigation in Responsive Design

Optimal Sizes for Touch Elements• Average human finger pad is

10-14mm

Resources:http://msdn.microsoft.com/en-us/library/hh202869%28v=vs.92%29.aspxhttp://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/Characteristics/Characteristics.html

Page 22: Navigation in Responsive Design

Optimal Sizes for Touch Elements• Average human finger pad is

10-14mm• Apple suggests a 44x44 points

(basically, 44px) touch target size (11.6mm)

Resources:http://msdn.microsoft.com/en-us/library/hh202869%28v=vs.92%29.aspxhttp://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/Characteristics/Characteristics.html

Page 23: Navigation in Responsive Design

Optimal Sizes for Touch Elements• Average human finger pad is

10-14mm• Apple suggests a 44x44 points

(basically, 44px) touch target size (11.6mm)

• Windows suggests a 9x9mm touch target size

Resources:http://msdn.microsoft.com/en-us/library/hh202869%28v=vs.92%29.aspxhttp://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/Characteristics/Characteristics.html

Page 24: Navigation in Responsive Design

Optimal Sizes for Touch Elements• Average human finger pad is

10-14mm• Apple suggests a 44x44 points

(basically, 44px) touch target size (11.6mm)

• Windows suggests a 9x9mm touch target size

• Nokia suggests a 7x7mm touch target size

Resources:http://msdn.microsoft.com/en-us/library/hh202869%28v=vs.92%29.aspxhttp://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/Characteristics/Characteristics.html

Page 25: Navigation in Responsive Design

Mobile

Top left photo courtesy of Luke Wroblewski | www.lukew.com

Page 26: Navigation in Responsive Design

Mobile

Top left photo courtesy of Luke Wroblewski | www.lukew.com

Page 27: Navigation in Responsive Design

Mobile

Top left photo courtesy of Luke Wroblewski | www.lukew.com

Page 28: Navigation in Responsive Design

Mobile

Top left photo courtesy of Luke Wroblewski | www.lukew.com

Page 29: Navigation in Responsive Design

Mobile

Top left photo courtesy of Luke Wroblewski | www.lukew.com

Page 30: Navigation in Responsive Design

Mobile

Top left photo courtesy of Luke Wroblewski | www.lukew.com

Page 31: Navigation in Responsive Design

Mobile

Top left photo courtesy of Luke Wroblewski | www.lukew.com

Page 32: Navigation in Responsive Design

Top left photo courtesy of Luke Wroblewski | www.lukew.com

Tablet

Page 33: Navigation in Responsive Design

Top left photo courtesy of Luke Wroblewski | www.lukew.com

Tablet

Page 34: Navigation in Responsive Design

Top left photo courtesy of Luke Wroblewski | www.lukew.com

Tablet

Page 35: Navigation in Responsive Design

Desktop

Page 36: Navigation in Responsive Design
Page 37: Navigation in Responsive Design

Examples

Page 38: Navigation in Responsive Design

• Very easy to implement• User knows where your nav is• No JS required

• Drawbacks:• Won’t work with sub-nav• Can look awkward at certain points

• Links:• http://www.inboxwarriors.co.uk/• http://responsivenavigation.net/examples/simple-

padding/

Simple / More Padding

Page 39: Navigation in Responsive Design

• Very easy to implement• User knows where your nav is• No JS required

• Drawbacks:• Won’t work with sub-nav• Can look awkward at certain points

• Links:• http://www.inboxwarriors.co.uk/• http://responsivenavigation.net/examples/simple-

padding/

Simple / More Padding

Page 40: Navigation in Responsive Design

• Very easy to implement• User knows where your nav is• No JS required

• Drawbacks:• Won’t work with sub-nav• Can look awkward at certain points

• Links:• http://www.inboxwarriors.co.uk/• http://responsivenavigation.net/examples/simple-

padding/

Simple / More Padding

Page 41: Navigation in Responsive Design

• Easy to touch - buttons are great size• Looks terrific & scales nicely• No JS required

• Drawbacks:• Can’t really work with sub-

navigation (unless you hide the sub-nav)

• Links:• http://css-tricks.com• http://traveloregon.com/

Grid / Percentage Based

Page 42: Navigation in Responsive Design

• Easy to touch - buttons are great size• Looks terrific & scales nicely• No JS required

• Drawbacks:• Can’t really work with sub-

navigation (unless you hide the sub-nav)

• Links:• http://css-tricks.com• http://traveloregon.com/

Grid / Percentage Based

Page 43: Navigation in Responsive Design

• Easy to touch - buttons are great size• Looks terrific & scales nicely• No JS required

• Drawbacks:• Can’t really work with sub-

navigation (unless you hide the sub-nav)

• Links:• http://css-tricks.com• http://traveloregon.com/

Grid / Percentage Based

Page 44: Navigation in Responsive Design

• Great concept - content first• Pretty easy to implement• Works across all browsers• “Give ‘em content, not menus”

• Drawbacks:• Provides an awkward jump to the

footer - especially on long pages• Usually need to maintain two sets of

navigation

• Links:• http://aneventapart.com/• http://responsivenavigation.net/examples/footer-

list/

Footer Nav

Page 45: Navigation in Responsive Design

• Great concept - content first• Pretty easy to implement• Works across all browsers• “Give ‘em content, not menus”

• Drawbacks:• Provides an awkward jump to the

footer - especially on long pages• Usually need to maintain two sets of

navigation

• Links:• http://aneventapart.com/• http://responsivenavigation.net/examples/footer-

list/

Footer Nav

Page 46: Navigation in Responsive Design

• Great concept - content first• Pretty easy to implement• Works across all browsers• “Give ‘em content, not menus”

• Drawbacks:• Provides an awkward jump to the

footer - especially on long pages• Usually need to maintain two sets of

navigation

• Links:• http://aneventapart.com/• http://responsivenavigation.net/examples/footer-

list/

Footer Nav

Page 47: Navigation in Responsive Design

• Can be super easy to implement• Easy to retro-fit an existing site• Works well with large menus• Uses native UI controls

• Drawbacks:• Not incredibly sexy (tough to style)• Usability is just OK• Requires JS

• Links:• http://tinynav.viljamis.com/• http://lukaszfiszer.github.com/selectnav.js/

Select Nav

Page 48: Navigation in Responsive Design

• Can be super easy to implement• Easy to retro-fit an existing site• Works well with large menus• Uses native UI controls

• Drawbacks:• Not incredibly sexy (tough to style)• Usability is just OK• Requires JS

• Links:• http://tinynav.viljamis.com/• http://lukaszfiszer.github.com/selectnav.js/

Select Nav

Page 49: Navigation in Responsive Design

• Can be super easy to implement• Easy to retro-fit an existing site• Works well with large menus• Uses native UI controls

• Drawbacks:• Not incredibly sexy (tough to style)• Usability is just OK• Requires JS

• Links:• http://tinynav.viljamis.com/• http://lukaszfiszer.github.com/selectnav.js/

Select Nav

Page 50: Navigation in Responsive Design

• Can be super easy to implement• Easy to retro-fit an existing site• Works well with large menus• Uses native UI controls

• Drawbacks:• Not incredibly sexy (tough to style)• Usability is just OK• Requires JS

• Links:• http://tinynav.viljamis.com/• http://lukaszfiszer.github.com/selectnav.js/

Select Nav

Page 51: Navigation in Responsive Design

• Just one button toggles the menu open

• Provides great UX - comfortable experience

• Drawbacks:• Usually requires JS• Doesn’t work well with large menus

(unless you hide the sub-nav)

• Links:• http://www.zurb.com/• http://www.starbucks.com

Simple Toggle

Page 52: Navigation in Responsive Design

• Just one button toggles the menu open

• Provides great UX - comfortable experience

• Drawbacks:• Usually requires JS• Doesn’t work well with large menus

(unless you hide the sub-nav)

• Links:• http://www.zurb.com/• http://www.starbucks.com

Simple Toggle

Page 53: Navigation in Responsive Design

• Just one button toggles the menu open

• Provides great UX - comfortable experience

• Drawbacks:• Usually requires JS• Doesn’t work well with large menus

(unless you hide the sub-nav)

• Links:• http://www.zurb.com/• http://www.starbucks.com

Simple Toggle

Page 54: Navigation in Responsive Design

• Accordion style menu• Great solution for large menus with

sub-nav• Provides good user experience

• Drawbacks:• Usually requires JS (but doesn’t need it)• Can push page content way down

• Links:• http://www.microsoft.com/en-us/default.aspx

Multi-Toggle / Accordion

Page 55: Navigation in Responsive Design

• Accordion style menu• Great solution for large menus with

sub-nav• Provides good user experience

• Drawbacks:• Usually requires JS (but doesn’t need it)• Can push page content way down

• Links:• http://www.microsoft.com/en-us/default.aspx

Multi-Toggle / Accordion

Page 56: Navigation in Responsive Design

• Accordion style menu• Great solution for large menus with

sub-nav• Provides good user experience

• Drawbacks:• Usually requires JS (but doesn’t need it)• Can push page content way down

• Links:• http://www.microsoft.com/en-us/default.aspx

Multi-Toggle / Accordion

Page 57: Navigation in Responsive Design

• Similar to Multi-Toggle, but is positioned at very top of content

• Provides nice user experience

• Drawbacks:• Usually requires JS (but doesn’t need it)• Can push page content too far down

if you have a large menu

• Links:• http://www.dorigati.it/en/

Slide Down

Page 58: Navigation in Responsive Design

• Similar to Multi-Toggle, but is positioned at very top of content

• Provides nice user experience

• Drawbacks:• Usually requires JS (but doesn’t need it)• Can push page content too far down

if you have a large menu

• Links:• http://www.dorigati.it/en/

Slide Down

Page 59: Navigation in Responsive Design

• Similar to Multi-Toggle, but is positioned at very top of content

• Provides nice user experience

• Drawbacks:• Usually requires JS (but doesn’t need it)• Can push page content too far down

if you have a large menu

• Links:• http://www.dorigati.it/en/

Slide Down

Page 60: Navigation in Responsive Design

• Facebook style off-canvas menu• Very slick when used with animation• Terrific UX

• Drawbacks:• Can’t be used with a huge menu

• Links:• https://github.com/torkiljohnsen/swipe• http://jasonweaver.name/lab/offcanvas/• http://srobbin.com/jquery-plugins/pageslide/

Off-Canvas / Page Slide

*Yes, I know this facebook screenshot is not a responsive site - it’s just an example of how this looks.

Page 61: Navigation in Responsive Design

• Facebook style off-canvas menu• Very slick when used with animation• Terrific UX

• Drawbacks:• Can’t be used with a huge menu

• Links:• https://github.com/torkiljohnsen/swipe• http://jasonweaver.name/lab/offcanvas/• http://srobbin.com/jquery-plugins/pageslide/

Off-Canvas / Page Slide

*Yes, I know this facebook screenshot is not a responsive site - it’s just an example of how this looks.

Page 62: Navigation in Responsive Design

• Facebook style off-canvas menu• Very slick when used with animation• Terrific UX

• Drawbacks:• Can’t be used with a huge menu

• Links:• https://github.com/torkiljohnsen/swipe• http://jasonweaver.name/lab/offcanvas/• http://srobbin.com/jquery-plugins/pageslide/

Off-Canvas / Page Slide

*Yes, I know this facebook screenshot is not a responsive site - it’s just an example of how this looks.

Page 63: Navigation in Responsive Design

• Facebook style off-canvas menu• Very slick when used with animation• Terrific UX

• Drawbacks:• Can’t be used with a huge menu

• Links:• https://github.com/torkiljohnsen/swipe• http://jasonweaver.name/lab/offcanvas/• http://srobbin.com/jquery-plugins/pageslide/

Off-Canvas / Page Slide

*Yes, I know this facebook screenshot is not a responsive site - it’s just an example of how this looks.

Page 64: Navigation in Responsive Design

• Keeps the responsive menu small by hiding the sub-nav

• You should use overview pages or on-page secondary navigation in conjunction with this

• Good for very large menus

• Drawbacks:• Lose direct access to the sub-nav on

your site

• Links:• http://bostonglobe.com/• http://www.starbucks.com

No Sub-Nav

Page 65: Navigation in Responsive Design

• Keeps the responsive menu small by hiding the sub-nav

• You should use overview pages or on-page secondary navigation in conjunction with this

• Good for very large menus

• Drawbacks:• Lose direct access to the sub-nav on

your site

• Links:• http://bostonglobe.com/• http://www.starbucks.com

No Sub-Nav

Page 66: Navigation in Responsive Design

• Keeps the responsive menu small by hiding the sub-nav

• You should use overview pages or on-page secondary navigation in conjunction with this

• Good for very large menus

• Drawbacks:• Lose direct access to the sub-nav on

your site

• Links:• http://bostonglobe.com/• http://www.starbucks.com

No Sub-Nav

Page 67: Navigation in Responsive Design

• Experimental right now• A fun solution that provides room

for style

• Drawbacks:• Requires CSS3 Animation support• Not great for large menus

• Links:• http://responsivenavigation.net/examples/the-flip/• http://codepen.io/erickarbe/pen/vAupf

The Page Flip

Page 68: Navigation in Responsive Design

• Experimental right now• A fun solution that provides room

for style

• Drawbacks:• Requires CSS3 Animation support• Not great for large menus

• Links:• http://responsivenavigation.net/examples/the-flip/• http://codepen.io/erickarbe/pen/vAupf

The Page Flip

Page 69: Navigation in Responsive Design

• Experimental right now• A fun solution that provides room

for style

• Drawbacks:• Requires CSS3 Animation support• Not great for large menus

• Links:• http://responsivenavigation.net/examples/the-flip/• http://codepen.io/erickarbe/pen/vAupf

The Page Flip

Page 70: Navigation in Responsive Design

• Experimental right now• A fun solution that provides room

for style

• Drawbacks:• Requires CSS3 Animation support• Not great for large menus

• Links:• http://responsivenavigation.net/examples/the-flip/• http://codepen.io/erickarbe/pen/vAupf

The Page Flip

Page 71: Navigation in Responsive Design

Additionally

Page 72: Navigation in Responsive Design

• Decent mobile browser support - not great though.

• Several known issues make it tough to justify using across the board.

• Pinch/Zoom works weird! Zoom needs to be disabled in order to get a better UX.

• I’m not a huge fan of using position: fixed in RWD.

• Good for applications, not websites (whereas websites are focused on content - applications focused on flow and action).

• http://remysharp.com/2012/05/24/issues-with-position-fixed-scrolling-on-ios/

Position: fixed

Page 73: Navigation in Responsive Design

Position: fixed

Page 74: Navigation in Responsive Design

Useful Snippets

* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

http://paulirish.com/2012/box-sizing-border-box-ftw/

http://html5please.com/#box-sizing

https://github.com/Schepp/box-sizing-polyfill

http://modernizr.com/ (.no-box-sizing)

Page 75: Navigation in Responsive Design

Useful Snippets

nav {max-height:55em;}

.container { max-width: 70em; }

http://jsfiddle.net/leaverou/zwvNY/ (Animating with max-height)

http://caniuse.com/minmaxwh

Page 76: Navigation in Responsive Design

Useful Snippets

$('#menu-toggle').click(function (e) {$('body').toggleClass('active');e.preventDefault();

});

Page 77: Navigation in Responsive Design

Useful Snippets

Adding proper classes to your nav might be tough if using a CMS.

Help with WordPress:https://gist.github.com/4192494

Page 78: Navigation in Responsive Design

Resourceshttp://responsivenavigation.net/

http://bradfrostweb.com/blog/web/responsive-nav-patterns/http://bradfrostweb.com/blog/web/complex-navigation-patterns-for-responsive-design/

http://mediaqueri.es/http://www.responsinator.comhttp://lab.maltewassermann.com/viewport-resizer/

http://tinynav.viljamis.com/http://lukaszfiszer.github.com/selectnav.js/

http://designshack.net/articles/css/code-a-responsive-navigation-menu/ (Fluid Grid Layout)

Something Fun:http://inspectelement.com/tutorials/pull-down-for-navigation-a-responsive-solution/

Page 79: Navigation in Responsive Design

Thank You!@erickarbe