Notes from Attending dojo Developer Days

Published
2007-01-15 17:20
Written by
Dave Greenberg - member of the CiviCRM community - view blog guidelines
dojo is an open-source Javascript Toolkit which is designed to facilitate integration of advanced Ajax and DHTML features into web applications. CiviCRM has started incorporating Dojo widgets as of 1.6 - including:
  • Auto-completion on Quick Contact Search block.
  • Tab containers for more efficient handling of Contact Summary tabs (doesn't reload the entire page when switching between tabs).
  • Mouseover Tooltips for inline help.
  • ... and we are planning on adding more features in 1.7 as we work on streamlining the user interface and creating more desk-top like work-flows. This past Friday, I took advantage of an opportunity to learn more about the project from the "inside" and meet some of the developers by attending their Developer Days #2 meeting here in the Bay Area. The gathering was well-attended by a passionate and committed group of folks - and it was quite exciting and interesting to see folks grapple with some of the same issues and questions which we are facing with the CiviCRM project...
    • What steps can we take to better understand and serve our target community / audience?
    • How can we prioritize resources for "productizing" the software - more/better documentation at the code and end-user level; marketing (in the sense of helping potential users decide if this is a good fit for their needs); more focus on testing; etc. ?
    • As we learn better, smarter ways to do things... when is it time to ditch backwards compatibility in favor of optimizing and simplifying the codebase? What can be done to minimize the "hardship" of these changes for existing implementations?
    • We need to constrain choices and/or establish "conventions" for how things are done, rather than making everything infinitely flexible (and hence complex).
    Alex Russell, one of the Dojo founders, shared two great quotes which illustrate processes that I think the CiviCRM project will be going through as we work on ways to support an increasing number of features WHILE making the software easier to use and more robust: "Simplicity does not precede complexity, but follows it." "Users think they want features. They want features they can Master." ... and then there were some really cool demos and projects reviews on some of the advanced and cutting edge interfaces that folks are building with dojo....
    • Graphing with the dojo gfx library.
    • Plans for a Dojo Offline Toolkit
    • Cool scrollable spreadsheets from Turbo Widgets (not open source, but a nice example of how far you can go in building interactivity into a web page w/ DHTML and Ajax).
    • Info about integration of dojo with Sun's Jmaki initiative (which defines widgets via PHP or JSP tags and is BSD licensed), as well as IBM's Websphere product.
    The dojo project seems to be on a great path - with a rapidly increasing base and support from a number of large corporate players including IBM and Sun. We look forward to leveraging the growing power of this toolkit to improve CiviCRM - and also to contributing back to the dojo project as we gain expertise. If you're interested in shaping the future of CiviCRM's user interfaces - take some time to review some of the dojo widgets (click "see it in action"), and think about how they could be used to streamline and improve the user experience.
    Filed under