SlideShare a Scribd company logo
Dojo 1.0:
Great Experiences...
   For Everyone
             Alex Russell
    Project Lead, The Dojo Toolkit
Maslow’s Hierarchy of Needs

  • Deficiency needs
    - Physiological
    - Saftety
    - Love/Belonging
    - Esteem
  • Growth needs
    - Exploration, asthetics
    - Self-actualization
http://en.wikipedia.org/wiki/Maslow's_hierarchy_of_needs
The Application Hierachy Of Needs

• Deficiency needs
  - Platform
  - Security
  - Social Capacity
  - Competition
• Growth Needs
  - Integration
  - Platform capacity
If The Platform Isn’t
Ubiquitous And Capable,
 Another Will Emerge
Changes In Cost Are
Changes In Capacity
Complexity Is The New
Dominating Factor In Cost
Where Are We Fighting Complexity?

• HTML
• CSS
• JavaScript
• Server integration
The Wall Of Complexity
http://flickr.com/photos/kidisland/502242023/
Implements Of War

• Grouping + Encapsulation
• Shared Context
• Patterns of Practice
• Separation of Concerns
• Forgiveness
So How Are We Doing?
Implements Of Failure
• Grouping + Encapsulation
   - Server-side includes essentially state of the art
• Shared Context
   - HTML/CSS/JS stack wickedly hard to learn
• Patterns of Practice
   - Microformats, CSS as emergent semantics
• Separation of Concerns
• Forgiveness
   - XML pipe dreams persist, Semantic Web faffery
Semantic Differences

• HTML gives us:
  - Platform
  - Some security
  - Social capacity
  - Patterns of practice
  - Shared context (common vocabulary)
• The failure to provide sustainable platform
 competition leaves us arguing over the scraps
Good Semantics Let You Say
     What You Mean
 And Get What You Want
For Applications,
HTML/CSS Are Liabilities
Ajax: The “Get Out Of Jail Free” Card

 • Within a small band of capabilities, JavaScript
   allows us to dig our way out
    - Cost is enormous
 • Toolkits have exhibited competition and platform
   capacity behaviors
 • Integration nowhere to be seen
    - Example: mirrored validation
    - REST? Something else?
Platform Capacity Is The
  Ability To Grow New
        Semantics
How The Web Gets New Semantics
(decreasing order of leverage)
1.Standardization (W3C, ECMA, etc.)
  • Byproduct of competition
2.Invention
  • JavaScript “upgrades” or “hot-patches” to pages
3.Convention
  • Microformats, CSS patterns of practice
When Are You Going To
  Talk About Dojo?
Invention vs. Completeness

• Invented semantics via JS are disadvantaged:
   - On the wire
   - In performance and integration
   - In access to assistive technologies
   - In look-and-feel cohesiveness
• Only medium/large-scale investment yeild
 complete results today
  - Product vs. project
A Toolkit That Invents
      Semantics Is Responsible For
        All Of These Concerns*


* this argument is both self-serving and disingenuous, however that doesn’t make it false
L&F Responsibility
Developer User Experience


 <a href=quot;images/depot.jpgquot;
    dojoType=quot;dojox.image.Lightboxquot;
    group=quot;myTravelsquot;
    title=quot;Photo of a Train Depotquot;>A Train Depot</a>

 <a href=quot;images/greenville.jpgquot;
    dojoType=quot;dojox.image.Lightboxquot;
    group=quot;myTravelsquot;
    title=quot;A Photo of Greeneville, TNquot;>Greenville</a>
Customization


 /* structured CSS allows over-rides */
 .dijitDialogUnderlay {
    background: white;
 }

 // template system allows complete UI rework
 dojo.extend(dojox.image._LightboxDialog, {
    templatePath: dojo.moduleUrl(“myApp.tmpl”, “dialog.html”)
 });
a11y & i18n Concerns
• Incredibly robust keyboard handling code
• All Dijit widgets fully WAI ARIA augmented
   - role=quot;wairole:dialogquot;
   - System support for easily adding role/state info
    to your own widgets
• Detection/support for high-contrast mode
  - separate theme applied for high-contrast
  - structured CSS cascade allows you to easily
    provide a11y rules for custom themes and
    widgets
Performance Responsiblity

• Time on the wire
• Time-to-render
• Data caching, storage
• Encourage usage of faster paths through better
  API design
• “Pay-as-you-go” performance optimization
  strategies
   - Make each step on the path as painless as
     possible
Performance Responsiblity

• Stragegies:
  - Tiny Core
     - Tightly controlled, curated APIs
  - CDN edge-cached, gzip always enabled
  - The Build Process
     - Completely optional, gradual adoption
     - Package system reduces complexity through
     grouping
You Can’t Tack These On Later,
  i.e., Systemization Matters
Dojo Expresses
Platform Capacity
...But We Wish
We Didn’t Have To
Our Collective Perception Of
  Where We Are On The
    Hierarchy Is Wrong
The Lack Of Competition Is A
  Deficiency That Prevents
  Access To Growth Needs
You Should Be Demanding A
Better Future From The People
      Who Can Deliver It
Until Then, Toolkits Should Be
   Preparing For A Better
           Future...
For Everyone
Build With, Not On
Dojo 1.0: Great Experiences For Everyone

More Related Content

Viewers also liked

Hunting & Fishing
Hunting & FishingHunting & Fishing
Hunting & Fishing
msmits
 
Cruzada
CruzadaCruzada
Cruzada
guest2d22fc
 
plano
planoplano
Flooding
FloodingFlooding
Flooding
msmits
 
2007 P P3 T D
2007  P P3  T D2007  P P3  T D
2007 P P3 T D
guest3187d2
 
University System: Mass. State Colleges Council of Presidents
University System: Mass. State Colleges Council of Presidents University System: Mass. State Colleges Council of Presidents
University System: Mass. State Colleges Council of Presidents
Nancy George
 
+ Q Trueke
+ Q Trueke+ Q Trueke
+ Q Trueke
cpjv
 
Venta Focus
Venta FocusVenta Focus
Venta Focus
guest2b1d77
 
Travel To Litoral ´07
Travel To Litoral ´07Travel To Litoral ´07
Travel To Litoral ´07
FedeMaTu
 
Resumen Curricular 133740
Resumen Curricular  133740Resumen Curricular  133740
Resumen Curricular 133740
guesta2ba29
 
Resumen Curricular 133740
Resumen Curricular  133740Resumen Curricular  133740
Resumen Curricular 133740
guesta2ba29
 
Modelado Del Proy Final Vb 2007
Modelado Del Proy Final Vb 2007Modelado Del Proy Final Vb 2007
Modelado Del Proy Final Vb 2007
UTP, TA
 
Resumen Curricular 131899
Resumen Curricular 131899Resumen Curricular 131899
Resumen Curricular 131899
guesta2ba29
 
Herramientas De ComputacióN
Herramientas De ComputacióNHerramientas De ComputacióN
Herramientas De ComputacióN
xxframaxx
 
grains 6è a
grains 6è agrains 6è a
grains 6è a
danielmangrane
 
Resumencurricular 135623
Resumencurricular 135623Resumencurricular 135623
Resumencurricular 135623
guesta2ba29
 
Cartel Casa Inteligente
Cartel Casa InteligenteCartel Casa Inteligente
Cartel Casa Inteligente
rosendo_ponce
 
Presentacion 135301
Presentacion 135301Presentacion 135301
Presentacion 135301
guesta2ba29
 
Hiking & Kayaking
Hiking & KayakingHiking & Kayaking
Hiking & Kayaking
msmits
 
Upa Bangalore Town Hall Oct 19
Upa Bangalore Town Hall Oct 19Upa Bangalore Town Hall Oct 19
Upa Bangalore Town Hall Oct 19
Amit Pande
 

Viewers also liked (20)

Hunting & Fishing
Hunting & FishingHunting & Fishing
Hunting & Fishing
 
Cruzada
CruzadaCruzada
Cruzada
 
plano
planoplano
plano
 
Flooding
FloodingFlooding
Flooding
 
2007 P P3 T D
2007  P P3  T D2007  P P3  T D
2007 P P3 T D
 
University System: Mass. State Colleges Council of Presidents
University System: Mass. State Colleges Council of Presidents University System: Mass. State Colleges Council of Presidents
University System: Mass. State Colleges Council of Presidents
 
+ Q Trueke
+ Q Trueke+ Q Trueke
+ Q Trueke
 
Venta Focus
Venta FocusVenta Focus
Venta Focus
 
Travel To Litoral ´07
Travel To Litoral ´07Travel To Litoral ´07
Travel To Litoral ´07
 
Resumen Curricular 133740
Resumen Curricular  133740Resumen Curricular  133740
Resumen Curricular 133740
 
Resumen Curricular 133740
Resumen Curricular  133740Resumen Curricular  133740
Resumen Curricular 133740
 
Modelado Del Proy Final Vb 2007
Modelado Del Proy Final Vb 2007Modelado Del Proy Final Vb 2007
Modelado Del Proy Final Vb 2007
 
Resumen Curricular 131899
Resumen Curricular 131899Resumen Curricular 131899
Resumen Curricular 131899
 
Herramientas De ComputacióN
Herramientas De ComputacióNHerramientas De ComputacióN
Herramientas De ComputacióN
 
grains 6è a
grains 6è agrains 6è a
grains 6è a
 
Resumencurricular 135623
Resumencurricular 135623Resumencurricular 135623
Resumencurricular 135623
 
Cartel Casa Inteligente
Cartel Casa InteligenteCartel Casa Inteligente
Cartel Casa Inteligente
 
Presentacion 135301
Presentacion 135301Presentacion 135301
Presentacion 135301
 
Hiking & Kayaking
Hiking & KayakingHiking & Kayaking
Hiking & Kayaking
 
Upa Bangalore Town Hall Oct 19
Upa Bangalore Town Hall Oct 19Upa Bangalore Town Hall Oct 19
Upa Bangalore Town Hall Oct 19
 

Similar to Dojo 1.0: Great Experiences For Everyone

Sustainable Agile Development
Sustainable Agile DevelopmentSustainable Agile Development
Sustainable Agile Development
Gabriele Lana
 
USG Web Tech Day 2017 - CMS Tunnel Vision
USG Web Tech Day 2017 - CMS Tunnel VisionUSG Web Tech Day 2017 - CMS Tunnel Vision
USG Web Tech Day 2017 - CMS Tunnel Vision
Eric Sembrat
 
Performance testing with your eyes wide open geekweek 2018
Performance testing with your eyes wide open  geekweek 2018Performance testing with your eyes wide open  geekweek 2018
Performance testing with your eyes wide open geekweek 2018
Yoav Weiss
 
Cloud Computing Introduction
Cloud Computing IntroductionCloud Computing Introduction
Cloud Computing Introduction
Adomas Svirskas
 
GDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
GDD Japan 2009 - Designing OpenSocial Apps For Speed and ScaleGDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
GDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
Patrick Chanezon
 
Performance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introPerformance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter intro
Mykola Kovsh
 
Measure and Increase Developer Productivity with Help of Serverless at Server...
Measure and Increase Developer Productivity with Help of Serverless at Server...Measure and Increase Developer Productivity with Help of Serverless at Server...
Measure and Increase Developer Productivity with Help of Serverless at Server...
Vadym Kazulkin
 
The State of Front-end At CrowdTwist
The State of Front-end At CrowdTwistThe State of Front-end At CrowdTwist
The State of Front-end At CrowdTwist
Mark Fayngersh
 
Manoj(Java Developer)_Resume
Manoj(Java Developer)_ResumeManoj(Java Developer)_Resume
Manoj(Java Developer)_Resume
Vamsi Manoj
 
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Dakiry
 
"Progressive Web Apps" by Riza Fahmi (Hacktiv8)
"Progressive Web Apps" by Riza Fahmi	(Hacktiv8)"Progressive Web Apps" by Riza Fahmi	(Hacktiv8)
"Progressive Web Apps" by Riza Fahmi (Hacktiv8)
Tech in Asia ID
 
Progressive Web Apps. What, why and how
Progressive Web Apps. What, why and howProgressive Web Apps. What, why and how
Progressive Web Apps. What, why and how
Riza Fahmi
 
MongoDB and In-Memory Computing
MongoDB and In-Memory ComputingMongoDB and In-Memory Computing
MongoDB and In-Memory Computing
Dylan Tong
 
Designing Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAsDesigning Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAs
Dave Malouf
 
MetaASO J2EE Web Framework
MetaASO J2EE Web FrameworkMetaASO J2EE Web Framework
MetaASO J2EE Web Framework
guestc23c1f
 
Streamlining Your Applications with Web Frameworks
Streamlining Your Applications with Web FrameworksStreamlining Your Applications with Web Frameworks
Streamlining Your Applications with Web Frameworks
guestf7bc30
 
Web 2.0 = Accessibility 2.0?
Web 2.0 = Accessibility 2.0?Web 2.0 = Accessibility 2.0?
Web 2.0 = Accessibility 2.0?
Jared Smith
 
Storage Systems for High Scalable Systems Presentation
Storage Systems for High Scalable Systems PresentationStorage Systems for High Scalable Systems Presentation
Storage Systems for High Scalable Systems Presentation
andyman3000
 
CSA on Rails: a practical case-study
CSA on Rails: a practical case-studyCSA on Rails: a practical case-study
CSA on Rails: a practical case-study
calamitas
 
Bruce Lawson Opera Indonesia
Bruce Lawson Opera IndonesiaBruce Lawson Opera Indonesia
Bruce Lawson Opera Indonesia
brucelawson
 

Similar to Dojo 1.0: Great Experiences For Everyone (20)

Sustainable Agile Development
Sustainable Agile DevelopmentSustainable Agile Development
Sustainable Agile Development
 
USG Web Tech Day 2017 - CMS Tunnel Vision
USG Web Tech Day 2017 - CMS Tunnel VisionUSG Web Tech Day 2017 - CMS Tunnel Vision
USG Web Tech Day 2017 - CMS Tunnel Vision
 
Performance testing with your eyes wide open geekweek 2018
Performance testing with your eyes wide open  geekweek 2018Performance testing with your eyes wide open  geekweek 2018
Performance testing with your eyes wide open geekweek 2018
 
Cloud Computing Introduction
Cloud Computing IntroductionCloud Computing Introduction
Cloud Computing Introduction
 
GDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
GDD Japan 2009 - Designing OpenSocial Apps For Speed and ScaleGDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
GDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
 
Performance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introPerformance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter intro
 
Measure and Increase Developer Productivity with Help of Serverless at Server...
Measure and Increase Developer Productivity with Help of Serverless at Server...Measure and Increase Developer Productivity with Help of Serverless at Server...
Measure and Increase Developer Productivity with Help of Serverless at Server...
 
The State of Front-end At CrowdTwist
The State of Front-end At CrowdTwistThe State of Front-end At CrowdTwist
The State of Front-end At CrowdTwist
 
Manoj(Java Developer)_Resume
Manoj(Java Developer)_ResumeManoj(Java Developer)_Resume
Manoj(Java Developer)_Resume
 
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
 
"Progressive Web Apps" by Riza Fahmi (Hacktiv8)
"Progressive Web Apps" by Riza Fahmi	(Hacktiv8)"Progressive Web Apps" by Riza Fahmi	(Hacktiv8)
"Progressive Web Apps" by Riza Fahmi (Hacktiv8)
 
Progressive Web Apps. What, why and how
Progressive Web Apps. What, why and howProgressive Web Apps. What, why and how
Progressive Web Apps. What, why and how
 
MongoDB and In-Memory Computing
MongoDB and In-Memory ComputingMongoDB and In-Memory Computing
MongoDB and In-Memory Computing
 
Designing Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAsDesigning Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAs
 
MetaASO J2EE Web Framework
MetaASO J2EE Web FrameworkMetaASO J2EE Web Framework
MetaASO J2EE Web Framework
 
Streamlining Your Applications with Web Frameworks
Streamlining Your Applications with Web FrameworksStreamlining Your Applications with Web Frameworks
Streamlining Your Applications with Web Frameworks
 
Web 2.0 = Accessibility 2.0?
Web 2.0 = Accessibility 2.0?Web 2.0 = Accessibility 2.0?
Web 2.0 = Accessibility 2.0?
 
Storage Systems for High Scalable Systems Presentation
Storage Systems for High Scalable Systems PresentationStorage Systems for High Scalable Systems Presentation
Storage Systems for High Scalable Systems Presentation
 
CSA on Rails: a practical case-study
CSA on Rails: a practical case-studyCSA on Rails: a practical case-study
CSA on Rails: a practical case-study
 
Bruce Lawson Opera Indonesia
Bruce Lawson Opera IndonesiaBruce Lawson Opera Indonesia
Bruce Lawson Opera Indonesia
 

Recently uploaded

Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
Safe Software
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
Alex Pruden
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
BibashShahi
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
Edge AI and Vision Alliance
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
Fwdays
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 

Recently uploaded (20)

Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 

Dojo 1.0: Great Experiences For Everyone

  • 1. Dojo 1.0: Great Experiences... For Everyone Alex Russell Project Lead, The Dojo Toolkit
  • 2. Maslow’s Hierarchy of Needs • Deficiency needs - Physiological - Saftety - Love/Belonging - Esteem • Growth needs - Exploration, asthetics - Self-actualization http://en.wikipedia.org/wiki/Maslow's_hierarchy_of_needs
  • 3. The Application Hierachy Of Needs • Deficiency needs - Platform - Security - Social Capacity - Competition • Growth Needs - Integration - Platform capacity
  • 4. If The Platform Isn’t Ubiquitous And Capable, Another Will Emerge
  • 5. Changes In Cost Are Changes In Capacity
  • 6. Complexity Is The New Dominating Factor In Cost
  • 7. Where Are We Fighting Complexity? • HTML • CSS • JavaScript • Server integration
  • 8. The Wall Of Complexity http://flickr.com/photos/kidisland/502242023/
  • 9. Implements Of War • Grouping + Encapsulation • Shared Context • Patterns of Practice • Separation of Concerns • Forgiveness
  • 10. So How Are We Doing?
  • 11. Implements Of Failure • Grouping + Encapsulation - Server-side includes essentially state of the art • Shared Context - HTML/CSS/JS stack wickedly hard to learn • Patterns of Practice - Microformats, CSS as emergent semantics • Separation of Concerns • Forgiveness - XML pipe dreams persist, Semantic Web faffery
  • 12. Semantic Differences • HTML gives us: - Platform - Some security - Social capacity - Patterns of practice - Shared context (common vocabulary) • The failure to provide sustainable platform competition leaves us arguing over the scraps
  • 13. Good Semantics Let You Say What You Mean And Get What You Want
  • 15. Ajax: The “Get Out Of Jail Free” Card • Within a small band of capabilities, JavaScript allows us to dig our way out - Cost is enormous • Toolkits have exhibited competition and platform capacity behaviors • Integration nowhere to be seen - Example: mirrored validation - REST? Something else?
  • 16. Platform Capacity Is The Ability To Grow New Semantics
  • 17. How The Web Gets New Semantics (decreasing order of leverage) 1.Standardization (W3C, ECMA, etc.) • Byproduct of competition 2.Invention • JavaScript “upgrades” or “hot-patches” to pages 3.Convention • Microformats, CSS patterns of practice
  • 18. When Are You Going To Talk About Dojo?
  • 19. Invention vs. Completeness • Invented semantics via JS are disadvantaged: - On the wire - In performance and integration - In access to assistive technologies - In look-and-feel cohesiveness • Only medium/large-scale investment yeild complete results today - Product vs. project
  • 20. A Toolkit That Invents Semantics Is Responsible For All Of These Concerns* * this argument is both self-serving and disingenuous, however that doesn’t make it false
  • 22. Developer User Experience <a href=quot;images/depot.jpgquot; dojoType=quot;dojox.image.Lightboxquot; group=quot;myTravelsquot; title=quot;Photo of a Train Depotquot;>A Train Depot</a> <a href=quot;images/greenville.jpgquot; dojoType=quot;dojox.image.Lightboxquot; group=quot;myTravelsquot; title=quot;A Photo of Greeneville, TNquot;>Greenville</a>
  • 23. Customization /* structured CSS allows over-rides */ .dijitDialogUnderlay { background: white; } // template system allows complete UI rework dojo.extend(dojox.image._LightboxDialog, { templatePath: dojo.moduleUrl(“myApp.tmpl”, “dialog.html”) });
  • 24. a11y & i18n Concerns • Incredibly robust keyboard handling code • All Dijit widgets fully WAI ARIA augmented - role=quot;wairole:dialogquot; - System support for easily adding role/state info to your own widgets • Detection/support for high-contrast mode - separate theme applied for high-contrast - structured CSS cascade allows you to easily provide a11y rules for custom themes and widgets
  • 25. Performance Responsiblity • Time on the wire • Time-to-render • Data caching, storage • Encourage usage of faster paths through better API design • “Pay-as-you-go” performance optimization strategies - Make each step on the path as painless as possible
  • 26. Performance Responsiblity • Stragegies: - Tiny Core - Tightly controlled, curated APIs - CDN edge-cached, gzip always enabled - The Build Process - Completely optional, gradual adoption - Package system reduces complexity through grouping
  • 27. You Can’t Tack These On Later, i.e., Systemization Matters
  • 29. ...But We Wish We Didn’t Have To
  • 30. Our Collective Perception Of Where We Are On The Hierarchy Is Wrong
  • 31. The Lack Of Competition Is A Deficiency That Prevents Access To Growth Needs
  • 32. You Should Be Demanding A Better Future From The People Who Can Deliver It
  • 33. Until Then, Toolkits Should Be Preparing For A Better Future...