logging in or signing up web2 Woofer Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 44 Category: Entertainment License: All Rights Reserved Like it (0) Dislike it (0) Added: September 29, 2007 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript Slide1: Web 2.0 (Getting it Right the Second Time) Matt SweeneyWhere We’ve Been - WWW: Where We’ve Been - WWW “We should work toward a universal linked information system, in which generality and portability are more important than fancy graphics techniques and complex extra facilities.” – Tim Berners-Lee original WWW proposal <http://www.w3.org/History/1989/proposal.html> Where We’ve Been - HTML: Where We’ve Been - HTML 1992 - Tim Berners-Lee introduces HTML as “marked-up text to represent a hypertext document for transmission over the network” – HTML abstract “Authors can include limited presentation hints, and further control may eventually be possible via associated style sheets.” – HTML+ discussion document Where We’ve Been – HTML 1: Where We’ve Been – HTML 1 <a>, <p>, <h1>, <h2>, <h3>, <h4>, <h5>, <h6> <ul>, <dl>, <menu>, <dir> <plaintext>, <xmp>, <listing> <title>, <address>, <isIndex>Where We’ve Been – HTML 2.0: Where We’ve Been – HTML 2.0 1995 - HTML 2.0 working draft published as RFC1866 “a simple markup language used to create hypertext documents that are platform independent. HTML documents are SGML documents with generic semantics that are appropriate for representing information from a wide range of domains.” – HTML 2.0 abstract Where We’ve Been – HTML 2.0: Where We’ve Been – HTML 2.0 <a>, <p>, <h1>, <h2>, <h3>, <h4>, <h5>, <h6> <ul>, <dl>, <menu>, <dir>, <ol> <xmp>, <listing>, <pre> <title>, <address>, <isIndex> <form>, <input>, <textarea>, <option>, <select> <img> <strong>, <em> <cite>, <code>, <var>, <samp>, <blockquote> <b>, <tt>, <i>, <hr> <head>, <body>, <base> <br> Where We’ve Been – HTML 3.2: Where We’ve Been – HTML 3.2 1997 - HTML 3.2 proposed for “documents with generic semantics that are appropriate for representing information from a wide range of applications.” – HTML 3.2 abstract Where We’ve Been – HTML 3.2: Where We’ve Been – HTML 3.2 <a>, <p>, <h1>, <h2>, <h3>, <h4>, <h5>, <h6> <ul>, <dl>, <menu>, <dir> <xmp>, <listing>, <pre> <title>, <address>, <isIndex> <table>, <caption>, <th>, <td>, <tr> <form>, <input>, <textarea>, <option>, <select> <img> <strong>, <em> <cite>, <code>, <var>, <samp>, <blockquote> <b>, <tt>, <i>, <u>, <hr>, <strike>, <s>, <sup>, <sub>, <center>, <font>, <big>, <small> <head>, <body>, <base>, <style>, <script> <div> <map>, <applet> <br>, <hr> Where We’ve Been – HTML 4.01: Where We’ve Been – HTML 4.01 1998 - HTML proposal that “…supports more multimedia options, scripting languages, style sheets, better printing facilities, and documents that are more accessible to users with disabilities. … takes great strides towards the internationalization of documents, with the goal of making the Web truly World Wide.” – HTML 4.0 abstract Where We’ve Been – HTML 4.0: Where We’ve Been – HTML 4.0 <a>, <p>, <h1>, <h2>, <h3>, <h4>, <h5>, <h6> <ul>, <dl>, <ol> <menu>, <dir> <xmp>, <listing>, <pre> <title>, <address>, <isIndex> <table>, <caption>, <th>, <td>, <tr>, <col>, <colgroup>, <thead>, <tbody>, <tfoot> <form>, <input>, <textarea>, <option>, <select>, <fieldset>, <label>, <legend>, <button>, <optgroup> <img>, <map>, <applet>, <object> <strong>, <em> <cite>, <code>, <var>, <samp>, <blockquote>, <abbr>, <q>, <dfn>, < del>, <ins>, <param> <b>, <u>, <tt>, <i>, <strike>, <s>, <sup>, <sub>, <center>, <font>, <big>, <small> <head>, <body>, <base>, <style>, <script>, <noscript><frameset>, <frame>, <iframe>, <noframes> <div>, <span>, <br>Where We Are – Development: Where We Are – Development Cleaning up the past Simplifying markup layer Using CSS for presentation Making heavy use of JavascriptWhere We Are – Cleaning Up: Where We Are – Cleaning Up <table bgcolor=“#999999” border=0 cellpadding=0 cellspacing=0> <tr><td>•</td><td bgcolor=“#cccccc”><b><font face=“arial” size=“1”>News</font></b></td></tr> <tr><td>•</td><td><font face=“arial” size=“-1”<a href=“story.html”>Senate Approves Patriot act Renewal</a></font></td></tr> <tr><td>•</td><td><font face=“arial” size=“-1”<a href=‘story.html”>Mine Rescuers Still Waiting for Interviews</a></font></td></tr> <tr><td></td><td><font face=“verdana” size=“-2”><a href=“javascript:void(); window.open(‘more.html’)”>More news stories</a></font></td></tr> </table> Legacy markupWhere We Are – Cleaning Up: Where We Are – Cleaning Up <div id=“news” class=“clear”> <div class=“title”><b class=“graybg”>News</b></div> <div><a href=“#”><span class=“arial12”>Senate Approves Patriot act Renewal</span></a></div> <div><a href=”#”><span class=“arial12”>Mine Rescuers Still Waiting for Interviews </span></a></div> <div><a href=“#” class=“popup”><span class=“verdana10”>More news stories</a></span></div> </div> No betterWhere We Are – Cleaning Up: Where We Are – Cleaning Up <div id=“news”> <h2>News</h2> <ul> <li><a href=“story.html”>Senate Approves Patriot act Renewal</a></li> <li><a href=“story.html”>Mine Rescuers Still Waiting on Interviews</a></li> <li><em><a href=“more.html”>More news stories</a></em></li> </ul> </div> Much betterWhere We Are – Web 2.0: Where We Are – Web 2.0 Content sharing Open APIs Mixing code basesWhere We Are – Web 2.0?: Where We Are – Web 2.0? Semantic markup Progressive Enhancement (bottom up) Separation of concerns EncapsulationSemantics - HTML: Semantics - HTML Choose markup based on meaning Avoid presentation in markup (defer to CSS) Core functionality should not depend on JS Should not have to change between designs This is the “wireframe” for your application Semantics – ID Attribute: Semantics – ID Attribute Choose names that describe content Avoid presentational and behavioral names Should be meaningful without CSS or JS present Naming: Bad – “left-col”, “top-nav”, “redbox” Good – “nav”, “main”, “news”, “calendar” Semantics – ID Attribute: Semantics – ID Attribute Triple Duty: The ID Attribute HTML: <a href="http://www.my.yahoo.com#news">News</a> CSS: #news { border:1px solid #000; } Javascript: var news = document.getElementById('news'); Semantics – Classes: Semantics – Classes When to use: Extending semantics (Microformats) Supplementing selector support (“first-child”) Managing state (“selected”) Naming: Bad – “red”, “float”, “pad20”, “drag” Good – “error”, “date”, “review”, “calendar”Semantics – Example: Semantics – Example <div class=“title”>Today in the News</div> <span class=“error”>please correct the error</span> Meaning is lost without CSS Meaning is lost to screen reader, web crawlers <h2>Today in the News</h2> <strong class=“error”>please correct the error</strong> Meaningful at the markup level Leverages existing semantics (header, emphasis) Semantics – Why bother?: Semantics – Why bother? Markup is the foundation Search Engine Optimization Accessibility Simplifies styling and scripting CSS and JS rely heavily on elements and ID/class names Names and markup must live beyond presentation and behavior Semantics: Semantics Markup should standalone Should have meaning without styles or behavior Core functionality should not depend on Javascript (forms and links work) Choose names that will last Test: “Do the names make sense without CSS and JS?”Progressive Enhancement: Progressive Enhancement <form action=“video_search.php” id=“video”> <label for=“query”>Search for:</label> <input name=“query” id=“query” /> <input type=“submit” value=“get video” /> </form>Progressive Enhancement: Progressive Enhancement #video { background-color:#ccc; width:20em; } #video label { text-indent:-9999px; } #video input { font:120%/1.22 arial; }Progressive Enhancement: Progressive Enhancement var video = document.getElementById(‘video’); video.onsubmit = function() { sendForm(this); return false; };Progressive Enhancement: Progressive Enhancement Requires: Withholding CSS and JS from some agents Thoughtful markup and naming Not depending on JS for core tasks Testing without JSProgressive Enhancement: Progressive Enhancement Benefits: Works for ALL HTML readers Enables reuse and code sharing Functional prototype early in development Allows parallel tracks for design and development Simplifies debugging Simplifies maintenanceEncapsulation: Encapsulation Code needs to play nicely together Do not pollute global namespace (CSS, JS, attributes, etc.) Use descendent selectors Use JS namespaces Don’t invent your own markup Encapsulation - CSS: Encapsulation - CSS #news h2 { background:#dcdcdc; } #news h2 em { color:red; } #news li.selected { background:#999; } Encapsulation - JS: Encapsulation - JS Namespaces (YAHOO.util, dojo.bind) Avoid global variables Protect yourself from others Protect others from youPreparing for the Future: Preparing for the Future More HTML-enabled devices More media types (print, aural, screen, handheld, etc.) More code sharingPreparing for the Future: Preparing for the Future Assume only HTML support Do not depend on CSS for meaning Do not depend on JS for core functionality Cross these line reluctantly and thoughtfully Thanks!: Thanks! Have a nice day You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.
web2 Woofer Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 44 Category: Entertainment License: All Rights Reserved Like it (0) Dislike it (0) Added: September 29, 2007 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript Slide1: Web 2.0 (Getting it Right the Second Time) Matt SweeneyWhere We’ve Been - WWW: Where We’ve Been - WWW “We should work toward a universal linked information system, in which generality and portability are more important than fancy graphics techniques and complex extra facilities.” – Tim Berners-Lee original WWW proposal <http://www.w3.org/History/1989/proposal.html> Where We’ve Been - HTML: Where We’ve Been - HTML 1992 - Tim Berners-Lee introduces HTML as “marked-up text to represent a hypertext document for transmission over the network” – HTML abstract “Authors can include limited presentation hints, and further control may eventually be possible via associated style sheets.” – HTML+ discussion document Where We’ve Been – HTML 1: Where We’ve Been – HTML 1 <a>, <p>, <h1>, <h2>, <h3>, <h4>, <h5>, <h6> <ul>, <dl>, <menu>, <dir> <plaintext>, <xmp>, <listing> <title>, <address>, <isIndex>Where We’ve Been – HTML 2.0: Where We’ve Been – HTML 2.0 1995 - HTML 2.0 working draft published as RFC1866 “a simple markup language used to create hypertext documents that are platform independent. HTML documents are SGML documents with generic semantics that are appropriate for representing information from a wide range of domains.” – HTML 2.0 abstract Where We’ve Been – HTML 2.0: Where We’ve Been – HTML 2.0 <a>, <p>, <h1>, <h2>, <h3>, <h4>, <h5>, <h6> <ul>, <dl>, <menu>, <dir>, <ol> <xmp>, <listing>, <pre> <title>, <address>, <isIndex> <form>, <input>, <textarea>, <option>, <select> <img> <strong>, <em> <cite>, <code>, <var>, <samp>, <blockquote> <b>, <tt>, <i>, <hr> <head>, <body>, <base> <br> Where We’ve Been – HTML 3.2: Where We’ve Been – HTML 3.2 1997 - HTML 3.2 proposed for “documents with generic semantics that are appropriate for representing information from a wide range of applications.” – HTML 3.2 abstract Where We’ve Been – HTML 3.2: Where We’ve Been – HTML 3.2 <a>, <p>, <h1>, <h2>, <h3>, <h4>, <h5>, <h6> <ul>, <dl>, <menu>, <dir> <xmp>, <listing>, <pre> <title>, <address>, <isIndex> <table>, <caption>, <th>, <td>, <tr> <form>, <input>, <textarea>, <option>, <select> <img> <strong>, <em> <cite>, <code>, <var>, <samp>, <blockquote> <b>, <tt>, <i>, <u>, <hr>, <strike>, <s>, <sup>, <sub>, <center>, <font>, <big>, <small> <head>, <body>, <base>, <style>, <script> <div> <map>, <applet> <br>, <hr> Where We’ve Been – HTML 4.01: Where We’ve Been – HTML 4.01 1998 - HTML proposal that “…supports more multimedia options, scripting languages, style sheets, better printing facilities, and documents that are more accessible to users with disabilities. … takes great strides towards the internationalization of documents, with the goal of making the Web truly World Wide.” – HTML 4.0 abstract Where We’ve Been – HTML 4.0: Where We’ve Been – HTML 4.0 <a>, <p>, <h1>, <h2>, <h3>, <h4>, <h5>, <h6> <ul>, <dl>, <ol> <menu>, <dir> <xmp>, <listing>, <pre> <title>, <address>, <isIndex> <table>, <caption>, <th>, <td>, <tr>, <col>, <colgroup>, <thead>, <tbody>, <tfoot> <form>, <input>, <textarea>, <option>, <select>, <fieldset>, <label>, <legend>, <button>, <optgroup> <img>, <map>, <applet>, <object> <strong>, <em> <cite>, <code>, <var>, <samp>, <blockquote>, <abbr>, <q>, <dfn>, < del>, <ins>, <param> <b>, <u>, <tt>, <i>, <strike>, <s>, <sup>, <sub>, <center>, <font>, <big>, <small> <head>, <body>, <base>, <style>, <script>, <noscript><frameset>, <frame>, <iframe>, <noframes> <div>, <span>, <br>Where We Are – Development: Where We Are – Development Cleaning up the past Simplifying markup layer Using CSS for presentation Making heavy use of JavascriptWhere We Are – Cleaning Up: Where We Are – Cleaning Up <table bgcolor=“#999999” border=0 cellpadding=0 cellspacing=0> <tr><td>•</td><td bgcolor=“#cccccc”><b><font face=“arial” size=“1”>News</font></b></td></tr> <tr><td>•</td><td><font face=“arial” size=“-1”<a href=“story.html”>Senate Approves Patriot act Renewal</a></font></td></tr> <tr><td>•</td><td><font face=“arial” size=“-1”<a href=‘story.html”>Mine Rescuers Still Waiting for Interviews</a></font></td></tr> <tr><td></td><td><font face=“verdana” size=“-2”><a href=“javascript:void(); window.open(‘more.html’)”>More news stories</a></font></td></tr> </table> Legacy markupWhere We Are – Cleaning Up: Where We Are – Cleaning Up <div id=“news” class=“clear”> <div class=“title”><b class=“graybg”>News</b></div> <div><a href=“#”><span class=“arial12”>Senate Approves Patriot act Renewal</span></a></div> <div><a href=”#”><span class=“arial12”>Mine Rescuers Still Waiting for Interviews </span></a></div> <div><a href=“#” class=“popup”><span class=“verdana10”>More news stories</a></span></div> </div> No betterWhere We Are – Cleaning Up: Where We Are – Cleaning Up <div id=“news”> <h2>News</h2> <ul> <li><a href=“story.html”>Senate Approves Patriot act Renewal</a></li> <li><a href=“story.html”>Mine Rescuers Still Waiting on Interviews</a></li> <li><em><a href=“more.html”>More news stories</a></em></li> </ul> </div> Much betterWhere We Are – Web 2.0: Where We Are – Web 2.0 Content sharing Open APIs Mixing code basesWhere We Are – Web 2.0?: Where We Are – Web 2.0? Semantic markup Progressive Enhancement (bottom up) Separation of concerns EncapsulationSemantics - HTML: Semantics - HTML Choose markup based on meaning Avoid presentation in markup (defer to CSS) Core functionality should not depend on JS Should not have to change between designs This is the “wireframe” for your application Semantics – ID Attribute: Semantics – ID Attribute Choose names that describe content Avoid presentational and behavioral names Should be meaningful without CSS or JS present Naming: Bad – “left-col”, “top-nav”, “redbox” Good – “nav”, “main”, “news”, “calendar” Semantics – ID Attribute: Semantics – ID Attribute Triple Duty: The ID Attribute HTML: <a href="http://www.my.yahoo.com#news">News</a> CSS: #news { border:1px solid #000; } Javascript: var news = document.getElementById('news'); Semantics – Classes: Semantics – Classes When to use: Extending semantics (Microformats) Supplementing selector support (“first-child”) Managing state (“selected”) Naming: Bad – “red”, “float”, “pad20”, “drag” Good – “error”, “date”, “review”, “calendar”Semantics – Example: Semantics – Example <div class=“title”>Today in the News</div> <span class=“error”>please correct the error</span> Meaning is lost without CSS Meaning is lost to screen reader, web crawlers <h2>Today in the News</h2> <strong class=“error”>please correct the error</strong> Meaningful at the markup level Leverages existing semantics (header, emphasis) Semantics – Why bother?: Semantics – Why bother? Markup is the foundation Search Engine Optimization Accessibility Simplifies styling and scripting CSS and JS rely heavily on elements and ID/class names Names and markup must live beyond presentation and behavior Semantics: Semantics Markup should standalone Should have meaning without styles or behavior Core functionality should not depend on Javascript (forms and links work) Choose names that will last Test: “Do the names make sense without CSS and JS?”Progressive Enhancement: Progressive Enhancement <form action=“video_search.php” id=“video”> <label for=“query”>Search for:</label> <input name=“query” id=“query” /> <input type=“submit” value=“get video” /> </form>Progressive Enhancement: Progressive Enhancement #video { background-color:#ccc; width:20em; } #video label { text-indent:-9999px; } #video input { font:120%/1.22 arial; }Progressive Enhancement: Progressive Enhancement var video = document.getElementById(‘video’); video.onsubmit = function() { sendForm(this); return false; };Progressive Enhancement: Progressive Enhancement Requires: Withholding CSS and JS from some agents Thoughtful markup and naming Not depending on JS for core tasks Testing without JSProgressive Enhancement: Progressive Enhancement Benefits: Works for ALL HTML readers Enables reuse and code sharing Functional prototype early in development Allows parallel tracks for design and development Simplifies debugging Simplifies maintenanceEncapsulation: Encapsulation Code needs to play nicely together Do not pollute global namespace (CSS, JS, attributes, etc.) Use descendent selectors Use JS namespaces Don’t invent your own markup Encapsulation - CSS: Encapsulation - CSS #news h2 { background:#dcdcdc; } #news h2 em { color:red; } #news li.selected { background:#999; } Encapsulation - JS: Encapsulation - JS Namespaces (YAHOO.util, dojo.bind) Avoid global variables Protect yourself from others Protect others from youPreparing for the Future: Preparing for the Future More HTML-enabled devices More media types (print, aural, screen, handheld, etc.) More code sharingPreparing for the Future: Preparing for the Future Assume only HTML support Do not depend on CSS for meaning Do not depend on JS for core functionality Cross these line reluctantly and thoughtfully Thanks!: Thanks! Have a nice day