SlideShare ist ein Scribd-Unternehmen logo
1 von 56
Worry Free Web Development a.k.a. Web Development 2.0 Ara Pehlivanian, Coder’s Saturday, March 22 2008
Web 2.0 The glitzy look of Web 2.0 is getting a lot of attention
Web 2.broken A lot of the technology behind Web 2.0 is still very Web 1.0
Why does it matter? Well…
The web is like a box of chocolates ,[object Object]
For example… ,[object Object]
For example… ,[object Object],[object Object]
For example… ,[object Object],[object Object],[object Object]
For example… ,[object Object],[object Object],[object Object],[object Object]
Murphy’s Law ,[object Object],http://www.flickr.com/photos/27447877@N00/3242903/
In an environment like this, “doing your own thing” can lead to unintended consequences
Unintended consequences ,[object Object],[object Object],[object Object],http://www.flickr.com/photos/khawaja/151777694/
How do you protect against unintended consequences?
Best practices!  They will protect you http://www.flickr.com/photos/micke-fi/86932091/
What are best practices? ,[object Object]
Ignore them at your own risk http://www.flickr.com/photos/88311728@N00/254275998/
Today’s best practice: Layer and enhance
Don’t create dependencies between HTML, CSS and JavaScript
Your site should work even if it’s deprived of one of these technologies
Layer: HTML
Build HTML first It should work 100% on its own
4 simple rules to keep in mind
1) Important content should be present in the markup
1) Important content should be present in the markup (Search engines won’t crawl your JavaScript only navigation)
2) Inject pure JavaScript markup later
2) Inject pure JavaScript markup later (If it can’t be relevant without JavaScript, it shouldn’t be in the markup to begin with)
3) Form elements should be inside forms
3) Form elements should be inside forms (They’re called  form  elements  for a reason!)
4) Links should link
4) Links should link (No brainer right?)
This is  not  a link ,[object Object],[object Object],[object Object]
This  is a link ,[object Object],[object Object],[object Object]
You can’t “Save as…” this ,[object Object],[object Object],[object Object]
You  can  “Save as…” this ,[object Object],[object Object],[object Object]
Layer: JavaScript
Add JavaScript as an enhancement (Unobtrusively)
Simple unobtrusive JavaScript ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Simple unobtrusive JavaScript ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Simple unobtrusive JavaScript ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Simple unobtrusive JavaScript ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Simple unobtrusive JavaScript ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Simple unobtrusive JavaScript ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
It’s like having a Plan B
Always have a Plan B http://snurl.com/21uf6
Layer: CSS
Don’t hide things with CSS only to show them with JavaScript
Flyout menus anyone?
What if JavaScript isn’t available?
Inaccessible content! http://www.flickr.com/photos/easilyamused747/17118475/
Solution: Hide with JavaScript and show with JavaScript
But how to avoid  content flicker? JavaScript takes time to kick in!
Here’s how… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Summary ,[object Object]
Summary ,[object Object],[object Object]
Summary ,[object Object],[object Object],[object Object]
Thank You! ,[object Object],[object Object],[object Object]

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Too Long; Didn’t Render - The State of JS and HTML Indexing | Digital Growth ...
Too Long; Didn’t Render - The State of JS and HTML Indexing | Digital Growth ...Too Long; Didn’t Render - The State of JS and HTML Indexing | Digital Growth ...
Too Long; Didn’t Render - The State of JS and HTML Indexing | Digital Growth ...
 
HTML 101
HTML 101HTML 101
HTML 101
 
Next Steps for New WordPress Users
Next Steps for New WordPress UsersNext Steps for New WordPress Users
Next Steps for New WordPress Users
 
How to run asp.net on virtual server for $5 per mo
How to run asp.net on  virtual server for $5 per moHow to run asp.net on  virtual server for $5 per mo
How to run asp.net on virtual server for $5 per mo
 
How to embed a google calendar in a twinspace page
How to embed a google calendar in a twinspace pageHow to embed a google calendar in a twinspace page
How to embed a google calendar in a twinspace page
 
Indexing Your Content is Optional (2020 Edition)
Indexing Your Content is Optional (2020 Edition)Indexing Your Content is Optional (2020 Edition)
Indexing Your Content is Optional (2020 Edition)
 
How to embed an editable document in a twinspace page
How to embed an editable document in a  twinspace pageHow to embed an editable document in a  twinspace page
How to embed an editable document in a twinspace page
 
What da Frontend? - How to start learning Front-end technology without pain.
What da Frontend? - How to start learning Front-end technology without pain.What da Frontend? - How to start learning Front-end technology without pain.
What da Frontend? - How to start learning Front-end technology without pain.
 
Fast Is The Only Speed
Fast Is The Only SpeedFast Is The Only Speed
Fast Is The Only Speed
 
UK Top 5,000 Websites; Mobile Site Speed Benchmark - BrightonSEO
UK Top 5,000 Websites; Mobile Site Speed Benchmark - BrightonSEOUK Top 5,000 Websites; Mobile Site Speed Benchmark - BrightonSEO
UK Top 5,000 Websites; Mobile Site Speed Benchmark - BrightonSEO
 
UK SEO Blog by Dave Naylor
UK SEO Blog by Dave NaylorUK SEO Blog by Dave Naylor
UK SEO Blog by Dave Naylor
 
Web Server Application Logs LTEC2013
Web Server Application Logs LTEC2013Web Server Application Logs LTEC2013
Web Server Application Logs LTEC2013
 
How To Tackle Enterprise Sites - Rachel Costello, Technical SEO, DeepCrawl
How To Tackle Enterprise Sites - Rachel Costello, Technical SEO, DeepCrawlHow To Tackle Enterprise Sites - Rachel Costello, Technical SEO, DeepCrawl
How To Tackle Enterprise Sites - Rachel Costello, Technical SEO, DeepCrawl
 
FREE BTCC
FREE  BTCCFREE  BTCC
FREE BTCC
 
Introduction to Email Marketing by Alexander Zagoumenov
Introduction to Email Marketing by Alexander ZagoumenovIntroduction to Email Marketing by Alexander Zagoumenov
Introduction to Email Marketing by Alexander Zagoumenov
 
Cash Kingdom Autopilot income 2017
Cash Kingdom Autopilot income 2017Cash Kingdom Autopilot income 2017
Cash Kingdom Autopilot income 2017
 
Shifting Gears
Shifting GearsShifting Gears
Shifting Gears
 
Three site speed optimisation tips to make your website REALLY fast - Brighto...
Three site speed optimisation tips to make your website REALLY fast - Brighto...Three site speed optimisation tips to make your website REALLY fast - Brighto...
Three site speed optimisation tips to make your website REALLY fast - Brighto...
 
UK SEO Blog by Dave Naylor
UK SEO Blog by Dave NaylorUK SEO Blog by Dave Naylor
UK SEO Blog by Dave Naylor
 
Building Headless Applications with WordPress & Gutenberg
Building Headless Applications with WordPress & GutenbergBuilding Headless Applications with WordPress & Gutenberg
Building Headless Applications with WordPress & Gutenberg
 

Ähnlich wie Worry Free Web Development

Understanding progressive enhancement - yuiconf2010
Understanding progressive enhancement - yuiconf2010Understanding progressive enhancement - yuiconf2010
Understanding progressive enhancement - yuiconf2010
Christian Heilmann
 

Ähnlich wie Worry Free Web Development (20)

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
 
Accessible Websites With Lotus Notes/Domino, presented at the BLUG day event,...
Accessible Websites With Lotus Notes/Domino, presented at the BLUG day event,...Accessible Websites With Lotus Notes/Domino, presented at the BLUG day event,...
Accessible Websites With Lotus Notes/Domino, presented at the BLUG day event,...
 
Intro to jQuery
Intro to jQueryIntro to jQuery
Intro to jQuery
 
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...
 
Developing for LinkedIn's Application Platform
Developing for LinkedIn's Application PlatformDeveloping for LinkedIn's Application Platform
Developing for LinkedIn's Application Platform
 
Bruce Lawson HTML5 South By SouthWest presentation
Bruce Lawson HTML5 South By SouthWest presentationBruce Lawson HTML5 South By SouthWest presentation
Bruce Lawson HTML5 South By SouthWest presentation
 
jQuery and_drupal
jQuery and_drupaljQuery and_drupal
jQuery and_drupal
 
Ajax to the Moon
Ajax to the MoonAjax to the Moon
Ajax to the Moon
 
Google Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocialGoogle Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocial
 
Yahoo for the Masses
Yahoo for the MassesYahoo for the Masses
Yahoo for the Masses
 
Understanding progressive enhancement - yuiconf2010
Understanding progressive enhancement - yuiconf2010Understanding progressive enhancement - yuiconf2010
Understanding progressive enhancement - yuiconf2010
 
The road to professional web development
The road to professional web developmentThe road to professional web development
The road to professional web development
 
Developer Grade SEO
Developer Grade SEODeveloper Grade SEO
Developer Grade SEO
 
HTML5
HTML5HTML5
HTML5
 
Lecture 9 Professional Practices
Lecture 9 Professional PracticesLecture 9 Professional Practices
Lecture 9 Professional Practices
 
HTML5 - techMaine Presentation 5/18/09
HTML5 - techMaine Presentation 5/18/09HTML5 - techMaine Presentation 5/18/09
HTML5 - techMaine Presentation 5/18/09
 
WebTest - Efficient Functional Web Testing with HtmlUnit and Beyond
WebTest - Efficient Functional Web Testing with HtmlUnit and BeyondWebTest - Efficient Functional Web Testing with HtmlUnit and Beyond
WebTest - Efficient Functional Web Testing with HtmlUnit and Beyond
 
SearchMonkey
SearchMonkeySearchMonkey
SearchMonkey
 
Welcome to IE8 - Integrating Your Site With Internet Explorer 8
Welcome to IE8 - Integrating Your Site With Internet Explorer 8Welcome to IE8 - Integrating Your Site With Internet Explorer 8
Welcome to IE8 - Integrating Your Site With Internet Explorer 8
 
J query
J queryJ query
J query
 

Mehr von Ara Pehlivanian (8)

Is it CrossFit or JavaScript?
Is it CrossFit or JavaScript?Is it CrossFit or JavaScript?
Is it CrossFit or JavaScript?
 
Expert JavaScript tricks of the masters
Expert JavaScript  tricks of the mastersExpert JavaScript  tricks of the masters
Expert JavaScript tricks of the masters
 
Becoming a jQuery expert
Becoming a jQuery expertBecoming a jQuery expert
Becoming a jQuery expert
 
YUI 3: The Most Advance JavaScript Library in the World
YUI 3: The Most Advance JavaScript Library in the WorldYUI 3: The Most Advance JavaScript Library in the World
YUI 3: The Most Advance JavaScript Library in the World
 
YUI Gallery
YUI GalleryYUI Gallery
YUI Gallery
 
Master your domain
Master your domainMaster your domain
Master your domain
 
Twitterface: A viral marketing concept
Twitterface: A viral marketing conceptTwitterface: A viral marketing concept
Twitterface: A viral marketing concept
 
Scripting The Dom
Scripting The DomScripting The Dom
Scripting The Dom
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
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
giselly40
 

Kürzlich hochgeladen (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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
 

Worry Free Web Development