presents The Dojo Ecosystem: How Open-Source and Commercial Succeed Together
Nice to Meet you Dylan Schiemann Co-Founder of Dojo Toolkit CEO, SitePen, Inc. President, Dojo Foundation Based in Phoenix area @dylans @sitepen @dojo
Dojo History and Roadmap 2004 First code 2005 Dojo Foundation release 0.1, 0.2 2006 IBM, AOL release 0.3, 0.4 release 1.0 release 1.2 2007 2008 release 1.3 2009release 1.4 release 1.5 2010 mobile 2011 release 1.6, 1.7 (Nano), 1.8 2012 release 1.9, 2.0, 2.1
Project Goals Unified JavaScript toolkit for superior web and mobile apps Fill the Gaps (browsers, platforms) Fast, Powerful, Efficient, Modular, Extensible, Professional Business-friendly: grids, charts, forms, & data Rich UI widgets (calendars, 3D carousel, etc)
Philosophy Push the limits (vector graphics/webgl, offline, HTML5,...) Define and adopt defacto standards (AMD, JSON Schema) Developer productivity and tools Open, free, & liberally licensed
What's Driving Us? Less is more uxebu experiments and embedjs microtoolkits splitting things out, bringing them back together mobile evolution of loaders evolution of browsers/html5
Multifarious Experiences
The Dojo Foundation Open Home for the Open Web
Foundation Structure The Dojo Foundation is the home of great 100-point open source projects, created by extraordinary people and companies to solve important problems. 501(c)(6) non-profit foundation just enough foundation without bureaucracy or excessive process 5 member board Toolkit project lead council (1 per project) Voting by committers (generally through mailing lists) Committers nominated by project, reviewed by board Projects are very autonomous All code contributed through CLAs
Community
Major Contributors & Users AOL, IBM, SitePen, TIBCO 800 Flowers, Alcatel-Lucent, ADP, BMS, BMW, Chase, Citi, Cheesecake Factory, Cisco, Cox, Daimler, ESRI, Fidelity Investments, Google, Intalio (WebTide), Lufthansa, Mozilla, Napster, NASA, Oracle (Sun), Orange, Pearson, Thomson Reuters, UK, Uniface, USA, uxebu, vmware (Spring), Vodafone, Wall Street Journal, Williams-Sonoma, Zend, 1000s more
Foundation Projects
Current Involvement Use Dojo for RIA and Ajax initiatives Sponsoring events Getting more involved http://dojoconf.com/
Potential Contributing patches and improvements More vocal with necessary changes Sponsoring improvements Creating developer ecosystem between Dojo and Uniface Users
Uniface Community
Dojo Benefits for You Excellent web application user interface elements Open and constantly improving toolkit and features Standard toolkit, easier to find assistance
Community Benefits Collaboration Discussion Sharing Faster time to market
Open + Commercial
Open 100-point open source Business and commercial friendly BSD license, clear IP policies Decentralized control Ownership and contributions Typical of commodities
Commercial More specialized e.g. Uniface development tools on top of Dojo Typically includes direct support or assistance e.g. SitePen provides paid Dojo support
You Build apps and platforms with tools you like Leverage the best of both worlds Scale Up & Down Market Segmentation Rapid Deployment & Iteration Experimentation Reach New Markets Focus on your differentiation
Setting Direction
Marketing Examples Documentation Community Conferences Being Genuine But not shy
Dojo Nano "Base-less" Dojo Only using the parts of Dojo you really need, on a much more granular level Dojo 1.7 AMD loader <4K gzip/minified
Vision Defining clear vision and goals Agreement Execution
Evolution Web 1.0 Dumb client, smart server Focus on HTML & CSS, "separation of markup and presentation" Web 2.0 Smarter client, smart server, conflict Initial break of many paradigms Search indexing, history, navigation Didn't really account for mobile DOM-centric Ajax: sort of real-time
Revolution: Separation of Data and UX You want access to your data, and information in a variety of experiences relevant to your current context Aggregation User Interfaces and experiences Challenging past assumptions statelessness, truly embracing REST abusing markup for "separation of markup and presentation" control and federation of data
Strategy Many conferences Inspiration Lead by example
Documentation Significant Tutorial Series (54 and counting!) http://dojotoolkit.org/documentation/
Some Plans for 1.8 to 2.0 API Clean-up, Further Split of Features Compose (improved declare), xstyle, put-selector, Dijit/Widget Remove weight of deprecated APIs DojoX completely moved to foundation packages Releases Performance test suite across entire toolkit, and eventd Independent releases of packages, roll out package release sets Support major HTML5, mobile, modern browser features Web Builder and Dojo Foundation Packages integration Tools support improvements
Cohesion Herding Cats Best Code Wins
Major Changes and Additions (1.6) Dojo Object Store Feature detection/has.js LESS CSS framework HTML5 data attributes AMD (Asynchronous module definition) Android, IE9, FF4+ support dojox.socket, Stateful Dojo Web Builder Tutorials, Docs
Major Changes and Additions (1.7) Query, events refactor (including delegation) AMD refactor complete (async loader) Mobile Blackberry 6+ Touch events in Dijit dojox.app Dojo Foundation Packages dgrid, CPM, NPM Tutorials, docs, Maqetta
Result: Modular Tools, Community Tools to mix and match to create your app Separate data from UI logic simple and seamlessly Modular enough for very simple projects, flexible and consistent enough to handle the most challenging, featurerich web apps
Open Source and Commercial are Mutually Beneficial for You
SitePen: We help our clients build great apps. Web App Development, Design, Advice Support & Training Strong advocates and contributors of FOSS Works with some amazing companies and organizations:
Thanks! Q&A SitePen sitepen.com Dojo Toolkit dojotoolkit.org Twitter: @dylans @sitepen @dojo