SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Better Webs Building Better Webs and Web Applications OrganicallyDavid Eldridge
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Introduction Shawnee County Webmaster Support ASP.NET developers for specialized apps. Maintain www.snco.us with HTML, CSS, JavaScript and legacy ASP A Federal Webmaster (KSARNG/OSS) Began learning standards/accessibility Fed: Standards or Die! Good beginning I always use them
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Overview Introduction Accessibility SEO, Semantics, Separation and Standards Performance Considerations Return on Investment (ROI) Questions and Housekeeping
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Inseparability SEO, semantics, access/accessibility, etc. are like yarn on a sweater: Carefully interwoven Indiscernibly disparate Separating these topics can be difficultDon’t do it: they work together well
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Accessibility:Some Assumptions Bad Word. Very Expensive. Low ROI.
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Access:Not Just Accessibility What it’s not Protection(against those with disabilities) What it is UA-appropriate Flexible Free Like speech Like beer
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Access:for People Screen Paper Screen readers Mobile/handheld/phone/PDA Non-standard devices DOM—etc.
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Access:for Machines Educational/Industrial Data mining Search Engines [Spam bots, too: sorry ] DOM—etc.
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Access:Document Object Model Ad hoc API Three simple examples: Web Clips—Safari 3+ Web Slices—IE8 (product site) Requires some add’l coding “FireClips”—FF3 (video|add-on) Other capabilities available and coming
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Access:DOM—Extensibility It can be traversed, styled, destroyed, created, and appended to dynamically JavaScript Style: CSS/XSLT Server-side code:  PHP and Ruby (on Rails) among others support this In the future in Visual Studio?Don’t be surprised, but don’t hold your breath.
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Access:User Interface Offer users early access to the whole page: e.g. “Go directly to content, or navigation.” Hide it from screen and print devices, etc. Offer it to mobile, non-standard devices, etc. JavaScript is not everywhere. Consider your audience.
Shawnee County's logo is protected by law. All other presentation content is in the public domain. SEO, Semantics and Standards Standards are BAD! Err
? Help dumb people (like designers) to excel Avoid Hard Knocks University Level the playing field
Shawnee County's logo is protected by law. All other presentation content is in the public domain. SEO, Semantics and StandardsContinued W3C, WHATWG, Ecma Int’l, WaSP, etc. Recognize trends Codify standards Educate and Inform Educators (mostly WaSP) Empower developers Guide browser makers

Shawnee County's logo is protected by law. All other presentation content is in the public domain. SEO, Semantics and StandardsBrowser Changes FF, Safari implementing Canvas and SVG IE8, FF, Safari implementing <audio> and <video> elements (good and bad): IE8/MS: MS formats  Safari/Apple: QuickTime formats  Firefox/Mozilla: Ogg formats 
Shawnee County's logo is protected by law. All other presentation content is in the public domain. SEO, Semantics and StandardsStandards ‘Decouple’ Documents Encourage document-level separation of Markup/Content ([X]HTML) Style (CSS/XSLT) Behavior (JavaScript)
Shawnee County's logo is protected by law. All other presentation content is in the public domain. SEO, Semantics and Standards Standards save work <video>/<audio> v. non-standard <embed> border-radius v. rounded corner JS/CSS/HTML mess :hover v. old bloated hover image effect CSS font declarations v. non-semantic <font> tag
Shawnee County's logo is protected by law. All other presentation content is in the public domain. SEO, Semantics and Standards Standards add previously unrealized functionality Microsoft’s XHR (XML HTTP Request):Now Ajax (or AJAX if you insist) Microsoft’s JPEG XR (HD Photo, previously Windows Media Photo): Better compression for even larger image files, both lossy and lossless
Organic SEOHow Standards and SEO Relate Semantic tagging informs content Good: head>title, h1, span.phone-number Poor: font, small, big, b, i, blink Metadata fills in the gaps with keywords, authorship, date and other information Dublin Core metadata is a good framework Shawnee County's logo is protected by law. All other presentation content is in the public domain.
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Organic SEOContinued Consider: <title>Banking Security ‱ BankTwo</title>
<h1>Security Procedures</h1> Or: <title>BankTwo</title>
<span style="font-size:16px;color:#333333;font-family:georgia;display:block;">Security</span>
Shawnee County's logo is protected by law. All other presentation content is in the public domain. SemanticsInforming Data Framework for categorization and the DOM: h1-h6, dl, dt, dd, ol, ul, li, dfn, abbr, p, address Classes (and IDs) further augment good semantics abbr.acronym, ol.contents, span.phone-work-voice, span.name-last, ul.ingredients, ol.instructions, div#content, div#footer-legal
Shawnee County's logo is protected by law. All other presentation content is in the public domain. SemanticsInforming Data Semantics help us and machines cull data: Widgets: clips, slices etc. Microformatslike hCard, hCalendar, hAtom and hReview Google now uses RDFa/hReview and hCard You don’t need to pioneer these technologies Google took years to jump on microformats Firefox didn’t get over20% market in a day But folks are using these now All 3 big browsers use Web Slices/Clips
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Brass Tacks:Get out of Line: Use the DOM Standards make using JavaScript, DOM scripting and Ajax easier and better It eases maintenance Less inline code It keeps code legible
 Again, less incline code
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Brass Tacks:Get out of Line: Use the DOM It extends easily Classes, ID’s and the DOM make good hooks for JS and style At best, they require a script tag More often they will also need more classes, ids and/or elements. It fails well Users don’t miss it when it’s gone(Everything still works)
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Brass Tacks:JavaScript and Accessibility Some users and UAs don’t see JavaScript fire: Screen readers Audibly indicating DOM-scripting and Ajax changes through screen readers is a booger. Some UAs neglect it; others handle it poorly. Those behind corporate firewalls Some mobile UAs Others with JS disabled (purposefully or not)
Shawnee County's logo is protected by law. All other presentation content is in the public domain. SemanticsCost and Value Building sloppy code is cheap Maintaining it isn’t: I know. Inline style (and event handlers) create larger files, and make clean-up tedious Semantics offer ad hoc documentation
Shawnee County's logo is protected by law. All other presentation content is in the public domain. SemanticsWhy Not? Learning curve? Yes. Code Bloat? No
Consider another simple example.
Shawnee County's logo is protected by law. All other presentation content is in the public domain. SemanticsWhy Not? HTML3 and earlier <table style="color:#555;background-color:#eee;border:1px #333;vertical-align:bottom; "
>
<tr><td style="text-align:right;font-family:consolas,'andalemono',mono;">785.555.1212</td></tr></table>
Shawnee County's logo is protected by law. All other presentation content is in the public domain. SemanticsWhy Not? HTML4, HTML5, XTHML <table class="phone-chart"
>
<tr><td class="phone-work-fax">785.555.1212</td></tr></table>
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Brass Tacks Some practical implementation examples and ideas.
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Brass Tacks:Don’t use XHTML The popular XHTML implementation is incomplete/incorrect. It’s incorrect to send it as "text/html", It should be "application/xhtml+xml" It’s treated by most browsers as tag soup Have you ever seen xhtml fail like an XML feed would? IE6-8 downloads well-formed XHTML like a binary Consider Ian Hickson’s warning, against the improper implementation of XHTML.
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Brass Tacks:Character Encoding Right after the head, even before <title>: make sure the title and all after are properly encoded It’s important for good data and security
 For display You donñ€ℱt want to see that. For good capture and security: especially with intĂ©rñatiönal users
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Brass Tacks:Character Encoding Unless you have particular needs use UTF-8 <!DOCTYPE HTML
><html lang="en-US"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Hello, World</title>
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Brass Tacks:JavaScript Bottlenecks HTTP/1.1 allows multiple persistent connections. Modern browsers load multiple resources (text, image, audio, etc.) at once: Without manipulation, UAs don’t allow over two scripts to pull in at once. When able, load scripts last (i.e. before </body>), or use the onload event handler (or similar device) to build your script request dynamically at full load.
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Brass Tacks:CSS Bottlenecks Make CSS external (usu. automatic in VS) But if not, avoid using the @import command in <style> tags, as it causes problems with concurrent downloading in some browsers Place it as soon after the title as possible: <!doctype
>
<title>I am a title</title><link rel="stylesheet"/>
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Brass Tacks:More JS Considerations Be aware of VS controls that generate non-standard mark-up: e.g. ListBox, DropDownList, AdRotator and more. As our DBA always reminds us, never trust the client (device).
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Brass Tacks:More JS Considerations The JS pseudo-protocol is not a protocol
 If you use it or inline event handlers with href="#", the event will not fire in some cases, leaving users bewildered.
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Conclusion:ROI Ease of extension Value of data: contentis more informed Natural/Accidental/Organic SEO Faster page loads/decreased server load Greater user access/cullability
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Conclusion:Last Things I won’t be there to blame when your app fails And, they’ll laugh at you for listening to a designer Standards are usually optimal: but not always Standards change: so don’t follow blindly If they don’t help now, they may help later Make your boss happy: the food will follow
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Questions? No? Good.
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Questions?
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Resources and Tools Firefox: mozilla.com/firefox Firebug: getfirebug.com Developer’s Toolbar: tr.im/ffwdtb Think Firefox Web Developer’s Toolbar (ffwdtb) Yslow for Firebug: tr.im/yslow Get IE8! It’s out: tr.im/getie8 More available at www.snco.us/?dev
Shawnee County's logo is protected by law. All other presentation content is in the public domain. Contact Please send any more questions todavid.eldridge@snco.us785.233.8200x4497tr.im/rgum For this presentation and more visitdev.goodbooksfree.comIt’s sparse now
there should be more later.

Weitere Àhnliche Inhalte

Ähnlich wie Buildling Better Webs

Websites Unlimited - Pay Monthly Websites
Websites Unlimited - Pay Monthly WebsitesWebsites Unlimited - Pay Monthly Websites
Websites Unlimited - Pay Monthly Websiteswebsiteunlimited
 
How To Build An Accessible Web Application
How To Build An Accessible Web ApplicationHow To Build An Accessible Web Application
How To Build An Accessible Web ApplicationDennis Lembree
 
Front End Lecture 1.pptx
Front End Lecture 1.pptxFront End Lecture 1.pptx
Front End Lecture 1.pptxmalise2997
 
Decoupled cms sunshinephp 2014
Decoupled cms sunshinephp 2014Decoupled cms sunshinephp 2014
Decoupled cms sunshinephp 2014Lukas Smith
 
Rails Girls - Introduction to HTML & CSS
Rails Girls - Introduction to HTML & CSSRails Girls - Introduction to HTML & CSS
Rails Girls - Introduction to HTML & CSSTimo Herttua
 
Angular js mobile jsday 2014 - Verona 14 may
Angular js mobile   jsday 2014 - Verona 14 mayAngular js mobile   jsday 2014 - Verona 14 may
Angular js mobile jsday 2014 - Verona 14 mayLuciano Amodio
 
Developing apps on Maemo with Nokia Web Runtime
Developing apps on Maemo with Nokia Web RuntimeDeveloping apps on Maemo with Nokia Web Runtime
Developing apps on Maemo with Nokia Web Runtimesanttuahonen
 
Architecture of RIA from JAOO
Architecture of RIA from JAOOArchitecture of RIA from JAOO
Architecture of RIA from JAOOJosh Holmes
 
Responsive ui
Responsive uiResponsive ui
Responsive uiRan Wahle
 
Software Development Trends 2010-2011
Software Development Trends 2010-2011Software Development Trends 2010-2011
Software Development Trends 2010-2011Charalampos Arapidis
 
14600 introduction to web design
14600 introduction to web design14600 introduction to web design
14600 introduction to web designraj063599
 
wcm domino
wcm dominowcm domino
wcm dominodominion
 
HTML5 Technical Executive Summary
HTML5 Technical Executive SummaryHTML5 Technical Executive Summary
HTML5 Technical Executive SummaryGilad Khen
 
Best And Worst Practices Building Ria with Adobe and Microsoft
Best And Worst Practices Building Ria with Adobe and MicrosoftBest And Worst Practices Building Ria with Adobe and Microsoft
Best And Worst Practices Building Ria with Adobe and MicrosoftJosh Holmes
 
Decoding the Web
Decoding the WebDecoding the Web
Decoding the Webnewcircle
 
Web and DAMS - NC ECHO Dig Institute
Web and DAMS - NC ECHO Dig InstituteWeb and DAMS - NC ECHO Dig Institute
Web and DAMS - NC ECHO Dig Instituteegore
 
Moving from Web 1.0 to Web 2.0
Moving from Web 1.0 to Web 2.0Moving from Web 1.0 to Web 2.0
Moving from Web 1.0 to Web 2.0Estelle Weyl
 

Ähnlich wie Buildling Better Webs (20)

Websites Unlimited - Pay Monthly Websites
Websites Unlimited - Pay Monthly WebsitesWebsites Unlimited - Pay Monthly Websites
Websites Unlimited - Pay Monthly Websites
 
How To Build An Accessible Web Application
How To Build An Accessible Web ApplicationHow To Build An Accessible Web Application
How To Build An Accessible Web Application
 
Front End Lecture 1.pptx
Front End Lecture 1.pptxFront End Lecture 1.pptx
Front End Lecture 1.pptx
 
Decoupled cms sunshinephp 2014
Decoupled cms sunshinephp 2014Decoupled cms sunshinephp 2014
Decoupled cms sunshinephp 2014
 
Rails Girls - Introduction to HTML & CSS
Rails Girls - Introduction to HTML & CSSRails Girls - Introduction to HTML & CSS
Rails Girls - Introduction to HTML & CSS
 
Angular js mobile jsday 2014 - Verona 14 may
Angular js mobile   jsday 2014 - Verona 14 mayAngular js mobile   jsday 2014 - Verona 14 may
Angular js mobile jsday 2014 - Verona 14 may
 
Developing apps on Maemo with Nokia Web Runtime
Developing apps on Maemo with Nokia Web RuntimeDeveloping apps on Maemo with Nokia Web Runtime
Developing apps on Maemo with Nokia Web Runtime
 
Architecture of RIA from JAOO
Architecture of RIA from JAOOArchitecture of RIA from JAOO
Architecture of RIA from JAOO
 
HTML5 and Joomla! 2.5 Template
HTML5 and Joomla! 2.5 TemplateHTML5 and Joomla! 2.5 Template
HTML5 and Joomla! 2.5 Template
 
Responsive ui
Responsive uiResponsive ui
Responsive ui
 
Software Development Trends 2010-2011
Software Development Trends 2010-2011Software Development Trends 2010-2011
Software Development Trends 2010-2011
 
14600 introduction to web design
14600 introduction to web design14600 introduction to web design
14600 introduction to web design
 
wcm domino
wcm dominowcm domino
wcm domino
 
HTML5 Technical Executive Summary
HTML5 Technical Executive SummaryHTML5 Technical Executive Summary
HTML5 Technical Executive Summary
 
Best And Worst Practices Building Ria with Adobe and Microsoft
Best And Worst Practices Building Ria with Adobe and MicrosoftBest And Worst Practices Building Ria with Adobe and Microsoft
Best And Worst Practices Building Ria with Adobe and Microsoft
 
Decoding the Web
Decoding the WebDecoding the Web
Decoding the Web
 
Web and DAMS - NC ECHO Dig Institute
Web and DAMS - NC ECHO Dig InstituteWeb and DAMS - NC ECHO Dig Institute
Web and DAMS - NC ECHO Dig Institute
 
Echo HTML5
Echo HTML5Echo HTML5
Echo HTML5
 
Moving from Web 1.0 to Web 2.0
Moving from Web 1.0 to Web 2.0Moving from Web 1.0 to Web 2.0
Moving from Web 1.0 to Web 2.0
 
php
phpphp
php
 

KĂŒrzlich hochgeladen

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 

KĂŒrzlich hochgeladen (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

Buildling Better Webs

  • 1. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Better Webs Building Better Webs and Web Applications OrganicallyDavid Eldridge
  • 2. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Introduction Shawnee County Webmaster Support ASP.NET developers for specialized apps. Maintain www.snco.us with HTML, CSS, JavaScript and legacy ASP A Federal Webmaster (KSARNG/OSS) Began learning standards/accessibility Fed: Standards or Die! Good beginning I always use them
  • 3. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Overview Introduction Accessibility SEO, Semantics, Separation and Standards Performance Considerations Return on Investment (ROI) Questions and Housekeeping
  • 4. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Inseparability SEO, semantics, access/accessibility, etc. are like yarn on a sweater: Carefully interwoven Indiscernibly disparate Separating these topics can be difficultDon’t do it: they work together well
  • 5. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Accessibility:Some Assumptions Bad Word. Very Expensive. Low ROI.
  • 6. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Access:Not Just Accessibility What it’s not Protection(against those with disabilities) What it is UA-appropriate Flexible Free Like speech Like beer
  • 7. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Access:for People Screen Paper Screen readers Mobile/handheld/phone/PDA Non-standard devices DOM—etc.
  • 8. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Access:for Machines Educational/Industrial Data mining Search Engines [Spam bots, too: sorry ] DOM—etc.
  • 9. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Access:Document Object Model Ad hoc API Three simple examples: Web Clips—Safari 3+ Web Slices—IE8 (product site) Requires some add’l coding “FireClips”—FF3 (video|add-on) Other capabilities available and coming
  • 10. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Access:DOM—Extensibility It can be traversed, styled, destroyed, created, and appended to dynamically JavaScript Style: CSS/XSLT Server-side code: PHP and Ruby (on Rails) among others support this In the future in Visual Studio?Don’t be surprised, but don’t hold your breath.
  • 11. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Access:User Interface Offer users early access to the whole page: e.g. “Go directly to content, or navigation.” Hide it from screen and print devices, etc. Offer it to mobile, non-standard devices, etc. JavaScript is not everywhere. Consider your audience.
  • 12. Shawnee County's logo is protected by law. All other presentation content is in the public domain. SEO, Semantics and Standards Standards are BAD! Err
? Help dumb people (like designers) to excel Avoid Hard Knocks University Level the playing field
  • 13. Shawnee County's logo is protected by law. All other presentation content is in the public domain. SEO, Semantics and StandardsContinued W3C, WHATWG, Ecma Int’l, WaSP, etc. Recognize trends Codify standards Educate and Inform Educators (mostly WaSP) Empower developers Guide browser makers

  • 14. Shawnee County's logo is protected by law. All other presentation content is in the public domain. SEO, Semantics and StandardsBrowser Changes FF, Safari implementing Canvas and SVG IE8, FF, Safari implementing <audio> and <video> elements (good and bad): IE8/MS: MS formats  Safari/Apple: QuickTime formats  Firefox/Mozilla: Ogg formats 
  • 15. Shawnee County's logo is protected by law. All other presentation content is in the public domain. SEO, Semantics and StandardsStandards ‘Decouple’ Documents Encourage document-level separation of Markup/Content ([X]HTML) Style (CSS/XSLT) Behavior (JavaScript)
  • 16. Shawnee County's logo is protected by law. All other presentation content is in the public domain. SEO, Semantics and Standards Standards save work <video>/<audio> v. non-standard <embed> border-radius v. rounded corner JS/CSS/HTML mess :hover v. old bloated hover image effect CSS font declarations v. non-semantic <font> tag
  • 17. Shawnee County's logo is protected by law. All other presentation content is in the public domain. SEO, Semantics and Standards Standards add previously unrealized functionality Microsoft’s XHR (XML HTTP Request):Now Ajax (or AJAX if you insist) Microsoft’s JPEG XR (HD Photo, previously Windows Media Photo): Better compression for even larger image files, both lossy and lossless
  • 18. Organic SEOHow Standards and SEO Relate Semantic tagging informs content Good: head>title, h1, span.phone-number Poor: font, small, big, b, i, blink Metadata fills in the gaps with keywords, authorship, date and other information Dublin Core metadata is a good framework Shawnee County's logo is protected by law. All other presentation content is in the public domain.
  • 19. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Organic SEOContinued Consider: <title>Banking Security ‱ BankTwo</title>
<h1>Security Procedures</h1> Or: <title>BankTwo</title>
<span style="font-size:16px;color:#333333;font-family:georgia;display:block;">Security</span>
  • 20. Shawnee County's logo is protected by law. All other presentation content is in the public domain. SemanticsInforming Data Framework for categorization and the DOM: h1-h6, dl, dt, dd, ol, ul, li, dfn, abbr, p, address Classes (and IDs) further augment good semantics abbr.acronym, ol.contents, span.phone-work-voice, span.name-last, ul.ingredients, ol.instructions, div#content, div#footer-legal
  • 21. Shawnee County's logo is protected by law. All other presentation content is in the public domain. SemanticsInforming Data Semantics help us and machines cull data: Widgets: clips, slices etc. Microformatslike hCard, hCalendar, hAtom and hReview Google now uses RDFa/hReview and hCard You don’t need to pioneer these technologies Google took years to jump on microformats Firefox didn’t get over20% market in a day But folks are using these now All 3 big browsers use Web Slices/Clips
  • 22. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Brass Tacks:Get out of Line: Use the DOM Standards make using JavaScript, DOM scripting and Ajax easier and better It eases maintenance Less inline code It keeps code legible
 Again, less incline code
  • 23. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Brass Tacks:Get out of Line: Use the DOM It extends easily Classes, ID’s and the DOM make good hooks for JS and style At best, they require a script tag More often they will also need more classes, ids and/or elements. It fails well Users don’t miss it when it’s gone(Everything still works)
  • 24. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Brass Tacks:JavaScript and Accessibility Some users and UAs don’t see JavaScript fire: Screen readers Audibly indicating DOM-scripting and Ajax changes through screen readers is a booger. Some UAs neglect it; others handle it poorly. Those behind corporate firewalls Some mobile UAs Others with JS disabled (purposefully or not)
  • 25. Shawnee County's logo is protected by law. All other presentation content is in the public domain. SemanticsCost and Value Building sloppy code is cheap Maintaining it isn’t: I know. Inline style (and event handlers) create larger files, and make clean-up tedious Semantics offer ad hoc documentation
  • 26. Shawnee County's logo is protected by law. All other presentation content is in the public domain. SemanticsWhy Not? Learning curve? Yes. Code Bloat? No
Consider another simple example.
  • 27. Shawnee County's logo is protected by law. All other presentation content is in the public domain. SemanticsWhy Not? HTML3 and earlier <table style="color:#555;background-color:#eee;border:1px #333;vertical-align:bottom; "
>
<tr><td style="text-align:right;font-family:consolas,'andalemono',mono;">785.555.1212</td></tr></table>
  • 28. Shawnee County's logo is protected by law. All other presentation content is in the public domain. SemanticsWhy Not? HTML4, HTML5, XTHML <table class="phone-chart"
>
<tr><td class="phone-work-fax">785.555.1212</td></tr></table>
  • 29. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Brass Tacks Some practical implementation examples and ideas.
  • 30. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Brass Tacks:Don’t use XHTML The popular XHTML implementation is incomplete/incorrect. It’s incorrect to send it as "text/html", It should be "application/xhtml+xml" It’s treated by most browsers as tag soup Have you ever seen xhtml fail like an XML feed would? IE6-8 downloads well-formed XHTML like a binary Consider Ian Hickson’s warning, against the improper implementation of XHTML.
  • 31. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Brass Tacks:Character Encoding Right after the head, even before <title>: make sure the title and all after are properly encoded It’s important for good data and security
 For display You donñ€ℱt want to see that. For good capture and security: especially with intĂ©rñatiönal users
  • 32. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Brass Tacks:Character Encoding Unless you have particular needs use UTF-8 <!DOCTYPE HTML
><html lang="en-US"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Hello, World</title>
  • 33. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Brass Tacks:JavaScript Bottlenecks HTTP/1.1 allows multiple persistent connections. Modern browsers load multiple resources (text, image, audio, etc.) at once: Without manipulation, UAs don’t allow over two scripts to pull in at once. When able, load scripts last (i.e. before </body>), or use the onload event handler (or similar device) to build your script request dynamically at full load.
  • 34. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Brass Tacks:CSS Bottlenecks Make CSS external (usu. automatic in VS) But if not, avoid using the @import command in <style> tags, as it causes problems with concurrent downloading in some browsers Place it as soon after the title as possible: <!doctype
>
<title>I am a title</title><link rel="stylesheet"/>
  • 35. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Brass Tacks:More JS Considerations Be aware of VS controls that generate non-standard mark-up: e.g. ListBox, DropDownList, AdRotator and more. As our DBA always reminds us, never trust the client (device).
  • 36. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Brass Tacks:More JS Considerations The JS pseudo-protocol is not a protocol
 If you use it or inline event handlers with href="#", the event will not fire in some cases, leaving users bewildered.
  • 37. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Conclusion:ROI Ease of extension Value of data: contentis more informed Natural/Accidental/Organic SEO Faster page loads/decreased server load Greater user access/cullability
  • 38. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Conclusion:Last Things I won’t be there to blame when your app fails And, they’ll laugh at you for listening to a designer Standards are usually optimal: but not always Standards change: so don’t follow blindly If they don’t help now, they may help later Make your boss happy: the food will follow
  • 39. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Questions? No? Good.
  • 40. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Questions?
  • 41. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Resources and Tools Firefox: mozilla.com/firefox Firebug: getfirebug.com Developer’s Toolbar: tr.im/ffwdtb Think Firefox Web Developer’s Toolbar (ffwdtb) Yslow for Firebug: tr.im/yslow Get IE8! It’s out: tr.im/getie8 More available at www.snco.us/?dev
  • 42. Shawnee County's logo is protected by law. All other presentation content is in the public domain. Contact Please send any more questions todavid.eldridge@snco.us785.233.8200x4497tr.im/rgum For this presentation and more visitdev.goodbooksfree.comIt’s sparse now
there should be more later.
  • 43. Shawnee County's logo is protected by law. All other presentation content is in the public domain.