flourish2011

95
Mark Meeker / Flourish! 2011 / Chicago, IL / April 2, 2011 REAL WORLD WEB DEVELOPMENT Image: http://earthobservatory.nasa.gov/IOTD/view.php?id=896

Upload: mark-meeker

Post on 20-Jan-2015

1.754 views

Category:

Technology


0 download

DESCRIPTION

The browser has been called the "most hostile software developmentenvironment imaginable." While at the same time, the ubiquity of thebrowser is exactly what makes a web application so powerful. A goodweb application is designed to run everywhere and for everyone. Todaythat means supporting more browsers on more devices than any time inhistory. This session will explore the challenges (and fun) ofbuilding sites in a multi-platform and multi-device world while still enabling features of the Open Web like HTML5 and CSS3.

TRANSCRIPT

Page 1: Flourish2011

Mark Meeker / Flourish! 2011 / Chicago, IL / April 2, 2011

REAL WORLD WEB D E V E L O P M E N T

Image: http://earthobservatory.nasa.gov/IOTD/view.php?id=896

Page 2: Flourish2011

How to build web sites and applications that work for everyone and I do mean everyone - any browser, any OS (which really means anything non-Windows), small screens, no keyboard, with cookies blocked, disabled JavaScript, blind, colorblind, thinks Flash is evil, thinks Silverlight is even worse, uses an old browser, stuck on a really slow connection (or is an AT&T customer), or only uses their thumb. And do it in a way that you can start using all the new and cool stuff available with the Open Web Platform and HTML5.

Alternate Title:

Page 3: Flourish2011
Page 4: Flourish2011
Page 5: Flourish2011

”-Tim Berners-Lee

The primary design principle underlying the Web’s usefulness and growth is universality. The Web should be usable by people with disabilities. It must work with any form of information, be it a document or a point of data, and information of any quality—from a silly tweet to a scholarly paper. And it should be accessible from any kind of hardware that can connect to the Internet: stationary or mobile, small screen or large.

Page 6: Flourish2011

“”

- Douglas Crockford

Browsers are the most hostile software engineering environment possible.

Page 7: Flourish2011

‣ Current state of the browser space

‣ What’s about to change

‣ A bit of history

‣ How to approach the future

‣ Impact on mobile

‣ Resources

Agenda

Page 8: Flourish2011

Current State

Page 9: Flourish2011
Page 10: Flourish2011
Page 12: Flourish2011

1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011

Source: http://meyerweb.com/eric/browsers/timeline-structured.html

Page 13: Flourish2011
Page 14: Flourish2011

http://www.geek.com/articles/mobile/android-ecosystem-seen-through-the-lens-of-tweetdeck-20101019/

Page 15: Flourish2011

Speed?

Size?

Capabilities?

Page 16: Flourish2011

What’s About to Change

Page 17: Flourish2011

http://blog.mozilla.com/blog/2011/03/25/the-first-48-hours-of-mozilla-firefox-4/

Page 26: Flourish2011

‣ New Tags

‣ Web Forms 2.0 (new input field types)

‣ Multimedia (audio and video)

‣ 2D and 3D Drawings (Canvas and WebGL)

HTML

Page 27: Flourish2011
Page 29: Flourish2011

‣ Selectors

‣ Typography

‣ Visuals (rounded corners, gradients)

‣ Transitions and animations

CSS

Page 30: Flourish2011

‣ New Selectors

‣ Client Side Storage

‣ Web Workers

‣ Drag and Drop API

‣ Geolocation

JavaScript

Page 31: Flourish2011

A Bit of History

Page 32: Flourish2011
Page 33: Flourish2011
Page 34: Flourish2011
Page 35: Flourish2011

“”

-Tim Berners-Lee

In '93 to '94, every browser had its own flavor of HTML. So it was very difficult to know what you could put in a Web page and reliably have most of your readership see it.

Page 36: Flourish2011

VS.

Page 41: Flourish2011

Mozilla/3.0 (compatible; MSIE 3.0; Windows NT 5.0)

IE 3.0 User Agent String

Page 42: Flourish2011

Approaches for the Future

Page 43: Flourish2011

Approaches for the FutureVDangerous

Page 44: Flourish2011

http://www.useragentstring.com

Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.8pre) Gecko/20071015 Firefox/2.0.0.7 Navigator/9.0

Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)

Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27

Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.17 (KHTML, like Gecko) Chrome/11.0.654.0 Safari/534.17

Page 45: Flourish2011

Opera/9.80 (Macintosh; Intel Mac OS X; U; en) Presto/2.2.15 Version/10.00

Source: http://dev.opera.com/articles/view/opera-ua-string-changes/

Version 10.0

Page 49: Flourish2011

“”

- @csssquirrel

“This site works best in Safari 4” is ok where “This site works best in IE4” wasn’t?!? Open standards or double standards?

Page 53: Flourish2011

photo: http://www.flickr.com/photos/goldfishsnaps/2830876853/ quotes: http://forabeautifulweb.com/blog/about/fearful

I hope CSS3 will be a standard in the near future, right now you cant really use anything of it ’cause not every browser supports it.

I think till every browser is somewhat close to being the same (render wise), we’ll be stuck working to get the lowest common css version working.

I can’t wait to start using the new CSS3 standard, but I don’t think we can start just yet. Especially when IE isn’t supported in some of these.

Considering that half the population still uses IE6, I won’t be implementing CSS3 anytime soon.

Page 55: Flourish2011

Approaches for the FutureVBetter

Page 56: Flourish2011

Do websites need to look exactly the same in every browser?

Page 57: Flourish2011

http://dowebsitesneedtolookexactlythesameineverybrowser.com

Page 61: Flourish2011
Page 62: Flourish2011

‣ Start with basic HTML

‣ Add CSS styles (but work ok without)

‣ Add JavaScript (but work ok without)

Progressive Enhancement

Page 67: Flourish2011

‣ A-Grade: Known Knowns

‣ C-Grade: Known Unknowns

‣ X-Grade: Unknown Unknowns

Graded Browser Support

Page 70: Flourish2011

‣ Check for a capability before using it

‣ Avoids browser detection

Feature Detection

Page 73: Flourish2011

Mobile

Page 74: Flourish2011
Page 75: Flourish2011

“”

- Joaquin Lippincott

Devices really should be treated as a spectrum (based on capabilities) rather than put into a mobile vs. desktop bin.

Page 76: Flourish2011

”- John Allsopp

We control which designers know in the print medium, and often desire in the web medium, is simply a function of the limitation of the printed page. We should embrace the fact that the web doesn’t have the same constraints, and design for this flexibility.

Page 79: Flourish2011

http://mobiforge.com/designing/story/effective-design-multiple-screen-sizes

Page 80: Flourish2011

‣ Serve a single version for all devices / screens

‣ Modify layout, image sizes, functionality

‣ Uses “media queries”

‣ Similar concept to print stylesheets

Responsive Design

Page 81: Flourish2011

1024 x 768

320 x 480

Page 86: Flourish2011

Resources

Page 87: Flourish2011

‣ Firebug plugin for Firefox

‣ Chrome Developer Tools

‣ Safari Web Inspector

‣ IE Developer Tools (F12)

‣ Opera Dragonfly

Tools

Page 88: Flourish2011

‣ Fiddler (Windows)

‣ Charles (Mac)

‣ HttpFox (firefox add-on)

Tools

Page 89: Flourish2011

‣ crossbrowsertesting.org

‣ IE Application Compatibility Images

‣ Virtual Machines

‣ Phone Emulators

‣ Keynote MITE

Cross Browser Testing

Page 92: Flourish2011

Designing with Progressive EnhancementNew Riders Press

Designing with Web StandardsJeffery Zeldman

HTML5 for Web DesignersJeremy Keith (abookapart.com)

CSS3 for Web DesignersDan Cederholm (abookapart.com)

Page 94: Flourish2011
Page 95: Flourish2011

Licensed under a Creative Commons attribution license