An introduction of the standard features (enhanced language features, closures, regular expression support, GString, collection, etc.) was presented, before discussing the more productivity-enhancing features, most notable of which were:
Groovy Builders & GPath: No longer do you need to interact with complex XPath APIs to access data. With GPath XML documents act as first class objects, allowing you to access data by calling properties. Using builders, you work in the reverse direction, using objects and braces to create XML files. Along with XML builders there are Swing and ANT builders.
Annotation Support: With the release of 1.1 later this year, Groovy will be the only dynamic language that supports annotations. This is an important milestone as it will allow bidirectional data access. A demonstration using Google Juice and TestNG showed how easy a test case using injected mock data can be developed.
Live Objects: The Groovy shell feature is not only a simple way to explore the language, but can be used to interactively explore the current Java runtime environment. When embedded into an application, runtime configurations can be explored and modified in real-time, allowing you to check assumptions and test out theories before making permanent changes in the code.
Dynamic Applications: Compiling Groovy into Java class files and then using the static class files in your applications is one option, but there are a couple of other options available to developers. The most compelling is to use the GroovyClassloader - with this option the Groovy scripts are compiled at runtime as they are requested, allowing source files to be changed and used without restarting the application.
Charles Ditzel has posted the PPT for download with the presentors permission.