My company, Nexaweb, together with SitePen, Mozilla Foundation, Redfin, etc, joined force in making an important contribution to the open source community. See SitePen, Mozilla Foundation, Nexaweb Technologies, Redfin, & SnapLogic Announce Open Source Contribution of TurboAjax Group’s High-Performance Grid Widget to Dojo Foundation.

This is interesting not only because it bridges a gap in Dojo toolkit.  Dojo has been the most credible offering in the Ajax marketplace so far (there are a few other good ones too, such as jQuery and EXT, though they have different design focus from Dojo). A lot of customers have been asking for a high quality "grid" widget from Dojo. TurboAjax guys already developed one based on Dojo 0.4. It looks fairly good(though there are obvious areas for improvement, see my wishlist below). So instead of trying to re-invent the wheel, why not try to work something out with TurboAjax folks so that the entire Dojo community can benefit from their work, while enaling the recognition of  TurboAjax effort and enabling them to continue to enhance their work?

However, the "open source" nature of Dojo toolkit means there is no single entity that has the financial power to make this happen. It seems to be a dilemma of "open source" to some degree: if you give away the software you developed, you don't necessarily have the financial strength to make the software better.

Now the even more interesting part of this contribution: the strength of the community, combined with  leadership and vision from selected entities, things can happen! The "dilemma" of open source can be the "strength" of open source.  This contribution is a perfect example. Recognizing the need of the community, coupled with an attitude to help, SitePen, Nexaweb, Mozilla, Red Fin, etc. came together and joined force to make it happen. Of course, it took a lot of work behind the scene. In particular, Dylan Schiemann from SitePen deserves a lot of credit here.

I am thrilled to see this contribution to Dojo. TurboAjax has done a great job in developing TurboGrid. Here is my quick wish list for the next version of TurboGrid when it is being rolled into Dojo 1.0:

  • Performance improvement! Currently TurboGrid is still limited to displaying about 100 rows. This is largely a limitation of Ajax itself (I mean the browser engine, which isn't really well tuned for applications), but there are areas for improvement. I think it is fairly important to be able to handle a few hundrend rows. With "virtual scrolling", this widget will kick butt!
  • Tree table functionality: Tree table is big in business applications. Without it, a lot of customers have to develop one from scratch. Technically speaking, "tree table" can certainly be part of the "grid" functionality. Currently TurboGrid alrady has something called "subGrid", which mimicks tree table functionality. It might be possible to change the stylesheet so that it really looks like a tree table. This may work, or may not. I haven't looked into this personally, but I certainly look forward to having this in Dojo!
  • If there are additional important features, please do not hesitate to post them here or make them be known in the Dojo community.