Wednesday, May 20, 2009

GR8Conf Summary: Groovy, Grails and Griffon in Copenhagen

Update [2009-06-29]: The slides of the conference are available on slideshare.

A remarkable group of alpha-geeks have gathered the last two days in Copenhagen to attend the GR8 Conference.

GR8Conf was a small conference dedicated to Groovy, Grails and Griffon.

About 90 people were attending, the conference, which is quite a number considering that the main marketing channels were mailing-lists and twitter.

Twitter was also an amazing phenomena at the conference itself: The conference almost seemed to take place in two parallel universes: Copenhagen and tweety-land... during the sessions a lot of the attendees were constantly tweeting their impressions and reading the tweets of their fellow attendees that were sitting next to them in the same room. The traces of this reality-loop can be found at #gr8conf on twitter.

The first session was from Jonathan Felch about a project in Real-Time Computational Finance.
At least some knowhow from the financial trading business would have been a requirement to really understand this sessions. Nevertheless it was interesting to see how Groovy with its dynamic nature was able to provide a real benefit in a highly dynamic business environment.

In the second session Dierk König presented 7 usage patterns for Groovy in Java projects.
This was an interesting and very cunningly presented session.
The seven patterns had quite expressive names: Super Glue, Liquid Heart, Keyhole Surgery, Smart Configuration, Unlimited Openness, House-Elf Scripts and Prototype.
Two more patterns were announced: Lipstick and Ghost Writer.
When asked about Groovy anti-patterns, his response was: overuse of the each()-method on lists, overuse os mocks and overuse of DSLs.

In the third session Guillaume Laforge presented the novelties of Groovy 1.6. The content of the session was roughly the same as in the matching InfoQ article.
In my opinion the AST transformations / compile-time metaprogramming capabilities are the most ground-breaking new feature, which has a huge potential for upcoming innovation.

In the fourth session Graeme Rocher presented the novelties of Grails 1.1.

The main focus of this release were better integration of Grails into the Java ecosystem (e.g. Maven or Ant) and improvements in the Grails plugin system.

The fifth session was a presentation of Guillaume Laforge about domain specific languages in general and the specific language features that enable the realization of internal DSLs in Groovy.

After that Andrew Eisenberg gave a short demonstration of the upcoming Groovy plugin for Eclipse that is currently developed at SpringSource.

The first day then was concluded with a dinner in Copenhagen's Tivoli.

Day two started with two fast paced sessions by Graeme Rocher. Graeme once said on Twitter "some Java confs are like funerals" ... he proved the contrary in those two sessions. They were jaw-dropping and woke the impression that Grails is really the holy grail of web development ;-)

The first session was called "Building Twitter with Grails". It was basically the same content as Graeme's Webinar.
Even after having attended the Webinar, it was still very inspiring to see Graeme live. It's just very impressive to witness the creation of quite a sophisticated web application (including security, full-text search, caching, asynchronous communication over JMS and RSS support) in under one hour.
A particularly funny episode during the presentation was when Graeme's attachable microphone went dead. As a temporary replacement he was given a handheld microphone, but since this was a real-time coding session, he needed both his hands ... Dierk König jumped in to stand behind him and hold the micro ... this shed a whole new light on pair programming ;-)


The second session was about the Grails plugin system. This session was equally astonishing as the first one. In another live coding session Graeme developed a plugin and demonstrated that Grails plugin development is not only something for infrastructure gurus but a useful way to modularize a Grails application.
On the same time he used the iwebkit plugin to demonstrate how easy it is to develop an iPhone interface for the twitter-clone from his previous session. This was extremely impressive and provoked the urge to try it out yourself...

The next session was by Jim Shingler about Griffon. This session had a hard stand after Graeme's incredible performance. Also the Griffon project seems still very much in the beginning, so there were a lot of questions and several discussions in the audience.
Unfortunately Jim ran out of time, and could not really finish his main goal: A rich client for the twitter-clone built in Graeme's previous session.

The last session of the conference was by Paul King about "Industrial strength Groovy". This was a very valuable talk, since it was obvious that Paul had a lot of experience from real-world Groovy projects. He talked a lot about best practices for Groovy and the similarities and differences between Groovy and plain Java projects. His slides can be found on slideshare.


Day two was wrapped up with a panel discussion with all the speakers of the conference.

One common undertone in the discussion was, that Grovvy and Grails are currently transcending from the early adoption phase into becoming a mainstream technology. This was underlined by the acquision of G2One by SpringSource and by the statement of Dierk König, that Groovy expertise has lately become a selling argument for Canoo.


  1. Great summary. Can you elaborate a little more on the interesting answers during the Q&A? I know Robert Fischer had sent some interesting questions...

  2. I cant remember all the robert fisher questions respective the answers

    "How has the SpringSource acquisition changed Groovy/Grails core development?"
    -> Graeme responded, that the acquisition has the positive effect, that he can now tap much more efficiently the knowhow-pool of spring and tomcat, ant that he can even influence those projects.
    No negative effect was mentioned.

    "What do they see as the key differentiator of Groovy/Grails, and what recent development effort supports that assertion?"
    -> Differentiator to plain Java development: obviously the gained productivity and efficiency that is delivered by Goorvy/Grails.
    ->Differentiator to other modern Languages/Frameworkls like Scala, Jython, Ruby, Rails, Django:
    Groovy respects the concepts of Java, therefore in a Java environment there is less friction. Every Java developer is also a Groovy developer, he just doesnt know it yet...

  3. My questions can be found here: (Be sure to click "Show Conversations" to see them all.)

    "What kind of functionality is beyond the scope of Groovy, Grails core?"

    "What do they see as the key differentiator of Groovy/Grails, and what recent development effort supports that assertion?"

    "How has the SpringSource acquisition changed Groovy/Grails core development?"

    "What technology integration does Groovy/Grails see as being key for moving forward? Why?"

  4. "What kind of functionality is beyond the scope of Groovy, Grails core?"
    -> I dont think this question was discussed.

    "What technology integration does Groovy/Grails see as being key for moving forward? Why?"
    -> Java will always be the most important technology to integrate. Every advancement of Java must be integrated into Groovy as smooth as possible. This was proclaimed as the main focus and main success factor for Groovy.

  5. Really excellent summary, we'll feature it in the grailspodcast that will be recorded tonight.


Related Posts Plugin for WordPress, Blogger...