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

Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
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
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
[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
 
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
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
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 MenDelhi Call girls
 

Recently uploaded (20)

Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
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
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
[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
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
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
 

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.