SlideShare a Scribd company logo
Shawnee County's logo is protected by law. All other presentation content is in the public domain.Better WebsBuilding Better Webs and Web Applications OrganicallyDavid Eldridge
Shawnee County's logo is protected by law. All other presentation content is in the public domain.IntroductionShawnee County WebmasterSupport ASP.NET developers for specialized apps.Maintain www.snco.us with HTML, CSS, JavaScript and legacy ASPA Federal Webmaster (KSARNG/OSS)Began learning standards/accessibilityFed: Standards or Die!Good beginningI always use them
Shawnee County's logo is protected by law. All other presentation content is in the public domain.OverviewIntroductionAccessibilitySEO, Semantics, Separation and StandardsPerformance ConsiderationsReturn on Investment (ROI)Questions and Housekeeping
Shawnee County's logo is protected by law. All other presentation content is in the public domain.InseparabilitySEO, semantics, access/accessibility, etc. are like yarn on a sweater:Carefully interwovenIndiscernibly disparateSeparating 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 AssumptionsBad 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 AccessibilityWhat it’s notProtection(against those with disabilities)What it isUA-appropriateFlexibleFreeLike speechLike beer
Shawnee County's logo is protected by law. All other presentation content is in the public domain.Access:for PeopleScreenPaperScreen readersMobile/handheld/phone/PDANon-standard devicesDOM—etc.
Shawnee County's logo is protected by law. All other presentation content is in the public domain.Access:for MachinesEducational/Industrial Data miningSearch 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 ModelAd hoc APIThree 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—ExtensibilityIt can be traversed, styled, destroyed, created, and appended to dynamicallyJavaScriptStyle: CSS/XSLTServer-side code: PHP and Ruby (on Rails) among others support thisIn 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 InterfaceOffer 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 StandardsStandards are BAD! Err…?Help dumb people (like designers) to excelAvoid Hard Knocks UniversityLevel the playing field
Shawnee County's logo is protected by law. All other presentation content is in the public domain.SEO, Semantics and StandardsContinuedW3C, WHATWG, Ecma Int’l, WaSP, etc.Recognize trendsCodify standardsEducate and Inform Educators (mostly WaSP)Empower developersGuide browser makers…
Shawnee County's logo is protected by law. All other presentation content is in the public domain.SEO, Semantics and StandardsBrowser ChangesFF, Safari implementing Canvas and SVGIE8, 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’ DocumentsEncourage document-level separation ofMarkup/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 StandardsStandards save work<video>/<audio> v. non-standard <embed>border-radius v. rounded corner JS/CSS/HTML mess:hover v. old bloated hover image effectCSS 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 StandardsStandards add previously unrealized functionalityMicrosoft’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 RelateSemantic tagging informs contentGood: head>title, h1, span.phone-numberPoor: font, small, big, b, i, blinkMetadata fills in the gaps with keywords, authorship, date and other informationDublin Core metadata is a good frameworkShawnee 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 SEOContinuedConsider:<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 DataFramework for categorization and the DOM:h1-h6, dl, dt, dd, ol, ul, li, dfn, abbr, p, addressClasses (and IDs) further augment good semanticsabbr.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 DataSemantics help us and machines cull data:Widgets: clips, slices etc.Microformatslike hCard, hCalendar, hAtom and hReviewGoogle now uses RDFa/hReview and hCardYou don’t need to pioneer these technologiesGoogle took years to jump on microformatsFirefox didn’t get over20% market in a dayBut folks are using these nowAll 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 DOMStandards make using JavaScript, DOM scripting and Ajax easier and betterIt eases maintenanceLess inline codeIt 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 DOMIt extends easilyClasses, ID’s and the DOM make good hooks for JS and styleAt best, they require a script tagMore often they will also need more classes, ids and/or elements.It fails wellUsers 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 AccessibilitySome users and UAs don’t see JavaScript fire:Screen readersAudibly indicating DOM-scripting and Ajax changes through screen readers is a booger.Some UAs neglect it; others handle it poorly.Those behind corporate firewallsSome mobile UAsOthers 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 ValueBuilding sloppy code is cheapMaintaining it isn’t: I know.Inline style (and event handlers) create larger files, and make clean-up tediousSemantics 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 TacksSome 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 XHTMLThe 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 soupHave you ever seen xhtml fail like an XML feed would?IE6-8 downloads well-formed XHTML like a binaryConsider 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 EncodingRight after the head, even before <title>:make sure the title and all after are properly encodedIt’s important for good data and security…For displayYou 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 EncodingUnless 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 BottlenecksHTTP/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 BottlenecksMake 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 browsersPlace 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 ConsiderationsBe 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 ConsiderationsThe 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:ROIEase of extensionValue of data: contentis more informedNatural/Accidental/Organic SEOFaster page loads/decreased server loadGreater user access/cullability
Shawnee County's logo is protected by law. All other presentation content is in the public domain.Conclusion:Last ThingsI won’t be there to blame when your app failsAnd, they’ll laugh at you for listening to a designerStandards are usually optimal: but not alwaysStandards change: so don’t follow blindlyIf they don’t help now, they may help laterMake 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 ToolsFirefox: mozilla.com/firefoxFirebug: getfirebug.comDeveloper’s Toolbar: tr.im/ffwdtbThink Firefox Web Developer’s Toolbar (ffwdtb)Yslow for Firebug: tr.im/yslowGet IE8! It’s out: tr.im/getie8More available at www.snco.us/?dev
Shawnee County's logo is protected by law. All other presentation content is in the public domain.ContactPlease send any more questions todavid.eldridge@snco.us785.233.8200x4497tr.im/rgumFor this presentation and more visitdev.goodbooksfree.comIt’s sparse now…there should be more later.

More Related Content

Similar to Buildling Better Webs (20)

Websites Unlimited - Pay Monthly Websites
Websites Unlimited - Pay Monthly WebsitesWebsites Unlimited - Pay Monthly Websites
Websites Unlimited - Pay Monthly Websites
websiteunlimited
 
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
Dennis Lembree
 
Front End Lecture 1.pptx
Front End Lecture 1.pptxFront End Lecture 1.pptx
Front End Lecture 1.pptx
malise2997
 
Decoupled cms sunshinephp 2014
Decoupled cms sunshinephp 2014Decoupled cms sunshinephp 2014
Decoupled cms sunshinephp 2014
Lukas Smith
 
Rails Girls - Introduction to HTML & CSS
Rails Girls - Introduction to HTML & CSSRails Girls - Introduction to HTML & CSS
Rails Girls - Introduction to HTML & CSS
Timo 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 may
Luciano 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 Runtime
santtuahonen
 
Architecture of RIA from JAOO
Architecture of RIA from JAOOArchitecture of RIA from JAOO
Architecture of RIA from JAOO
Josh Holmes
 
HTML5 and Joomla! 2.5 Template
HTML5 and Joomla! 2.5 TemplateHTML5 and Joomla! 2.5 Template
HTML5 and Joomla! 2.5 Template
Marvelic Engine Co., Ltd.
 
Responsive ui
Responsive uiResponsive ui
Responsive ui
Ran Wahle
 
Software Development Trends 2010-2011
Software Development Trends 2010-2011Software Development Trends 2010-2011
Software Development Trends 2010-2011
Charalampos Arapidis
 
14600 introduction to web design
14600 introduction to web design14600 introduction to web design
14600 introduction to web design
raj063599
 
wcm domino
wcm dominowcm domino
wcm domino
dominion
 
HTML5 Technical Executive Summary
HTML5 Technical Executive SummaryHTML5 Technical Executive Summary
HTML5 Technical Executive Summary
Gilad 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 Microsoft
Josh Holmes
 
Decoding the Web
Decoding the WebDecoding the Web
Decoding the Web
newcircle
 
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
egore
 
Echo HTML5
Echo HTML5Echo HTML5
Echo HTML5
Nathan Smith
 
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
Estelle Weyl
 
php
phpphp
php
bhuvana553
 
Websites Unlimited - Pay Monthly Websites
Websites Unlimited - Pay Monthly WebsitesWebsites Unlimited - Pay Monthly Websites
Websites Unlimited - Pay Monthly Websites
websiteunlimited
 
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
Dennis Lembree
 
Front End Lecture 1.pptx
Front End Lecture 1.pptxFront End Lecture 1.pptx
Front End Lecture 1.pptx
malise2997
 
Decoupled cms sunshinephp 2014
Decoupled cms sunshinephp 2014Decoupled cms sunshinephp 2014
Decoupled cms sunshinephp 2014
Lukas Smith
 
Rails Girls - Introduction to HTML & CSS
Rails Girls - Introduction to HTML & CSSRails Girls - Introduction to HTML & CSS
Rails Girls - Introduction to HTML & CSS
Timo 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 may
Luciano 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 Runtime
santtuahonen
 
Architecture of RIA from JAOO
Architecture of RIA from JAOOArchitecture of RIA from JAOO
Architecture of RIA from JAOO
Josh Holmes
 
Responsive ui
Responsive uiResponsive ui
Responsive ui
Ran Wahle
 
Software Development Trends 2010-2011
Software Development Trends 2010-2011Software Development Trends 2010-2011
Software Development Trends 2010-2011
Charalampos Arapidis
 
14600 introduction to web design
14600 introduction to web design14600 introduction to web design
14600 introduction to web design
raj063599
 
wcm domino
wcm dominowcm domino
wcm domino
dominion
 
HTML5 Technical Executive Summary
HTML5 Technical Executive SummaryHTML5 Technical Executive Summary
HTML5 Technical Executive Summary
Gilad 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 Microsoft
Josh Holmes
 
Decoding the Web
Decoding the WebDecoding the Web
Decoding the Web
newcircle
 
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
egore
 
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
Estelle Weyl
 

Recently uploaded (20)

Assuring Your SD-WAN to Deliver Unparalleled Digital Experiences
Assuring Your SD-WAN to Deliver Unparalleled Digital ExperiencesAssuring Your SD-WAN to Deliver Unparalleled Digital Experiences
Assuring Your SD-WAN to Deliver Unparalleled Digital Experiences
ThousandEyes
 
UiPath Automation Developer Associate 2025 Series - Career Office Hours
UiPath Automation Developer Associate 2025 Series - Career Office HoursUiPath Automation Developer Associate 2025 Series - Career Office Hours
UiPath Automation Developer Associate 2025 Series - Career Office Hours
DianaGray10
 
Master Logical Volume Management - RHCSA+.pdf
Master Logical Volume Management - RHCSA+.pdfMaster Logical Volume Management - RHCSA+.pdf
Master Logical Volume Management - RHCSA+.pdf
RHCSA Guru
 
A11y Webinar Series - Level Up Your Accessibility Game_ A11y Audit, WCAG, and...
A11y Webinar Series - Level Up Your Accessibility Game_ A11y Audit, WCAG, and...A11y Webinar Series - Level Up Your Accessibility Game_ A11y Audit, WCAG, and...
A11y Webinar Series - Level Up Your Accessibility Game_ A11y Audit, WCAG, and...
Julia Undeutsch
 
Jeremy Millul - A Junior Software Developer
Jeremy Millul - A Junior Software DeveloperJeremy Millul - A Junior Software Developer
Jeremy Millul - A Junior Software Developer
Jeremy Millul
 
The Gold Jacket Journey - How I passed 12 AWS Certs without Burning Out (and ...
The Gold Jacket Journey - How I passed 12 AWS Certs without Burning Out (and ...The Gold Jacket Journey - How I passed 12 AWS Certs without Burning Out (and ...
The Gold Jacket Journey - How I passed 12 AWS Certs without Burning Out (and ...
VictorSzoltysek
 
beginning_lambda_minimium_of_40_length.pptx
beginning_lambda_minimium_of_40_length.pptxbeginning_lambda_minimium_of_40_length.pptx
beginning_lambda_minimium_of_40_length.pptx
ShashankER1
 
Feichun_AS_NZS_1802_AS_NZS_2802_Mining_Cable_Catalogue.pdf
Feichun_AS_NZS_1802_AS_NZS_2802_Mining_Cable_Catalogue.pdfFeichun_AS_NZS_1802_AS_NZS_2802_Mining_Cable_Catalogue.pdf
Feichun_AS_NZS_1802_AS_NZS_2802_Mining_Cable_Catalogue.pdf
Anhui Feichun Special Cable Co., Ltd.
 
Leading a High-Stakes Database Migration
Leading a High-Stakes Database MigrationLeading a High-Stakes Database Migration
Leading a High-Stakes Database Migration
ScyllaDB
 
Artificial Intelligence (AI) Security, Attack Vectors, Defense Techniques, Et...
Artificial Intelligence (AI) Security, Attack Vectors, Defense Techniques, Et...Artificial Intelligence (AI) Security, Attack Vectors, Defense Techniques, Et...
Artificial Intelligence (AI) Security, Attack Vectors, Defense Techniques, Et...
Salman Baset
 
EIS-Manufacturing-AI–Product-Data-Optimization-Webinar-2025.pptx
EIS-Manufacturing-AI–Product-Data-Optimization-Webinar-2025.pptxEIS-Manufacturing-AI–Product-Data-Optimization-Webinar-2025.pptx
EIS-Manufacturing-AI–Product-Data-Optimization-Webinar-2025.pptx
Earley Information Science
 
LVM Management & Disaster Recovery - RHCSA+.pdf
LVM Management & Disaster Recovery - RHCSA+.pdfLVM Management & Disaster Recovery - RHCSA+.pdf
LVM Management & Disaster Recovery - RHCSA+.pdf
RHCSA Guru
 
Whitepaper-API-Design-Best-Practices. Prowess software services
Whitepaper-API-Design-Best-Practices. Prowess software servicesWhitepaper-API-Design-Best-Practices. Prowess software services
Whitepaper-API-Design-Best-Practices. Prowess software services
Prowess Software Services Inc
 
Teach the importance of logic (programming)in Computer Science and why it is ...
Teach the importance of logic (programming)in Computer Science and why it is ...Teach the importance of logic (programming)in Computer Science and why it is ...
Teach the importance of logic (programming)in Computer Science and why it is ...
Universidad Rey Juan Carlos
 
Fault-tolerant, distrbuted AAA architecture supporting connectivity disruption
Fault-tolerant, distrbuted AAA architecture supporting connectivity disruptionFault-tolerant, distrbuted AAA architecture supporting connectivity disruption
Fault-tolerant, distrbuted AAA architecture supporting connectivity disruption
Karri Huhtanen
 
What is Agnetic AI : An Introduction to AI Agents
What is Agnetic AI : An Introduction to AI AgentsWhat is Agnetic AI : An Introduction to AI Agents
What is Agnetic AI : An Introduction to AI Agents
Techtic Solutions
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
BrainSell Technologies
 
Beginners: Radio Frequency, Band and Spectrum (V3)
Beginners: Radio Frequency, Band and Spectrum (V3)Beginners: Radio Frequency, Band and Spectrum (V3)
Beginners: Radio Frequency, Band and Spectrum (V3)
3G4G
 
The History of Artificial Intelligence: From Ancient Ideas to Modern Algorithms
The History of Artificial Intelligence: From Ancient Ideas to Modern AlgorithmsThe History of Artificial Intelligence: From Ancient Ideas to Modern Algorithms
The History of Artificial Intelligence: From Ancient Ideas to Modern Algorithms
isoftreview8
 
Managing Changing Data with FME: Part 2 – Flexible Approaches to Tracking Cha...
Managing Changing Data with FME: Part 2 – Flexible Approaches to Tracking Cha...Managing Changing Data with FME: Part 2 – Flexible Approaches to Tracking Cha...
Managing Changing Data with FME: Part 2 – Flexible Approaches to Tracking Cha...
Safe Software
 
Assuring Your SD-WAN to Deliver Unparalleled Digital Experiences
Assuring Your SD-WAN to Deliver Unparalleled Digital ExperiencesAssuring Your SD-WAN to Deliver Unparalleled Digital Experiences
Assuring Your SD-WAN to Deliver Unparalleled Digital Experiences
ThousandEyes
 
UiPath Automation Developer Associate 2025 Series - Career Office Hours
UiPath Automation Developer Associate 2025 Series - Career Office HoursUiPath Automation Developer Associate 2025 Series - Career Office Hours
UiPath Automation Developer Associate 2025 Series - Career Office Hours
DianaGray10
 
Master Logical Volume Management - RHCSA+.pdf
Master Logical Volume Management - RHCSA+.pdfMaster Logical Volume Management - RHCSA+.pdf
Master Logical Volume Management - RHCSA+.pdf
RHCSA Guru
 
A11y Webinar Series - Level Up Your Accessibility Game_ A11y Audit, WCAG, and...
A11y Webinar Series - Level Up Your Accessibility Game_ A11y Audit, WCAG, and...A11y Webinar Series - Level Up Your Accessibility Game_ A11y Audit, WCAG, and...
A11y Webinar Series - Level Up Your Accessibility Game_ A11y Audit, WCAG, and...
Julia Undeutsch
 
Jeremy Millul - A Junior Software Developer
Jeremy Millul - A Junior Software DeveloperJeremy Millul - A Junior Software Developer
Jeremy Millul - A Junior Software Developer
Jeremy Millul
 
The Gold Jacket Journey - How I passed 12 AWS Certs without Burning Out (and ...
The Gold Jacket Journey - How I passed 12 AWS Certs without Burning Out (and ...The Gold Jacket Journey - How I passed 12 AWS Certs without Burning Out (and ...
The Gold Jacket Journey - How I passed 12 AWS Certs without Burning Out (and ...
VictorSzoltysek
 
beginning_lambda_minimium_of_40_length.pptx
beginning_lambda_minimium_of_40_length.pptxbeginning_lambda_minimium_of_40_length.pptx
beginning_lambda_minimium_of_40_length.pptx
ShashankER1
 
Leading a High-Stakes Database Migration
Leading a High-Stakes Database MigrationLeading a High-Stakes Database Migration
Leading a High-Stakes Database Migration
ScyllaDB
 
Artificial Intelligence (AI) Security, Attack Vectors, Defense Techniques, Et...
Artificial Intelligence (AI) Security, Attack Vectors, Defense Techniques, Et...Artificial Intelligence (AI) Security, Attack Vectors, Defense Techniques, Et...
Artificial Intelligence (AI) Security, Attack Vectors, Defense Techniques, Et...
Salman Baset
 
EIS-Manufacturing-AI–Product-Data-Optimization-Webinar-2025.pptx
EIS-Manufacturing-AI–Product-Data-Optimization-Webinar-2025.pptxEIS-Manufacturing-AI–Product-Data-Optimization-Webinar-2025.pptx
EIS-Manufacturing-AI–Product-Data-Optimization-Webinar-2025.pptx
Earley Information Science
 
LVM Management & Disaster Recovery - RHCSA+.pdf
LVM Management & Disaster Recovery - RHCSA+.pdfLVM Management & Disaster Recovery - RHCSA+.pdf
LVM Management & Disaster Recovery - RHCSA+.pdf
RHCSA Guru
 
Whitepaper-API-Design-Best-Practices. Prowess software services
Whitepaper-API-Design-Best-Practices. Prowess software servicesWhitepaper-API-Design-Best-Practices. Prowess software services
Whitepaper-API-Design-Best-Practices. Prowess software services
Prowess Software Services Inc
 
Teach the importance of logic (programming)in Computer Science and why it is ...
Teach the importance of logic (programming)in Computer Science and why it is ...Teach the importance of logic (programming)in Computer Science and why it is ...
Teach the importance of logic (programming)in Computer Science and why it is ...
Universidad Rey Juan Carlos
 
Fault-tolerant, distrbuted AAA architecture supporting connectivity disruption
Fault-tolerant, distrbuted AAA architecture supporting connectivity disruptionFault-tolerant, distrbuted AAA architecture supporting connectivity disruption
Fault-tolerant, distrbuted AAA architecture supporting connectivity disruption
Karri Huhtanen
 
What is Agnetic AI : An Introduction to AI Agents
What is Agnetic AI : An Introduction to AI AgentsWhat is Agnetic AI : An Introduction to AI Agents
What is Agnetic AI : An Introduction to AI Agents
Techtic Solutions
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
BrainSell Technologies
 
Beginners: Radio Frequency, Band and Spectrum (V3)
Beginners: Radio Frequency, Band and Spectrum (V3)Beginners: Radio Frequency, Band and Spectrum (V3)
Beginners: Radio Frequency, Band and Spectrum (V3)
3G4G
 
The History of Artificial Intelligence: From Ancient Ideas to Modern Algorithms
The History of Artificial Intelligence: From Ancient Ideas to Modern AlgorithmsThe History of Artificial Intelligence: From Ancient Ideas to Modern Algorithms
The History of Artificial Intelligence: From Ancient Ideas to Modern Algorithms
isoftreview8
 
Managing Changing Data with FME: Part 2 – Flexible Approaches to Tracking Cha...
Managing Changing Data with FME: Part 2 – Flexible Approaches to Tracking Cha...Managing Changing Data with FME: Part 2 – Flexible Approaches to Tracking Cha...
Managing Changing Data with FME: Part 2 – Flexible Approaches to Tracking Cha...
Safe Software
 

Buildling Better Webs

  • 1. Shawnee County's logo is protected by law. All other presentation content is in the public domain.Better WebsBuilding 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.IntroductionShawnee County WebmasterSupport ASP.NET developers for specialized apps.Maintain www.snco.us with HTML, CSS, JavaScript and legacy ASPA Federal Webmaster (KSARNG/OSS)Began learning standards/accessibilityFed: Standards or Die!Good beginningI always use them
  • 3. Shawnee County's logo is protected by law. All other presentation content is in the public domain.OverviewIntroductionAccessibilitySEO, Semantics, Separation and StandardsPerformance ConsiderationsReturn on Investment (ROI)Questions and Housekeeping
  • 4. Shawnee County's logo is protected by law. All other presentation content is in the public domain.InseparabilitySEO, semantics, access/accessibility, etc. are like yarn on a sweater:Carefully interwovenIndiscernibly disparateSeparating 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 AssumptionsBad 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 AccessibilityWhat it’s notProtection(against those with disabilities)What it isUA-appropriateFlexibleFreeLike speechLike beer
  • 7. Shawnee County's logo is protected by law. All other presentation content is in the public domain.Access:for PeopleScreenPaperScreen readersMobile/handheld/phone/PDANon-standard devicesDOM—etc.
  • 8. Shawnee County's logo is protected by law. All other presentation content is in the public domain.Access:for MachinesEducational/Industrial Data miningSearch 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 ModelAd hoc APIThree 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—ExtensibilityIt can be traversed, styled, destroyed, created, and appended to dynamicallyJavaScriptStyle: CSS/XSLTServer-side code: PHP and Ruby (on Rails) among others support thisIn 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 InterfaceOffer 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 StandardsStandards are BAD! Err…?Help dumb people (like designers) to excelAvoid Hard Knocks UniversityLevel the playing field
  • 13. Shawnee County's logo is protected by law. All other presentation content is in the public domain.SEO, Semantics and StandardsContinuedW3C, WHATWG, Ecma Int’l, WaSP, etc.Recognize trendsCodify standardsEducate and Inform Educators (mostly WaSP)Empower developersGuide browser makers…
  • 14. Shawnee County's logo is protected by law. All other presentation content is in the public domain.SEO, Semantics and StandardsBrowser ChangesFF, Safari implementing Canvas and SVGIE8, 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’ DocumentsEncourage document-level separation ofMarkup/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 StandardsStandards save work<video>/<audio> v. non-standard <embed>border-radius v. rounded corner JS/CSS/HTML mess:hover v. old bloated hover image effectCSS 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 StandardsStandards add previously unrealized functionalityMicrosoft’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 RelateSemantic tagging informs contentGood: head>title, h1, span.phone-numberPoor: font, small, big, b, i, blinkMetadata fills in the gaps with keywords, authorship, date and other informationDublin Core metadata is a good frameworkShawnee 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 SEOContinuedConsider:<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 DataFramework for categorization and the DOM:h1-h6, dl, dt, dd, ol, ul, li, dfn, abbr, p, addressClasses (and IDs) further augment good semanticsabbr.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 DataSemantics help us and machines cull data:Widgets: clips, slices etc.Microformatslike hCard, hCalendar, hAtom and hReviewGoogle now uses RDFa/hReview and hCardYou don’t need to pioneer these technologiesGoogle took years to jump on microformatsFirefox didn’t get over20% market in a dayBut folks are using these nowAll 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 DOMStandards make using JavaScript, DOM scripting and Ajax easier and betterIt eases maintenanceLess inline codeIt 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 DOMIt extends easilyClasses, ID’s and the DOM make good hooks for JS and styleAt best, they require a script tagMore often they will also need more classes, ids and/or elements.It fails wellUsers 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 AccessibilitySome users and UAs don’t see JavaScript fire:Screen readersAudibly indicating DOM-scripting and Ajax changes through screen readers is a booger.Some UAs neglect it; others handle it poorly.Those behind corporate firewallsSome mobile UAsOthers 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 ValueBuilding sloppy code is cheapMaintaining it isn’t: I know.Inline style (and event handlers) create larger files, and make clean-up tediousSemantics 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 TacksSome 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 XHTMLThe 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 soupHave you ever seen xhtml fail like an XML feed would?IE6-8 downloads well-formed XHTML like a binaryConsider 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 EncodingRight after the head, even before <title>:make sure the title and all after are properly encodedIt’s important for good data and security…For displayYou 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 EncodingUnless 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 BottlenecksHTTP/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 BottlenecksMake 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 browsersPlace 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 ConsiderationsBe 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 ConsiderationsThe 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:ROIEase of extensionValue of data: contentis more informedNatural/Accidental/Organic SEOFaster page loads/decreased server loadGreater user access/cullability
  • 38. Shawnee County's logo is protected by law. All other presentation content is in the public domain.Conclusion:Last ThingsI won’t be there to blame when your app failsAnd, they’ll laugh at you for listening to a designerStandards are usually optimal: but not alwaysStandards change: so don’t follow blindlyIf they don’t help now, they may help laterMake 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 ToolsFirefox: mozilla.com/firefoxFirebug: getfirebug.comDeveloper’s Toolbar: tr.im/ffwdtbThink Firefox Web Developer’s Toolbar (ffwdtb)Yslow for Firebug: tr.im/yslowGet IE8! It’s out: tr.im/getie8More available at www.snco.us/?dev
  • 42. Shawnee County's logo is protected by law. All other presentation content is in the public domain.ContactPlease send any more questions todavid.eldridge@snco.us785.233.8200x4497tr.im/rgumFor 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.
close