professional web development tools - amazon web...

79
Professional Web Development Tools Christian Heilmann IPC Media Brownbag, London, England May 2009

Upload: others

Post on 25-Mar-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Professional Web Development Tools

Christian HeilmannIPC Media Brownbag, London, England May 2009

Page 2: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Almost every web site is broken.

Page 3: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

This is bad.

Page 4: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Unhappy visitors.

Page 5: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Unhappy developers.

Page 6: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Unhappy clients.

Page 7: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Reasons

Page 8: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Lack of communication

Page 9: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Development environment

Page 10: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Piecemeal development

Page 11: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Lack of handover and documentation

Page 12: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Interface to functionality

Page 13: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Solutions

Page 14: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Back to Basics

Page 15: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,
Page 16: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Task: Define type of search, enter search term,submit form.

Page 17: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,
Page 18: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,
Page 19: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Analyse what data you display, and find the easiest way to show it.

Then make it look the way you want it to.

Page 20: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Build things people want and know how to use.

Page 22: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Using technology for good

Page 23: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Screenshots of uk.video.yahoo.com with and without JavaScript

http://uk.video.yahoo.com/

Page 24: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,
Page 25: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Aiming for excellence.

Page 28: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Removing browsers

Page 30: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Making browsers behave.

Page 32: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Making browsers behave.

http://developer.yahoo.com/yui/reset/

Page 33: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

There is no such thing as an “unstyled page”.

Page 34: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,
Page 35: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,
Page 36: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,
Page 37: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,
Page 38: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

ctrl+z

Page 39: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,
Page 40: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,
Page 41: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,
Page 42: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,
Page 46: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Doing one job at a time.

Page 47: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

DOM access.

Page 49: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

YAHOO.example.autoGrid = function(){ var container = YAHOO.util.Dom.get('doc') || YAHOO.util.Dom.get('doc2') || YAHOO.util.Dom.get('doc4') || YAHOO.util.Dom.get('doc3') || YAHOO.util.Dom.get('doc-custom'); if(container){ var sidebar = null; var classes = container.className; if(classes.match(/yui-t[1-3]|yui-left/)){ var sidebar = 'left'; } if(classes.match(/yui-t[4-6]|yui-right/)){ var sidebar = 'right'; } function switchGrid(){ var currentWidth = YAHOO.util.Dom.getViewportWidth();

Page 50: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

if(currentWidth > 950){ container.id = 'doc2'; if(sidebar){ container.className = sidebar === 'left' ? 'yui-t3' : 'yui-t6'; } } if(currentWidth < 950){ container.id = 'doc'; if(sidebar){ container.className = sidebar === 'left' ? 'yui-t2' : 'yui-t5'; } } if(currentWidth < 760){ container.id = 'doc3'; if(sidebar){ container.className = sidebar === 'left' ? 'yui-t1' : 'yui-t4'; } }

Page 51: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

if(currentWidth < 600){ container.id = 'doc3'; container.className = ''; } }; switchGrid(); function throttle(method, scope) { clearTimeout(method._tId); method._tId= setTimeout(function(){ method.call(scope); }, 100); }; YAHOO.util.Event.on(window,'resize',function(){ throttle(YAHOO.example.autoGrid.switchGrid,window); });

}; return { switchGrid:switchGrid };}();

Page 52: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Predicting issues and fixing them.

Page 53: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

position:fixed is sexy!

Page 54: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,
Page 55: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,
Page 56: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

var YD = YAHOO.util.Dom; YAHOO.util.Event.onDOMReady(toggleMenu); YAHOO.util.Event.on(window,'resize',function(){ toggleMenu(); }); function toggleMenu(){ var sidebar = YD.getRegion('sb'); var browser = YD.getViewportHeight(); YD.setStyle('sb','position', browser < sidebar.bottom ? 'static' : 'fixed' ); }

Page 57: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Once fixed, let’s re-use.

Page 58: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

http://ui.jquery.com/

http://ui.jquery.com

Page 59: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,
Page 60: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Re-use means the ability to style differently.

Page 62: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Document your work.

Page 64: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Learn by example.

Page 66: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Allow for extension.

Page 67: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,
Page 68: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

//This is the first animation; this one will //fire when the button is clicked. var move = new YAHOO.util.Anim("animator", { left: {from:0, to:75} }, 1); //This is the second animation; it will fire //when the first animation is complete. var changeColor = new YAHOO.util.ColorAnim( "animator", { backgroundColor: {from:"#003366", to:"#ff0000"} }, 1); //Here's the chaining glue: We subscribe to the //first animation's onComplete event, and in //our handler we animate the second animation: move.onComplete.subscribe(function() { changeColor.animate(); });

Page 69: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

//Here we set up our YUI Button and subcribe to //its click event. When clicked, it will //animate the first animation: var start = new YAHOO.widget.Button("startAnim"); start.subscribe("click", function() { //reset the color value to the start so that //the animation can be run multiple times: YAHOO.util.Dom.setStyle("animator", "backgroundColor", "#003366"); move.animate(); });

Page 70: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

//You can also make use of the onStart and onTween //custom events in Animation; here, we'll log all //of changeColor's custom events and peek at their //argument signatures: changeColor.onStart.subscribe(function() { YAHOO.log("changeColor animation is starting.", "info", "example"); }); changeColor.onTween.subscribe(function(s, o) { YAHOO.log("changeColor onTween firing with these arguments: " + YAHOO.lang.dump(o), "info", "example"); }); changeColor.onComplete.subscribe(function(s, o) { YAHOO.log("changeColor onComplete firing with these arguments: " + YAHOO.lang.dump(o), "info", "example"); });

Page 71: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Know what is happening.

Page 72: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,
Page 73: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Monitor performance.

Page 74: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,
Page 75: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Test before you write.

Page 76: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,
Page 79: Professional Web Development Tools - Amazon Web Serviceschrisheilmann.s3.amazonaws.com/professional-web... · Professional Web Development Tools Christian Heilmann IPC Media Brownbag,

Christian Heilmann

http://icant.co.uk

http://wait-till-i.com

http://scriptingenabled.org

http://twitter.com/codepo8

Thanks.Any questions?