Dojo 1.0: Great Experiences For Everyone

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    6 Favorites

    Dojo 1.0: Great Experiences For Everyone - Presentation Transcript

    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
    14. For Applications, HTML/CSS Are Liabilities
    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
    21. L&F Responsibility
    22. Developer User Experience <a href=\"images/depot.jpg\" dojoType=\"dojox.image.Lightbox\" group=\"myTravels\" title=\"Photo of a Train Depot\">A Train Depot</a> <a href=\"images/greenville.jpg\" dojoType=\"dojox.image.Lightbox\" group=\"myTravels\" title=\"A Photo of Greeneville, TN\">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=\"wairole:dialog\" - 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
    28. Dojo Expresses Platform Capacity
    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...
    34. For Everyone
    35. Build With, Not On

    + slightlyoffslightlyoff, 3 years ago

    custom

    4348 views, 6 favs, 9 embeds more stats

    Slides from my talk at @Media Ajax

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 4348
      • 4243 on SlideShare
      • 105 from embeds
    • Comments 0
    • Favorites 6
    • Downloads 337
    Most viewed embeds
    • 89 views on http://alex.dojotoolkit.org
    • 7 views on http://www.squiz.co.uk
    • 3 views on http://www.netvibes.com
    • 1 views on http://www.dojofoundation.org
    • 1 views on http://www.hanrss.com

    more

    All embeds
    • 89 views on http://alex.dojotoolkit.org
    • 7 views on http://www.squiz.co.uk
    • 3 views on http://www.netvibes.com
    • 1 views on http://www.dojofoundation.org
    • 1 views on http://www.hanrss.com
    • 1 views on http://64.93.73.95
    • 1 views on https://www.squiz.co.uk
    • 1 views on http://english.zhuaxia.com
    • 1 views on http://blog.squiz.co.uk

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories