This year's Demo camp was sponsored by the Eclipse Foundation, SpringSource (a division of VMWare), and TaskTop.
Mik Kersten, Tasktop, Welcome and Eclipse Ecosystem Overview
Mik Kersten started the evening off with a brief introduction to some new features in the new Helios release. In addition to modernizing SWT to integrate better with Windows 7, and new Mylyn connectors, the most interesting new feature he described was the Eclipse Market Place. In the past, finding new content to install into your Eclipse installation required users to go to an external browser, find a link to an update site, and copy it into your update manager. Now, all this can be done transparently through the market place client from within Eclipse.
Kris De Volder, SpringSource, AspectJ and AJDT
Next up was Kris De Volder, a new colleague of mine that we snatched from the Computer Science Department at the University of British Columbia (UBC). He demoed some of his new work on AJDT, specifically the new Pull-Out refactoring that allows users to pull-out fields and methods from classes and convert them into intertype declarations. This will be available in the upcoming 2.1.0 release of AJDT.
He also demoed the Push-In refactoring, the converse of Pull-Out, which takes existing intertype declarations and pushes them into their target types. This is work that I did a short while ago and is described here.
Emerson Murphy-Hill, UBC, How Are People Using Eclipse?
Emerson showcased some of his research at UBC on how Eclipse is being used, or not used by developers. Some of the most surprising results of his research, in my opinion, are how little all of the various refactorings are used inside of Eclipse. And how the ones that are popular are not the ones that I personally use.
My personal favorites are rename (field, method, type, etc), extract (local, constant, and method), and convert local variable to field. Apparently, not many people use the last one. But (oddly, in my opinion), inline method seems to be quite popular---something I've never used.
David Dossot, MuleSoft, MuleSoft Tool Suite
David gave a brief tour of MuleIDE, which provides tool support for creating and managing your MuleSoft projects in Eclipse. David used MuleIDE to access road work data from the city of Vancouver and built a simple application to determine how many kilometers of roadwork are currently underway in Vancouver. Not bad for 8 minutes!
Alex Bradley, UBC, Source Code History at Your Fingertips
Do you use the "Show annotations" feature of CVS or SVN? I actually didn't know about this. Using "Show anotations" will add gutter markers on lines changed by recent commits to the source repository. Hovering over the annotations will provide extra information.
Alex showed his enhancements to the Java editor, which converted these annotations into semi-transparent overlays that co-exist with the source code. This is work that Alex has done for his master's thesis at UBC. I liked how his enhancements made version changes more explicit in the editor.
Nieraj Sing, SpringSource, Groovy language and Grails Support in the SpringSource Tool Suite
Nieraj is another new colleague of mine at SpringSource. He's a summer student from the University of Victoria. Nieraj showed his recent enhancements of Grails support in the SpringSource Tool Suite. He showed the Grails explorer view, which allows developers to view their Grails projects organized in a way that emphasizes artifacts and structure specific to Grails projects. He also showed his work on the Grails Plugin Manager, which allows developers to view, install, update, and uninstall Grails plugins into their projects.
Luke Evans, Indicee
Luke introduced the CAL programming language, a lazy-functional language developed by him and others when he worked at Business Objects (now SAP). He showed how programmers can use CAL to quickly and easily compose functions to manipulate streams of data in complex ways. It is this language that forms the core of the business reporting tool produced by his company, Indicee.
Bjorn Gustafsson, ProjectKoach
Finally, Bjorn showed ProjectKoach, an RCP application that brings agile planning into Eclipse. He showed how you can create sprints, manage tasks, integrate with version control, and integrate with bug trackers through Mylyn.