SlideShare a Scribd company logo
1 of 41
Download to read offline
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

Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...amber724300
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentMahmoud Rabie
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
QMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfQMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfROWELL MARQUINA
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
WomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneWomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneUiPathCommunity
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 

Recently uploaded (20)

Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career Development
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
QMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfQMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdf
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
How Tech Giants Cut Corners to Harvest Data for A.I.
How Tech Giants Cut Corners to Harvest Data for A.I.How Tech Giants Cut Corners to Harvest Data for A.I.
How Tech Giants Cut Corners to Harvest Data for A.I.
 
WomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneWomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyone
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 

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.