• 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


    JavaOne 2011 Tuesday

    October 5th, 2011
    The Java strategy keynote started slowly with Juniper networks presenting their
    take on Java, which was in my eyes not really related to the topic of the keynote.
    It then went on into the Java roadmap with the announcement that new Java versions
    should come every two years, which sounded to me like an excuse for Java 8 being
    deferred until “Summer 2013″.
    The real surprise was a demonstration of JavaFX running various devices like
    tablets and smartphones running Windows, Android, and even iOS! It appeard to
    be experimental but the sheer possibility makes a difference.
    In addition, JavaFX will be fully open-source such that everybody is free to
    port it to his platform of choice.
    Over lunch, the “Java Desktop Community” assembled in a nearby restaurant.
    That was an awesome opportunity for meeting the Swing and JavaFX luminaries just like in the years before.
    In the early afternoon, I headed for the talk about custom JavaFX components
    presented by Jonathan Giles and Jasper Potts. It appears customizing any
    control is mainly done via CSS. In other words, there is no typesafe API.
    I would rather prefer to use CSS only for “skinning” and keeping an API for
    source-code integration.
    It also came out that the current JavaFX version doesn’t contain e.g. a
    ComboBox. This came as a surprise since I would expect this as being part
    of the standard widget set. I curious what else is missing.
    There also is a distinction between public and private APIs that didn’t
    make immediate sense to me – other than the private parts are not yet
    finished.
    The afternoon JavaPosse BOF was rather disappointing. They re-told the
    story of this morning’s keynote. Who needs that?
    Visiting the pavillion was nice even though it was just as small as
    last year. Anyway, I ran into a number of friends and dropped by the
    gradleware booth. They liked my animated Gradle logo, that I implemented
    with the Groovy-based FXG interpreter.
    The SpringSource friends were just shutting down the booth and invited
    me to dinner: http://t.co/LfxhjIH8 . Thanks a lot!

    Finally, late in the evening I joined Dan Sline’s talk on WebServices in the Groovy space. The major take-away for me was a repercussion of the well-known advice: “keep it simple”.

    Throughout the day, a lot of people approached me to tell how much they liked my talks yesterday. That was a really nice experience. Last year I had the very last talk of the conference and only this year I recognized how much of a difference the scheduling of the talks make.

    Dierk Koenig


    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”!