SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
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
Maslow's Hierarchy of Needs and the Application to Web Platforms and Toolkits

Weitere ähnliche Inhalte

Andere mochten auch

Hunting & Fishing
Hunting & FishingHunting & Fishing
Hunting & Fishingmsmits
 
Flooding
FloodingFlooding
Floodingmsmits
 
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 Truekecpjv
 
Travel To Litoral ´07
Travel To Litoral ´07Travel To Litoral ´07
Travel To Litoral ´07FedeMaTu
 
Resumen Curricular 133740
Resumen Curricular  133740Resumen Curricular  133740
Resumen Curricular 133740guesta2ba29
 
Resumen Curricular 133740
Resumen Curricular  133740Resumen Curricular  133740
Resumen Curricular 133740guesta2ba29
 
Modelado Del Proy Final Vb 2007
Modelado Del Proy Final Vb 2007Modelado Del Proy Final Vb 2007
Modelado Del Proy Final Vb 2007UTP, TA
 
Resumen Curricular 131899
Resumen Curricular 131899Resumen Curricular 131899
Resumen Curricular 131899guesta2ba29
 
Herramientas De ComputacióN
Herramientas De ComputacióNHerramientas De ComputacióN
Herramientas De ComputacióNxxframaxx
 
Resumencurricular 135623
Resumencurricular 135623Resumencurricular 135623
Resumencurricular 135623guesta2ba29
 
Cartel Casa Inteligente
Cartel Casa InteligenteCartel Casa Inteligente
Cartel Casa Inteligenterosendo_ponce
 
Presentacion 135301
Presentacion 135301Presentacion 135301
Presentacion 135301guesta2ba29
 
Hiking & Kayaking
Hiking & KayakingHiking & Kayaking
Hiking & Kayakingmsmits
 
Upa Bangalore Town Hall Oct 19
Upa Bangalore Town Hall Oct 19Upa Bangalore Town Hall Oct 19
Upa Bangalore Town Hall Oct 19Amit Pande
 

Andere mochten auch (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
 

Ähnlich wie Maslow's Hierarchy of Needs and the Application to Web Platforms and Toolkits

Sustainable Agile Development
Sustainable Agile DevelopmentSustainable Agile Development
Sustainable Agile DevelopmentGabriele 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 VisionEric 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 2018Yoav Weiss
 
Cloud Computing Introduction
Cloud Computing IntroductionCloud Computing Introduction
Cloud Computing IntroductionAdomas 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 ScalePatrick Chanezon
 
Performance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introPerformance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introMykola 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 CrowdTwistMark Fayngersh
 
Manoj(Java Developer)_Resume
Manoj(Java Developer)_ResumeManoj(Java Developer)_Resume
Manoj(Java Developer)_ResumeVamsi 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 howRiza Fahmi
 
MongoDB and In-Memory Computing
MongoDB and In-Memory ComputingMongoDB and In-Memory Computing
MongoDB and In-Memory ComputingDylan 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 RIAsDave Malouf
 
MetaASO J2EE Web Framework
MetaASO J2EE Web FrameworkMetaASO J2EE Web Framework
MetaASO J2EE Web Frameworkguestc23c1f
 
Streamlining Your Applications with Web Frameworks
Streamlining Your Applications with Web FrameworksStreamlining Your Applications with Web Frameworks
Streamlining Your Applications with Web Frameworksguestf7bc30
 
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 Presentationandyman3000
 
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-studycalamitas
 
Bruce Lawson Opera Indonesia
Bruce Lawson Opera IndonesiaBruce Lawson Opera Indonesia
Bruce Lawson Opera Indonesiabrucelawson
 

Ähnlich wie Maslow's Hierarchy of Needs and the Application to Web Platforms and Toolkits (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
 

Kürzlich hochgeladen

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
[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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Kürzlich hochgeladen (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
[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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Maslow's Hierarchy of Needs and the Application to Web Platforms and Toolkits

  • 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...