To Wednesday 17th November 2010 and the proper conference began in earnest with a keynote by Mark Reinhold, which was about Java SE 7 and then followed by Dion Almer and Ben Galbraith, who had a breathe taking reprise of State of the Web.
Java SE 7 and 8
Mark Reinhold talk about the upcoming reasons for the Release Plan B. The schedule for the release is pretty ambitious as the date is 28th July 2011. There were no more surprise in store in Project Coin, since the keynote at JavaOne 2010. There were explanations for the delays in getting out JDK 7. I think generally the development community were acceptable to new features like: multiple-catch exceptions, string literals inside switch statements, type inference for generic types. The big announcement of course the night the keynote was a Mark Reinhold blog, where Oracle pushed out the Java Specification Requests for Java SE 7 and 8, Project Coin, Jigsaw and Lambda, namely 334, 335, 336 and 337. Now that was good news that the community had wanted hear for a long time. These JSRs have now been submitted to the Java Community Process.
State of The Web
(L-to-R: Dion Almer and Ben Galbraith keynote)
There was another keynote to follow up and it was by Dion Almer and Ben Galbraith. It was a really good presentation and rather thought provoking I should say. Galbraith and Almer started with an examination of Microsoft sudden change of heart on the web with push of Internet Explorer 9 (in Beta status now) and the deprecation of Silverlight.
The Ajaxian duo team reviewed the state of the web with screen captures from the grand old days of the web. Screenshot of the Google web page from 1998 was updated to the present day. The same applied to Apple and the audience were amused by the sheer change. It was clear the change in the look and user interface when UX designers got on board the web. The duo pointed out that the influence of Ajax and Ruby-on-Rails, 37 Signals creator, David Heinemeier Hansson on the way the web has evolved. There was a clear distinction in the presented evidence of web sites pre 2006 and post the Ajax revolution.
Reflection Madness by Heinz Kabutz
Heinz Kabutz, fellow Java Champion
Doctor Heinz Kabutz had some interesting Java puzzler solutions concerning Java Reflection. It appears you can break the JVM by changing the private field property of immutable objects. Take instance the venerable java.lang.Integer class. An object of this class can be subverted such that it’s secret private value is not in agreement with its declared constructor input. Now if you add to this object to collection and you start iterating over the collection, may your program can go into infinite loop or crash. His newsletters contains the full explanation and examples so I refer you to got subscribe to this fellow Java Champions web site Java Specialist.
From Shabby To Chic by Richard Bair and Jasper Potts
This was repeat of the presentation almost that Bair and Potts gave at JavaOne six weeks ago. The technical session was about styling JavaFX components. The JavaFX SDK team, namely the duo here spent some considerable time building Caspian component with really nice designer look and feel. The example was the JavaFX Login Dialog screen and so this is repeat report and I will leave it there.
JavaFX Your Way: Building JavaFX Applications with Alternative Languages by Stephen Chin
Stephen Chin, fellow Java Champion
This is also a repeat presentation from JavaOne 2010 and for the benefit of the European. So ok if you could not get to JavaOne, then it shows the presenters do get send the message to a different continent. Since the surprise announcement about JavaFX Script these examples on the experiments of programming with JavaFX 2.0 as DSL are quite useful. For my money, many developers, especially the innovative one, might look to program JavaFX 2.0 from alternate JVM language in the future rather than Java. If you are thinking of JavaFX 2.0 then it worth taking a look at some the presentation slides and also getting the Parley’s video when it is released.
Performance Anxiety by Joshua Bloch
Unfortunately this was one I missed due to networking with individual. I will pick it up on Parleys.
Android Graphics and Animation by Romain Guy and Chet Haase
(L-to-R: Chet Haase (Google), Romain Guy (Google) and James Ward (Adobe). Actually there is a funny story of the custom "hoodies" that I think is better told by Devoxx chief organiser, Stephan Janssen. 😉
Here was a session that left me a little confused about the Android platform. I think that I sort of got the design architecture of the Android platform. A Canvas type has no state and does not store a display list. A Paint type has a state about the colour and the brush to fill a Drawable type. Android is an unfamiliar graphics system based on the hierarchical order of “views”. There is the concept of a ViewRoot and nested Views. Actually I think that Romain Guy answered my question as best he could have. I asked about the different states and the filtering that could be applied to an Android graphic application. He answered that the filtering work only with bi-linear algorithm and not bi-cubic one, and in fact that even Java 2D does not implement the graphics context hint BICUBIC.
JavaFX BOF by Richard Bair and Jasper Potts
In this BOF Richard Bair and Jasper Potts were connected to the other Oracle SDK over a web conference. They had the brilliant idea of throwing open the design decision to a much wider audience. The question was, which design programming idiom should the Oracle JavaFX SDK team use to write the new JavaFX 2.0?
This BOF, therefore, was much more intense discussion of the above scene-graph node construction kit. Stephen Chin, Jo Voordecker and Johan Vos were also in attendance for this crucial BOF. It made for a more technical discussion of JavaFX 2.0. The result was that the “Builder method chaining” programming idiom looks like it was the best solution going forward. This is, however, no guarantee that the Oracle JavaFX SDK team will take it forward. As was said, before the huge issue is the binding of properties of the Java scene-graph node objects, and that binding works best when it is immutable and therefore the binding must initialised at object construction time. In other words, as with JavaFX Script, it is not easy to implement dynamic binding and therefore infer “unbinding” of two properties without excessive cost and complexity.
Salient questions were:
- How can we have an object construction idiom in Java that is type safe?
- How can we reduce the boiler-plate of the syntax to make it easier for [intermediate] Java developers?
- How can we write an object constructor idiom that is amenable binding in Java [that inherits most of the power of JavaFX Script]?
Here is my own question thrown in is:
- How does the new object construction idiom, whatever its future scheme, help domain specific language writers in other programming languages like Groovy, Scala or Clojure?
What’s New In Parleys.com Version 4 by Stephan Janssen
This BOF with Parleys.com Version 4 was extremely impressive. It was quite amazing how much further along the software improved since 2009. The Parleys 4 now works on iPad and will be shortly working on Android devices. The iPad support was through a MP4 conversion process that Stephan Janssen described. MP4 will be featured on Devoxx 2010 technical sessions and keynotes. Unfortunately older presentation streams and channels will not be transcoded. Stephan Janssen claimed it is just too much work, memory and time.
The key demonstration was how to use Parleys to capture a presentation talk in audio and video including the slides. Most presenters export PDF to the conference, so a specific application captures the PDF slides and separates each slide to a JPG image. Another part of the Parleys application examines the video stream of the presenters laptop and smartly demarcates slide transitions. This same technique also recognises when the presenter has jumped into demo mode. In other words, Parleys can automate a lot of the digital capture of a presentation.
The iPad client version was created by Jan-Kees van Andel in his spare time. The version has a very nice U/X specifically designed for the Apple tablet device’s resolution. The author pointed out that it is designed solely for the iPad U/X and not the iPhone. The Parleys client supports the iPad using HTML5, standard Java Server Faces (JSF) and streaming MP4 service. It is also open source.
The Android client version was still in development mode. However it had all the good U/X hallmarks of the other clients. Android Parleys client is expected early 2011.
This is Peter Pilgrim at Devoxx 2010. Out