• Home
  • About
  • JavaOne 2011 Thursday and wrap-up

    October 7th, 2011
    Opinions expressed in the post are solely my own and not necessarily those of my employer.

    Thursday started with the Community Keynote. Well, it actually started with a 25 minutes IBM presentation about their cloud story. This had obviously nothing to do with the topic of the event and later speakers pointed this out rather frankly. At least it was interesting to hear that there is a job title like “Cloud Architect”.
    The real part of the Community Keynote started with a quiet moment to honor Steve Jobs.
    Later on, various winners of the Duke choice award and JUG luminaries cared for a lighter mood again, presented their work and asked the audience for participation in their local JUGs and in the advancement of Java via the OpendJDK. The JavaPosse appeared on stage and presented a funny show.
    It was also announced that many of the JavaOne talks will be available on parleys.com, which provide by far the best experience when it comes to viewing live-captured talks.
    Afterwards I attended the ZeroTurnaround (JRebel) talk on classloader issues. The rather big room (~300 ppl) was packed and left the impression that many Java developers share a common pain around classloaders. It was a good talk, covering the basics and typical pifalls. The only surprise for me was *how* easily you can end up with a classloader leak.
    In order to improve my fathering skills, I went into Ken Sipe’s talk on “Rocking the Gradle”, where I met Adam Bien. Ken is a great presenter. However, convincing the crowd is a challenge especially as many Maven users seem to suffer from the Stockholm syndrome.
    Then onto “Visualization of Geomaps and Topic Maps with JavaFX 2.0″, which had some interesting visuals captured here.
    For me JavaOne 2011 finished with Jim Clarke and Dean Iverson on GroovyFX, where they made some really good points suggesting that Groovy is the best language to drive the JavaFX 2.0 API.
    As a side note, James Weaver introduced me to Jim Clarke by pointing out “He is from *Canoo*”. Then the discussion went into how well-known Canoo is in the community and that all employees must be true geniuses to achieve so much with so few people :-)
    Fazit: Still, JavaOne is nowhere near where it was before the Oracle acquisition both in terms of size and in terms of being an unparalleled community experience. Distribution all over various hotels just doesn’t feel right. However, meeting friends has been and still remains the most important part of JavaOne and the conference still delivers on that account.
    Important topics were new Java versions, JavaEE (+cloud), and Java for the Desktop with 50+ talks on JavaFX. Whenever the audience was asked about which alternative languages they use, Groovy was the clear winner. It appears that in the mainstream, Groovy has become the default choice for dynamic programming on the JVM.
    The topic of concurrent programming was in my eyes underrepresented. Guillaume and myself had simple usage of GPars in our demos but for such a big and increasingly important topic the coverage should be much more extensive.
    Finally, some visual impressions.
    Good-bye SF
    Dierk Koenig


    Jazoon 2009: JavaFX vs. Android

    June 24th, 2009

    Session title: JavaFX/Android: Competing technologies or ideal partnership?
    Speakers: Andreas Hölzl (Canoo), Mike Mannion (Canoo)

    Two geeks discussed Mobile/RIA stuff over coffee and while Mike played the part the JavaFX-guy, Andreas was the Android-man in this short talk. 

    P1010126
     
    Mike first talks about the JavaFX Mobile architecture, which builds on JavaME. The JavaFX API available to tje JavaFX Mobile developer is a subset of the whole JavaFX API available on the desktop. 

    Bild 1

    Andreas goes on to present the more sophisticated Android architecture, which first of all has an applicaton framework while we see a big hole at this level on the JavaFX side (see slide).

    Bild 2

    Mike agrees that the application framework is missing on JavaFX. He mentions that both he and Andreas have done iPhone development in which the the importance of the iPhone’s app framework plays a significant role in achieving look and feel consistency across applications.

    On the other hand, Mike notes, JavaFX has a very impressive designer-developer workflow, which enables you to transfer static Photoshop or Illustrator design to the netbeans environment. JavaFX can subsequently be used to add functionality to the design. Andreas points out Android’s architecture also permits one person to work on the UI design (working with an XML document) whilst another person works on the functionality (Java code).

    The two would-be actors raise the question of how one might possibly get a JavaFX program running onthe Android platform. Two technical scenarios are described, one involving a cross-compiler (cross-compiling JavaFX Script to the Android-compatible Java code), the second involving a port of the JavaFX runtime. The moral of this story is that no matter how you look at it, getting JavaFX to run on Android would be technically challenging. Android was designed from the ground up with its own intentions and philosophy. It would be miraculous if JavaFX would simply work on top of this.

    A poll of the audience at the end of the talk reveals that most of the audience thinks that Android will win over JavaFX mobile (in the market place) because of it’s mature and already commercially established architecture.


    Jazoon ’09: Wednesday Keynote from Danny Coward, Sun

    June 24th, 2009

    Title: Java SE and JavaFX RoadMap
    Speaker: Danny Coward, Chief Architect, Client Software

    Danny begins be showing the JavaFX roadmap…

    Towards the end of the timeline: “JavaFX.next”
    What on Earth could that mean?
    In any case: JDK 7 release due early 2010.

    Top 5 JDK SE 7 features

    1: Modularity
    Long overdue, the current JRE is around 14MB and contains a wide range of APIs. The average app only requires a small proportion of these. It also increases startup time.
    Danny points out a number of weaknesses in the CLASSPATH concept. This will apparently be addressed by a low-level modularilty system entitled Jigsaw.
    http://openjdk.java.net/projects/jigsaw/jcp.prg/en/jsr/detail?id=294
    The concept externalizes the package depenencies to a module file… which reminds me of Eiffel’s solution to this issue which is donkeys years old.

    2: Broadening the JVM to accelerate runtimes
    DaVinci Project should result in a new bytecode model, which enables dynamic invocation, lightweight method handles and a variety of other optimizations.
    http://openjdk.java.net/projects/mlvm

    3: Java Language Additions
    Project coin will result in a few small language enhancements:
    http://openjdk.java.net/projects/coin
    The switch statement will work with Strings.
    Multiple Exception handling
    catch (final IOException | ServletException e)

    Improved type interence will remove the need to double-declare generics so:
    List l = new ArrayList()
    Becomes:
    List l = new ArrayList ()

    Elvis operator eliminates a significant cause of Java’s verbosity:
    String s = mayBeNull?.toString() ?: “nothing”;

    Integer ival = …
    int i = ival ?: -1; // will be set if currently null

    Must confess, this is not what I understand by the Elvis operator, but it looks useful nevertheless.

    4: Four new I/O APIs
    These include: New filesystem API, File notifications, Directory operations, Asynchronous I/O. The latter permits an IO task to be defined using a Future, the Future delivering the result at a later point in time.

    5: New GC
    New garbage collector “Garbage First” should result in predictably low pauses, few full GCs and good throughput. Can be accessed in Java SE6 update 14 using:
    -XX:+UnlockExperimentalVMOptions –XX:+UseG1GC

    This will be switched on by default in JDK 7.

    Danny notes at this point that numerous other (small) features are also part of JDK 7.

    JavaFX 1.2 Top 5
    Danny begins by stating that Sun is trying to make up for lost time with JavaFX (as I have blogged in the past).

    More platforms
    JavaFX 1.2 runs on more platforms i.e. Linux and Solaris in addition to Windows and Mac. LG TV (purchasable in South Korea) incorporates JavaFX1.2. Finally, the HTC developer phone is also mentioned. Danny states that he hopes that phones will be available to consumers on the coming months. Don’t we all!?

    New features
    New widgets, charts, plus a new look and feel. L&F is possible via CSS, which is obviously a whole load easier than creating an L&F for Swing.
    Improved layout management
    Layout management: There are three new layout managers, but I know from experience these don’t yet cut it for non-trivial B2B apps.
    There follow a series of nice looking demos, which highlight that JavaFx is scenegraph based.

    Improved perforamance
    Performance up: Realtime streaming for media is now supported, which improves media startup significantly. Various optimizations in generated code and scenegraph. Bytecode footprint is down 30%.

    Improved data handling
    More and better ways to use data. RSS and Atom feed support. A simple asynchronous framework is also included, plus a simple data storage API.

    One final demo is really impressive: Using the bubblemark demo, Danny demos that JavaFX 1.2 performance is significantly better than Silverlight. Now that I would not have expected!


    J1 Session Blog: Extreme GUI makeover: Hybrid Swing and JavaFX

    June 4th, 2009

    In the past years the Extreme GUI Makeover sessions proved extremely informative, entertaining and popular. Every year I was curious to see whether they were able to keep up to the level of the previous year or even top it. Last year the session showed first signs of wearing out. This year a completely new team (Amy Fowler, Jasper Potts etc) took over from Romain Guy and Chet Haase. With JavaFX being a big topic at this years JavaOne it was quite obvious to use this for the makeover.

    And they did a pretty good job by taking the Swing-based mail application of the 2006 session and employed JavaFX to pimp it up even more. It is obviously not too hard to integrate Swing components into a JavaFX user interface (the other way round is not really feasible). JavaFX is simply the stage and Swing components can be included as a node (after wrapping them into some kind of JavaFX component). However, hooking up the event handlers is fairly cumbersome and does not really scale for complex applications with lots of event handlers.

    One highlight of the session was the address book of the mail application. They used JavaFX and Java2D to give a 3D impression of turning the pages with the mouse. Visually stunning although the user interface is totally impractical for everyday usage.

    The culmination of the session was certainly their idea of junk mail removal. They were using an animation which launched a rocket and on impact the spam mail exploded and disappeared accordingly. Being both funny and pointless this also perfectly illustrated how easy it is to add animation to a Java application and how difficult it will be to enhance productivity of business applications by means of JavaFX.

    Interview with Canoo Fellow Dierk König

    June 4th, 2009

     

    Scott Davis interviewed Dierk König, Canoo Fellow and Grails/Groovy-Evangelist for Thirsty Head at blip.tv. In the interview, Dierk gives an inside-view about new Grails improvements, about his JavaOne talk, JavaFX and the impact of Canoo Webtest. Enjoy this interesting chat about “beauty and code”!