SlideShare a Scribd company logo
1 of 41
Progressive
                              Enhancement
                              Enlarge your Flash Accessibility


Saturday, February 28, 2009
Armando Alves




                               asourceofinspiration.com
                               twitter.com/armandoalves
                               armandoalves@gmail.com
Saturday, February 28, 2009
Progressive Enhancement




Saturday, February 28, 2009
Inclusive Web Design



                              Steve Champeon + Nick Finck
                              hesketh.com




Saturday, February 28, 2009
Degradation vs.
                     Looking backward         Looking forward




                   Graceful Degradation   Progressive Enhancement


Saturday, February 28, 2009
Why should I care?




Saturday, February 28, 2009
Why should I care?




      Acessibility




Saturday, February 28, 2009
Why should I care?




      Acessibility            Ad Blocking




Saturday, February 28, 2009
Why should I care?




      Acessibility            Ad Blocking   Search Marketing




Saturday, February 28, 2009
SWF Searchability
         ★ An inside look to RIAs and gadgets
                              ‣ AS1 to AS3 support
         ★ Indexing Flash is limited
                              ‣ Textual Content and URLs
                              ‣ Diminished support to Javascript embedded SWFs
                              ‣ External sources separately indexed
                              ‣ Bidirectional languages are out
                              ‣ Deep linking forgotten


Saturday, February 28, 2009
Why should I care?
                              New devices and platforms




Saturday, February 28, 2009
The 3 layers




Saturday, February 28, 2009
The 3 layers

             Content




Saturday, February 28, 2009
The 3 layers

             Content          XHTML




Saturday, February 28, 2009
The 3 layers

             Content          XHTML


             Presentation




Saturday, February 28, 2009
The 3 layers

             Content          XHTML


             Presentation       CSS




Saturday, February 28, 2009
The 3 layers

             Content          XHTML


             Presentation       CSS


             Interaction




Saturday, February 28, 2009
The 3 layers

             Content                   XHTML


             Presentation                 CSS


             Interaction      Javascript/Flash




Saturday, February 28, 2009
http://unobtrusify.com/


Saturday, February 28, 2009
http://www.refunk.com/blog/


Saturday, February 28, 2009
From Zero to Hero


                              ★ XHTML / CSS
                              ★ Javascript / Ajax
                              ★ Flex / Flash




Saturday, February 28, 2009
“In truth, there are no bad technologies. There are
                  just bad uses of a technology. The cruel hand that
                  fate had dealt JavaScript reminds me of another
                  much maligned technology: Macromedia’s Flash.”
                                            - Jeremy Keith, Dom Scripting




Saturday, February 28, 2009
Solutions



Saturday, February 28, 2009
The 7 habits
          of highly accessible RIAs
         1. Be Proactive
         2. Come with the End in Mind
         3. Put First Things First
         4. Think Win/Win
         5. Seek First to Understand, Then to be Understood
         6. Synergize
         7. Sharpen the Saw


Saturday, February 28, 2009
1. Be Proactive
         ★ Start with a goal:
           ‣ Acessibility and Distribution of Information




Saturday, February 28, 2009
2. Come with the End in

         ★ Function over form
           ‣ Essential functions without 3rd layer
         ★ Consider Different Platforms
           ‣ Fallback on input devices




Saturday, February 28, 2009
3. Put First Things First
         ★ Markup first
           ‣ Additional functionality enhances experience
         ★ Basic fallback
           ‣ Native interactive elements: links, forms




Saturday, February 28, 2009
4. Think Win/Win
         ★ Test for Developers, Test for Users
           ‣ Enhancement according to device capability




Saturday, February 28, 2009
5. Seek First to Understand,
         Then to be Understood
         ★ Understand the devices
           ‣ Limitations
           ‣ Capabilities




Saturday, February 28, 2009
6. Synergize
         ★ Selective delivery
           ‣ Device/Browser detection
           ‣ Stylesheet by media




Saturday, February 28, 2009
7. Sharpen the Saw
         ★ Modular code
           ‣ Extendable to new technologies




Saturday, February 28, 2009
Enhancement in Practice




Saturday, February 28, 2009
SWFObject




                              Alternate    Flash
                              Content     Content


Saturday, February 28, 2009
XHTML




Saturday, February 28, 2009
XHTML + CSS




Saturday, February 28, 2009
XHTML + CSS + SWFObject




Saturday, February 28, 2009
SWFObject +




                              Alternate    Flash + Deep
                              Content     Content  Linking


Saturday, February 28, 2009
XML +SWFObject + SWF Address




Saturday, February 28, 2009
SWFObject +




                              Alternate    Flash + Deep
                               Content    Content  Linking


Saturday, February 28, 2009
XSLT Transformation in PHP




Saturday, February 28, 2009
Alternate Content Enhancement




Saturday, February 28, 2009

More Related Content

Viewers also liked

Unpacking Wine Package Design: "Best Practices for Winning with Consumers" (p...
Unpacking Wine Package Design: "Best Practices for Winning with Consumers" (p...Unpacking Wine Package Design: "Best Practices for Winning with Consumers" (p...
Unpacking Wine Package Design: "Best Practices for Winning with Consumers" (p...Jeff Stone
 
Por que vale a pena conhecer e explorar o potencial acadêmico e pedagógico do...
Por que vale a pena conhecer e explorar o potencial acadêmico e pedagógico do...Por que vale a pena conhecer e explorar o potencial acadêmico e pedagógico do...
Por que vale a pena conhecer e explorar o potencial acadêmico e pedagógico do...Paulo Correia
 
ალცჰაიმერის დაავადება
ალცჰაიმერის დაავადებაალცჰაიმერის დაავადება
ალცჰაიმერის დაავადებაGeorge Gagua
 
คู่มือการสร้างบล็อก
คู่มือการสร้างบล็อกคู่มือการสร้างบล็อก
คู่มือการสร้างบล็อกKhem Chanathip
 
Codes and conventions of the documentary genre
Codes and conventions of the documentary genreCodes and conventions of the documentary genre
Codes and conventions of the documentary genrejoshuariser
 
An introduction to systemic functional linguistics
An introduction to systemic functional linguisticsAn introduction to systemic functional linguistics
An introduction to systemic functional linguisticsiendah lestari
 
Functional approach
Functional approachFunctional approach
Functional approachatemabel
 
Cómo Sistematizar
Cómo SistematizarCómo Sistematizar
Cómo SistematizarClau Ber
 
Sistematización de Experiencias Educativas. CECCSICA. Compilación.
Sistematización de Experiencias Educativas. CECCSICA. Compilación.Sistematización de Experiencias Educativas. CECCSICA. Compilación.
Sistematización de Experiencias Educativas. CECCSICA. Compilación.Gustavo Bolaños
 
Lecture 18 open economy
Lecture 18 open economyLecture 18 open economy
Lecture 18 open economyGale Pooley
 

Viewers also liked (14)

Khanittha- Resume
Khanittha- ResumeKhanittha- Resume
Khanittha- Resume
 
Unpacking Wine Package Design: "Best Practices for Winning with Consumers" (p...
Unpacking Wine Package Design: "Best Practices for Winning with Consumers" (p...Unpacking Wine Package Design: "Best Practices for Winning with Consumers" (p...
Unpacking Wine Package Design: "Best Practices for Winning with Consumers" (p...
 
Por que vale a pena conhecer e explorar o potencial acadêmico e pedagógico do...
Por que vale a pena conhecer e explorar o potencial acadêmico e pedagógico do...Por que vale a pena conhecer e explorar o potencial acadêmico e pedagógico do...
Por que vale a pena conhecer e explorar o potencial acadêmico e pedagógico do...
 
ალცჰაიმერის დაავადება
ალცჰაიმერის დაავადებაალცჰაიმერის დაავადება
ალცჰაიმერის დაავადება
 
คู่มือการสร้างบล็อก
คู่มือการสร้างบล็อกคู่มือการสร้างบล็อก
คู่มือการสร้างบล็อก
 
KAVEEVIVITCHAI-
KAVEEVIVITCHAI-KAVEEVIVITCHAI-
KAVEEVIVITCHAI-
 
My Resume Full
My Resume FullMy Resume Full
My Resume Full
 
Codes and conventions of the documentary genre
Codes and conventions of the documentary genreCodes and conventions of the documentary genre
Codes and conventions of the documentary genre
 
CV Tran Thai Son
CV Tran Thai SonCV Tran Thai Son
CV Tran Thai Son
 
An introduction to systemic functional linguistics
An introduction to systemic functional linguisticsAn introduction to systemic functional linguistics
An introduction to systemic functional linguistics
 
Functional approach
Functional approachFunctional approach
Functional approach
 
Cómo Sistematizar
Cómo SistematizarCómo Sistematizar
Cómo Sistematizar
 
Sistematización de Experiencias Educativas. CECCSICA. Compilación.
Sistematización de Experiencias Educativas. CECCSICA. Compilación.Sistematización de Experiencias Educativas. CECCSICA. Compilación.
Sistematización de Experiencias Educativas. CECCSICA. Compilación.
 
Lecture 18 open economy
Lecture 18 open economyLecture 18 open economy
Lecture 18 open economy
 

More from Armando Alves

Mais do que um viral
Mais do que um viralMais do que um viral
Mais do que um viralArmando Alves
 
Métricas para Social Media
Métricas para Social MediaMétricas para Social Media
Métricas para Social MediaArmando Alves
 
API: Advertising Propagation Interface
API: Advertising Propagation InterfaceAPI: Advertising Propagation Interface
API: Advertising Propagation InterfaceArmando Alves
 
UFOs: Abduction by the marketing hype cycle
UFOs: Abduction by the marketing hype cycleUFOs: Abduction by the marketing hype cycle
UFOs: Abduction by the marketing hype cycleArmando Alves
 

More from Armando Alves (7)

Mais do que um viral
Mais do que um viralMais do que um viral
Mais do que um viral
 
Métricas para Social Media
Métricas para Social MediaMétricas para Social Media
Métricas para Social Media
 
Teckitalk
TeckitalkTeckitalk
Teckitalk
 
A Arte Do Viral
A Arte Do ViralA Arte Do Viral
A Arte Do Viral
 
API: Advertising Propagation Interface
API: Advertising Propagation InterfaceAPI: Advertising Propagation Interface
API: Advertising Propagation Interface
 
Events 2.Social
Events 2.SocialEvents 2.Social
Events 2.Social
 
UFOs: Abduction by the marketing hype cycle
UFOs: Abduction by the marketing hype cycleUFOs: Abduction by the marketing hype cycle
UFOs: Abduction by the marketing hype cycle
 

Recently uploaded

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
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
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
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
 
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 interpreternaman860154
 
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
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
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 MenDelhi Call girls
 
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
 
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 AutomationSafe Software
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 

Recently uploaded (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 
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
 
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
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
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
 
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
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

Progressive Enhancement with Flash

  • 1. Progressive Enhancement Enlarge your Flash Accessibility Saturday, February 28, 2009
  • 2. Armando Alves asourceofinspiration.com twitter.com/armandoalves armandoalves@gmail.com Saturday, February 28, 2009
  • 4. Inclusive Web Design Steve Champeon + Nick Finck hesketh.com Saturday, February 28, 2009
  • 5. Degradation vs. Looking backward Looking forward Graceful Degradation Progressive Enhancement Saturday, February 28, 2009
  • 6. Why should I care? Saturday, February 28, 2009
  • 7. Why should I care? Acessibility Saturday, February 28, 2009
  • 8. Why should I care? Acessibility Ad Blocking Saturday, February 28, 2009
  • 9. Why should I care? Acessibility Ad Blocking Search Marketing Saturday, February 28, 2009
  • 10. SWF Searchability ★ An inside look to RIAs and gadgets ‣ AS1 to AS3 support ★ Indexing Flash is limited ‣ Textual Content and URLs ‣ Diminished support to Javascript embedded SWFs ‣ External sources separately indexed ‣ Bidirectional languages are out ‣ Deep linking forgotten Saturday, February 28, 2009
  • 11. Why should I care? New devices and platforms Saturday, February 28, 2009
  • 12. The 3 layers Saturday, February 28, 2009
  • 13. The 3 layers Content Saturday, February 28, 2009
  • 14. The 3 layers Content XHTML Saturday, February 28, 2009
  • 15. The 3 layers Content XHTML Presentation Saturday, February 28, 2009
  • 16. The 3 layers Content XHTML Presentation CSS Saturday, February 28, 2009
  • 17. The 3 layers Content XHTML Presentation CSS Interaction Saturday, February 28, 2009
  • 18. The 3 layers Content XHTML Presentation CSS Interaction Javascript/Flash Saturday, February 28, 2009
  • 21. From Zero to Hero ★ XHTML / CSS ★ Javascript / Ajax ★ Flex / Flash Saturday, February 28, 2009
  • 22. “In truth, there are no bad technologies. There are just bad uses of a technology. The cruel hand that fate had dealt JavaScript reminds me of another much maligned technology: Macromedia’s Flash.” - Jeremy Keith, Dom Scripting Saturday, February 28, 2009
  • 24. The 7 habits of highly accessible RIAs 1. Be Proactive 2. Come with the End in Mind 3. Put First Things First 4. Think Win/Win 5. Seek First to Understand, Then to be Understood 6. Synergize 7. Sharpen the Saw Saturday, February 28, 2009
  • 25. 1. Be Proactive ★ Start with a goal: ‣ Acessibility and Distribution of Information Saturday, February 28, 2009
  • 26. 2. Come with the End in ★ Function over form ‣ Essential functions without 3rd layer ★ Consider Different Platforms ‣ Fallback on input devices Saturday, February 28, 2009
  • 27. 3. Put First Things First ★ Markup first ‣ Additional functionality enhances experience ★ Basic fallback ‣ Native interactive elements: links, forms Saturday, February 28, 2009
  • 28. 4. Think Win/Win ★ Test for Developers, Test for Users ‣ Enhancement according to device capability Saturday, February 28, 2009
  • 29. 5. Seek First to Understand, Then to be Understood ★ Understand the devices ‣ Limitations ‣ Capabilities Saturday, February 28, 2009
  • 30. 6. Synergize ★ Selective delivery ‣ Device/Browser detection ‣ Stylesheet by media Saturday, February 28, 2009
  • 31. 7. Sharpen the Saw ★ Modular code ‣ Extendable to new technologies Saturday, February 28, 2009
  • 33. SWFObject Alternate Flash Content Content Saturday, February 28, 2009
  • 35. XHTML + CSS Saturday, February 28, 2009
  • 36. XHTML + CSS + SWFObject Saturday, February 28, 2009
  • 37. SWFObject + Alternate Flash + Deep Content Content Linking Saturday, February 28, 2009
  • 38. XML +SWFObject + SWF Address Saturday, February 28, 2009
  • 39. SWFObject + Alternate Flash + Deep Content Content Linking Saturday, February 28, 2009
  • 40. XSLT Transformation in PHP Saturday, February 28, 2009

Editor's Notes

  1. A concept brought from engineering, brought to mainstream web development in 2003by Steve Champeon and Nick Finck on their 2003 SXSW talk “Inclusive Web Design For the Future”. Until then, most web development companies were doing what it’s called Graceful Degradation, focusing on the current technologies and offering a small support to older browsers. Back then, most of concerns were related to graphical browsers, with acessible experiences constrained by economical pressures.
  2. So what’s the difference between the older Graceful Degradation and today’s Progressive Enhancement? Graceful Degradation The website development was targeted for the latest browsers, with some backward support. The main concern was to create a richer experience, with a high focus on presentation. Progressive Enhancement The focus here is on content, and no longer on presentaion for graphic browsers. The main concern is to assure the optimal distribution of content. In modern web development we should look forward, to other kind of displays and platforms. But it does it a concern for all devices, starting with the least capable and walking all the way up to newer devices, enricheing the experiences but still separating presentation from information, with greater concern regarding acessibility and universal distribution, by using current web standards.
  3. So, the web design isn’t always about the visuals, but also to assure that information is available to the widest audience possible, to make it acessibity. Another recent problem when deploying web applications based on the Flash Platform, is the increasing number of people using Flash blocking extensions, like Ad Block Plus. And for those thinking that a 97% adoption rate of the Flash Player is enough, better think again, because amongst those 3% is one of the highest sources of traffic: search engines.
  4. So, the web design isn’t always about the visuals, but also to assure that information is available to the widest audience possible, to make it acessibity. Another recent problem when deploying web applications based on the Flash Platform, is the increasing number of people using Flash blocking extensions, like Ad Block Plus. And for those thinking that a 97% adoption rate of the Flash Player is enough, better think again, because amongst those 3% is one of the highest sources of traffic: search engines.
  5. So, the web design isn’t always about the visuals, but also to assure that information is available to the widest audience possible, to make it acessibity. Another recent problem when deploying web applications based on the Flash Platform, is the increasing number of people using Flash blocking extensions, like Ad Block Plus. And for those thinking that a 97% adoption rate of the Flash Player is enough, better think again, because amongst those 3% is one of the highest sources of traffic: search engines.
  6. Despite the previous attempts, mostly from Google, to index SWFs, it was only with Adobe’s release of their Searchable SWF library, that rich media became part of the indexed web. The main reasons to improve SWF searchability were the increasing amount of Rich Internet Applications, gadgets and games that were available to large audiences. However, the indexation is pretty much limited. The bot algorithm works much like a real person, exploring the SWF file, clicking in buttons, inserting inputs and traversing on the multple states of the application. For now, it only indexes text and URLs, and ignores images and dynamic content. When first integrated by Google, it also didn’t supported Javascript embedding techniques like SWFObject, but recently that has changed with support for the most common embedding techniques. Other limitations includes the lack of support for dynamic languages and deep linking. The most problematic is still the absence of dynamic content indexing. With so many of RIAs and websites getting data from external sources, like XML files, a lot of the hidden web is still left outside, with no context whatsoever. And even if individual XML documents are indexed, they are mostly useless as they have no context and semantic value whatsoever, thus no help to search engines.
  7. And, last but not the least, one of the reasons you should care: devices that aren’t supporting (yet) the Flash Platform like the iPhone
  8. Modern web development is separated in 3 layers: 1) Content From HTML 4 to XHTML with an eye to HTML 5, with support for device languages like WAP and XHTML Basic the content is deployed with langues with semantic capabilities 2) PresentationSecond, we add the presentation layer with languages like CSS1 and CSS2 3) Interactivity While the previous 2 layers are presente on most devices and graphical browseres, interactivity is where the dreams and nightmares happen, and what i’l bet talking about. We’ll try to deploy rich visual experience while keeping it available to the widest audience possible, with future compatibility also in mind.
  9. Modern web development is separated in 3 layers: 1) Content From HTML 4 to XHTML with an eye to HTML 5, with support for device languages like WAP and XHTML Basic the content is deployed with langues with semantic capabilities 2) PresentationSecond, we add the presentation layer with languages like CSS1 and CSS2 3) Interactivity While the previous 2 layers are presente on most devices and graphical browseres, interactivity is where the dreams and nightmares happen, and what i’l bet talking about. We’ll try to deploy rich visual experience while keeping it available to the widest audience possible, with future compatibility also in mind.
  10. Modern web development is separated in 3 layers: 1) Content From HTML 4 to XHTML with an eye to HTML 5, with support for device languages like WAP and XHTML Basic the content is deployed with langues with semantic capabilities 2) PresentationSecond, we add the presentation layer with languages like CSS1 and CSS2 3) Interactivity While the previous 2 layers are presente on most devices and graphical browseres, interactivity is where the dreams and nightmares happen, and what i’l bet talking about. We’ll try to deploy rich visual experience while keeping it available to the widest audience possible, with future compatibility also in mind.
  11. Modern web development is separated in 3 layers: 1) Content From HTML 4 to XHTML with an eye to HTML 5, with support for device languages like WAP and XHTML Basic the content is deployed with langues with semantic capabilities 2) PresentationSecond, we add the presentation layer with languages like CSS1 and CSS2 3) Interactivity While the previous 2 layers are presente on most devices and graphical browseres, interactivity is where the dreams and nightmares happen, and what i’l bet talking about. We’ll try to deploy rich visual experience while keeping it available to the widest audience possible, with future compatibility also in mind.
  12. Modern web development is separated in 3 layers: 1) Content From HTML 4 to XHTML with an eye to HTML 5, with support for device languages like WAP and XHTML Basic the content is deployed with langues with semantic capabilities 2) PresentationSecond, we add the presentation layer with languages like CSS1 and CSS2 3) Interactivity While the previous 2 layers are presente on most devices and graphical browseres, interactivity is where the dreams and nightmares happen, and what i’l bet talking about. We’ll try to deploy rich visual experience while keeping it available to the widest audience possible, with future compatibility also in mind.
  13. Modern web development is separated in 3 layers: 1) Content From HTML 4 to XHTML with an eye to HTML 5, with support for device languages like WAP and XHTML Basic the content is deployed with langues with semantic capabilities 2) PresentationSecond, we add the presentation layer with languages like CSS1 and CSS2 3) Interactivity While the previous 2 layers are presente on most devices and graphical browseres, interactivity is where the dreams and nightmares happen, and what i’l bet talking about. We’ll try to deploy rich visual experience while keeping it available to the widest audience possible, with future compatibility also in mind.
  14. We’ll work our way up from Zero to Hero, from basic web standard based pages to Rich Internet Application. Web experiences don’t have to be dull, but they don’t have to be unaccessible either. We can have it both. Instead of starting by building the rich experinece first, we’ll start with the basics. Content first. Then we add a presentation layer. And then, we apply the rich media and interactivity (Javascript, Flash).
  15. A interesting comparison to what RIAs can be, with regards to accessibility are the 7 habits of Highly effective people, by Stephen Covey, that i freely adapted for this talk.
  16. Start with a goal in mind: Accessibility and Distribution, by separating Content / Presentation / Interactivity It will be easier in the end, easier for maintenance at least.
  17. Functionality first. We should have the basic functionality working without having to use the 3rd layer: If Javascript / Ajax / Flash aren’t there we should still be able to do basic actions. Also, don’t forget where it’s going to be used: in a graphical browser we can use the TAB key to jump between inputs,but on a cellphone there’s no TAB key, so we should keep that in minf and add support for directional navigation with arrow keys.
  18. Start with the first things: semantic markup Only add additional elements when it gets the experience richer.
  19. Check if the devices/browsers/platforms support the additional 3rd layer. So don’t add device specific events (onchange and onblur) unless you’re covered all others, so users don’t get frustated with your application on your device.
  20. Understand the plataform/device/browser From screen resolution to conectivity it all affects how your application behaves.
  21. Deliver the experience with regards to what your users devices are able to interpret For instance, on Ajax applications, you can use @include to bypass non graphic browsers. Or use media target for stylesheets: print, mobile, screen.
  22. If you have you code by modules, it will be easier to adapt to richer experiences. From includes with conditional comments to external scripts, it will be easier to maintain the application and extending it when new technologies are available.