• Home
  • About
  • Sample Apps
  • Videos
  • Sun Officially Launches JavaFX 1.0

    December 8th, 2008

    On December 4, Sun officially launched it’s long-awaited client scripting language JavaFX. Since JavaFX was first announced back at JavaOne ‘07 it has been subject to a major re-working – both in terms of language as well as marketing.

    As one of the handful of launch partners, Canoo had more than a little interest in seeing just how Sun would choose to position it’s latest offering on day #1. So here’s a compact (and subjective) summary of the key messages delivered at the event:

    Sun’s CEO Jonathan Schwartz took to the stage to emphasise, in particular, that “reach” (read: accessing volume i.e. consumer markets) is the key to generating revenues through a one-to-one relationship with the end-consumer. JavaFX supposedly supports this relationship by (a) being precisely designed to address consumer needs; (b) permitting applications launched in the browser to be dragged onto the desktop (a feature entitled drag-to-install), thereby eliminating Messrs. Firefox, Safari, IE etc. from subsequent interactions.

    It should be noted, perhaps, that this latter is actually enabled by JRE 6 update 10 – and has little or nothing to do with JavaFX per se, except that it definitely enhances the end-user’s experience.

    Beyond this message, JS personally demonstrated some very slick sample applications, mostly focusing on JavaFX’s multi-media capabilities as well as the aforementioned drag-to-install feature.

    Sun’s VP of marketing Eric Klein together with JavaFX platform director Nandini Ramani showed some more apps, the drag-to-install feature (again), as well as the designer-developer workflow. The Klein/Ramani demonstrations can be viewed here.

    Now, obviously there are a lot reasons to question whether or not JavaFX will succeed in a marketplace dominated by Adobe’s Flex/Flash and Microsoft’s Silverlight. It’s pretty clear that JavaFX cannot compete features and, at this stage at least, maturity.

    One reporter at The Register felt that Sun was most likely confusing the audience by placing so much emphasis on consumer devices, when Java’s foothold is clearly in the enterprise.

    Given the content of the presentations alone this observation would be entirely understandable. However, having personally spoken to several high-level representatives of the JavaFX platform during the event, I personally left the event very confident that Sun intends to give the enterprise just as much emphasis as the consumer – irrespective of all the cool looking multi-media stuff on show at the launch. After all, it makes no sense whatsoever to ignore the on-going needs of to thousands of major corporations around the planet, which have made a strategic commitment to the Java platform.

    The intimacy of the affair gave Canoo relatively high presence. Clearly various key members of the marketing team were thrilled with Canoo’s work and message revolving around the new version of the Musicpinboard (http://musicpinboard.com) application. Here’s Eric Klein thanking the launch partners for their efforts:

    And here am I talking to JavaFX architect and media specialist John Burkey (John is the one with the hair):

    Finally, Hans-Dirk and myself managed to catch Jonathan Schwartz a demonstration of the Musicpinboard application before he jetted off to his next appointment… (no pic unfortunately!)


    Canoo attending official JavaFX Launch December 4, 2008

    December 1st, 2008

    Canoo is delighted to announce that it will be attending the official launch of Sun Microsystem’s JavaFX technology on December 4th, 2008, in San Francisco, CA.

    The event will feature a keynote from Sun CEO Jonathan Schwartz and demonstrations of this significant new addition to the Java platform.

    Canoo is one of a handful of so-called “Java application showcase project” partners. These partners were specifically chosen by Sun because of their leading roles in the booming Rich Internet Application (RIA) market place.

    Canoo’s CEO Hans-Dirk Walter and senior software engineer Mike Mannion will be talking about their experiences with the first official version of JavaFX, and will be offering their opinions on the contribution it makes to the RIA space.

    On show will be a brand new version of the well-known Music Pinboard application. The application makes use of JavaFX’s built-in multimedia support – something which was lacking entirely when the MP was realised using first publicly available version of JavaFX (first announced at JavaOne 2007).

    And needless to say we will be paying close attention to how Sun positions its new baby, as well as to what the other attendees are saying. So stay tuned for some exciting updates over the coming days!

    Finally, here’s a taster of how the new app looks like:
    Musicpinboard - Reloaded


    Canoo @ WJAX/SOACon 2008

    November 17th, 2008

    This is just a quick note about the WJAX Java developer conference that take place last week in Munich.

    The conference program was quite balanced and beside the main stream topics about SOA (ServiceOrientedArchitektur – represented by the SOACon conference), Spring, Application Security and OSGi there was a huge number of different topics, which were addressed by several talks.

    Most interesting from my point of view were following sessions:

    • Keynote from Jonas Jacobi: Re-architecting the Web with HTML 5 Communication.
    • Talk from Karsten Lentzsch: Efficient design of swing UI’s.
    • Talk from Angelika Langer: Java programming in the age of multicore.
    • Talk from Dierk Koenig: RESTful JEE with Grails.


    Canoo was exhibiting on a booth, which gave the great opportunity to present and talk about our products UltraLightClient (ULC), the just released language application for the IPhone (using canoo.net), our demo for the new JavaFX platform and fancy UltraLightClient / Swing rich client applications. In addition Canoo members used the presence to keep in touch with existing costumers, contact new ones or presented the company to potential new staff members.

    Canoo Online Quiz

    All the visitors on the booth and all other interested software developers had and still have the possibility to join an online quiz. Its possible to win an iPod touch or one of ten ‘Groovy in Action’ books. The quiz can be found at www.canoo.com/quiz and will end at the 30.11.2008.

    Dierk König, Canoo fellow and author of the ‘Groovy in Action’ book, was holding a groovy workshop and was giving a talk about RESTful JEE with Grails.


    29th May: JUGS Event on RIA for Mobile Devices

    May 19th, 2008

    Canoo and Java User Group Switzerland are organizing an event on Rich Internet Applications for mobile devices on 29th May at the Technopark in Zurich.

    Canoo’s Dierk Koenig will present a talk on “Going Mobile with JavaFX Script, Groovy and Google Android“:

    Since the 2007 JavaOne conference, the JavaFX Script technology-based application MusicPinboard has been justifiably cited by many (including Sun) as a significant demonstration of the power of JavaFX Script technology as well as a radical improvement over Java technology in terms of developer productivity.

    One year on, Dierk König shares his thoughts about what kind of audience JavaFX Script technology is likely appeal to, today and in the future. In addition, he offers objective comparisons with some rising competitors in what he calls the RIA/mobile space:

    • Groovy, which has in recent months encroached on the JavaFX Script technology space by including a data binding mechanism as part of its Swing GUI Builder
    • Google’s prototype Android platform, which the global giant hopes to position as the platform of choice for providers of high-end mobile device and business applications alike

    Dierk contends that each of the solutions described embodies a different vision of how the mobile experience will evolve in the near future and that the time frame may be shorter than we think when it comes to seeing which technology gains the upper hand.

    Dierk recently presented this talk at JavaOne 2008 together with Mike Mannion. If you’re based in Switzerland, this is your chance to hear the talk.

    The second talk will focus on Google Android. Markus Pilz and Peter Wlodarczak of Greenliff will provide an overview of the Android GUI framework and show a short sample how to write and configure phone GUIs with it.

    Android provides a nearly complete JDK 1.5 class library. However, AWT is only partial supported, and Swing is not supported at all. Instead, Android introduces its own GUI framework with Screens, Views and its own widget set, which nicely integrates with the Android application live cycle which is based on Activities, Intents, Providers and Services. Mobile application development is made easy through very simple reuse of existing Activities, Providers and Services. Full XML-based GUI layout allows dealing with different screens sizes and color depths without development know-how. Contrary to other mobile platforms like the iPhone, Android has been designed as an open platform for software development and doesn’t have many of the limitations i. e. JME has.

    Event details

    Program:

    17:00 – 17:50: Talk: Going Mobile with JavaFX Script, Groovy and Google Android incl. Q/A
    17:50 – 18:00: Break
    18:00 – 18:50: Talk: The Android GUI Framework incl. Q/A

    At: Technopark, Technopark 1, Zurich, Switzerland

    How to get there: PDF or .html


    Sun asks for a repeat performance!

    May 9th, 2008

    Fun and great feedback following Mike and Dierk’s talk at JavaOne; Sun asks for a repeat performance!

    As previously announced, Dierk and I held a talk at JavaOne today (actually Dierk held no less than TWO talks – there’s just no stopping this guy!) The title of our over-subscribed session was “Going Mobile with JavaFX Script Technology, Groovy and Google Android” and in addition to an eager and informed public, we were honoured to have some of JavaFX’s and Android’s champions and contributors in the audience.

    We took the first few moments of the session to emphasize one of Canoo’s core value propositions: The discernment of hyperbole from reality. Indeed, much of my part of the talk concerned the current
    status of JavaFX Script (scheduled official release in June 08) and how it does not (yet) live up to many of the claims being made about it.

    Unsurprisingly, our statements concerning the immature status of functionality and tooling in JFX were not met with silence. And in a delightfully spontaneous moment at the end of the talk we invited
    James Weaver to join us on stage for what amounted to a mini panel session.

    James’ main point was that JFX makes rich client development significantly easier than, say, with Swing, and that this can only be good for the Java platform. Of course, we don’t disagree with this
    statement. But where differences in opinion remain is (a) in the use of the word “significantly”; and (b) in our level of confidence regarding whether or not JavaFX Script will succeed in a market, where
    competition is tough, well-established, and only getting tougher by the week. JFX’s current deficiencies (which we talked about in some detail) of course only reduce its chances of success.

    So what’s our primary take-home based on the feedback we got directly after the talk and at the Canoo booth? That a level-headed and unbiased opinion on a given technology is what the majority of
    conference attendees are looking for. And who are these attendees? Quite simply: Real people representing real companies who serve real customers, who nevertheless enjoy being inspired by examples from the cutting edge, such as our MusicPinboard JavaFX and Mobile Shopping Android applications.

    Finally, to top off all the great feedback, Sun asked us to repeat the session this coming Friday!!! So if you didn’t catch us the first time around, we’d be thrilled to see you in hall 302 of the Moscone Center at 13:30.

    Thanks to everyone who did attend for coming and for the positive feedback!


    Scene Graph library announced at JavaPolis 2007

    December 13th, 2007

    One of the many interesting talks I attended at the JavaPolis 2007 conference was the Swinging RIA talk. At the end of the talk Chet Haase announced the brand new Java Scene Graph library. Scene Graph gives you a new way to implement your visual output in Swing. It will replace the Jazz library that provides the Java2D stuff in the current JavaFX implementation. In the current release, the API is a little bit verbose but I expect this to change as the API is not final yet.

    Screen Graph Snippet

    How does Scene Graph work? With Scene Graph, instead of subclassing a Swing component and providing your Java2D drawing instructions in a custom paint() method, you build up a data structure that declares your visual output, i.e old Java2D is the procedural approach to do graphics, whereas Scene Graph is the declarative approach.

    How does this look in practice? In Scene Graph you amazingly build up a scene graph! Each scene graph is composed of nodes and each node represents a graphics operation, e.g.

    • Painting a primitive
    • Performing an effect
    • Doing a transformation
    • Playing an animation

    So, for painting text, instead of

    protected void paintComponent(Graphics g) {
      super.paintComponent(g);
      
      Graphics2D g2 = (Graphics2D) g.create();
      g2.setFont(new Font("Arial", Font.BOLD, 128));
      g2.setRenderingHint(KEY_TEXT_ANTIALIASING, VALUE_TEXT_ANTIALIAS_ON);
      g2.drawString("Java2D", 50, 150);
      g2.dispose();
    }

    you will have

      SGText result = new SGText();
      result.setText("Scene");
      result.setFont(new Font("Arial", Font.BOLD, 128));
      result.setAntialiasingHint(VALUE_TEXT_ANTIALIAS_ON);
      result.setLocation(new Point(50, 180));

    My impression is that a programmer familiar with Java2D is immediately productive with the Scene Graph library. Great! And as a bonus he gets good effect and animation support for free! Wow! I hope this is just a first step to:

    • Powerful effect libraries
    • Good animation libraries
    • Visual scene graph tools
    • Integrations into existing visual tools like PhotoShop

    Another thing that makes building good-looking Swing applications easy! Good!


    JavaPolis 2007 – Desktop RIA and Mobile Apps rock the Scene

    December 13th, 2007

    This morning, I attended the second keynote at JavaPolis 2007 in Antwerp. Although it was not the “big” keynote (that one was held by James Gosling the day before), it was definitely the more interesting one to me. This is why:

    First, the Java community was hit by two extremely cool Flex demonstrations: at the beginning, Bruce Eckel and his co-speakers showed a Flex-based data manager framework that allows transparent and smooth synchronization of client-side and server-side business data, even between multiple clients and with clustered server nodes. Data changed on one client gets synchronized to the server (for example: to all cluster nodes) and then back to all connected clients. Not only does it allow the application to determine the “transaction commit point”, but it also provides support for conflict handling (again, the conflict reconciliation handling can be fully controlled by the application). Whenever a client goes offline, data changes are locally tracked and synched back to the server as soon as the connection is re-established. Failed cluster nodes get updated as soon as they rejoin the cluster. In addition, the data manager can also be used with Ajax applications. Although the demo application looked quite “ugly” (for a Flex demo …), the technical brilliance led to spontaneous applause …

    The second rocking Flex demo was Parleys.com beta: well-know for slick and smooth video and slide show streaming, Parleys.com is about to get a face-up. Well it’s more like a revolution. While it was based on Ajax in version 1.0, the new technology chosen is Flex. Of course, the visual effects are extremely slick and appealing. But what is way more interesting to me from a RIA point of view is the integration of the online, browser-based version with an offline Parleys.com client application based on AIR. When both clients are running, the browser-based one automatically gets enhanced by features available in the offline client – such as offline video availability – by smoothly adding new buttons and actions to the online client. That really rocks from a user experience and integration point of view! The new Parleys.com version is about to be released in Q1/2008.

    But there is a fight-back from the Java side: also worth mentioning here is the Java approach of browser-based RIA that was demonstrated in the IRIS sample application. First showed to the public at the last JavaOne, this application does not stand behind the Flex-based ones in any way when it comes to visual effects. The IRIS approach smoothly integrates Java applets with an ajaxified Web application. It was almost impossible to say what feature was powered by the applet and what was done using Ajax – and what was done by tightly combining these two technologies even for a single user interaction. The revival of the applets!

    To me, all these demos really show to me that RIA is still steadily increasing in importance. There is way more than just adding a few fancy Ajax effects to static web page – and the big vendors and technology owners are pushing the car forward. And the desktop is really moving back into the RIA world – it is no longer all about pure (and old) browser technologies, but about JNLP, applets, AIR & Co.

    But there was also another unexpected “flasher” in that keynote: JavaME. JavaME? Isn’t it dead? No, it’s not! Sun showed up with the new Netbeans Mobility 6.0 that extremely simplifies the development of JavaME-based games. But not only games, also business applications are finally showing up in the JavaME space (and are supported in a graphical way by the mobility tool). Using the SVG-rendering facility available in the MSA (Mobile Service Architecture), these UIs now can really look awesome (forget these old and ugly “text-based” mobile UIs …). And by adding JavaFX Mobile to the scene, Sun is pushing the Java mobile stack even further. As with Google’s Android, Sun aims to provide a complete software stack based on a Linux kernel that offers Java-based APIs to all phone capabilities which are then used by all the device vendors, third party RIA software service providers and the community to develop new-class mobile RIA applications. It will be very interesting to see whether Sun or Google (or both?) will make the deal with their approach. In the end, I think the device vendors are going to decide this battle: every cool software platform is only worth noting if there are a big bunch of devices available that ship the software by default.

    A few resources:

    All this mobile stuff now really seems to shake a leg. Very exciting!


    JUGS RIA Event

    November 14th, 2007

    Together with about 80 other persons (estimated by a JUGS member) I attended the JUGS RIA event. Bruno started with a short (15′) introduction into RIA for Business. He started with an excursion to the past and showed how the trend moved from terminal to desktop application, then to web applications and now finally to desktop-like Rich Internet Applications. For enterprise applications he listed three major opportunities:

    • Highly productive Tools with powerful user interfaces
    • Portal environment
    • Mobile devices

    While generally stressing the importance of interaction design, Bruno clearly explained that rich applications for mobile are not shrinked RIA applications but need to be tailored for the device. (A dedicated IPhone user speaking :-) ).

    Then Björn Müller was giving us a reality check for AJAX. In my opinion this was the most surprising talk. Björn presented some hard facts about AJAX which in his (and mine) opinion clearly limit the use of AJAX. Some of the facts to consider when planning an AJAX application:

    • Performance. JavaScript is 20 to 50 times slower than Java. Period.
    • Frameworks. There are a lot (too many) frameworks around which need evaluating. And each come with KBs of JavaScript code
    • Cross Browser Issues. Most of them can be solved but at a severe cost.

    The message I take home from this experienced AJAX developer is that he considers it a risk to develop rich applications for power user with AJAX. (Which was my gut feeling for quite some time, but now I have some facts. The slides will be published on the JUGS site for you to judge for yourself). But that AJAX is a very appropriate technology for application with casual users as the target audience.

    Finally Ryan Stewart, the Adobe RIA evangelist was speaking. It was very disappointing that he couldn’t show us most of the demos due to the lack of internet connection. In his talk he presented several RIA technologies, well known like JavaFX, Silverlight and Flex and others like Curl etc. One reaction he got from the audience was that they are more confused concerning RIA technologies than before the event. Interesting was that also Ryan sees a big potential in rich application for mobile devices.

    All in all a very interesting event, I only hope that other attendees felt the same. Feel free to comment and post your opinion.


    Music Pinboard mentioned at W-JAX 07

    November 8th, 2007

    I just heard via Dierk that Daniel Adelhardt of Sun Germany mentioned Canoo’s Java FX sample app Music Pinboard in one of his sessions.

    Cool!


    Java FX Script: Learning Curve Journals

    October 19th, 2007

    Sun’s John O’Conner has published a useful series of articles on Java FX Script:

    An Introduction to JavaFX Script for Java Programmers

    Declarative User Interfaces

    JavaFX Script Functions and Operations

    Blogs linking to recent iX article:

    Yesterday I browsed thru our website stats and found these two blog posts discussing Mike Mannion’s recent article:

    (Both posts are in German)

    Christian Pfeil writes:

    Mike Mannion, Senior IT-Consultant bei der Canoo Engineering AG schrieb nicht nur einen tollen Artikel über JFX in der Oktober Ausgabe des iX Magazins, sondern hat unter http://www.musicpinboard.com/ eine ziemlich beeindruckende Demo für die Leistungsfähigkeit von JFX bereitgestellt. Mike Mannion ist der Meinung, dass man die immens großen Downloads durch schlankere APIs deutlich reduzieren könnte.

    Reto Kiefer says:

    Für eine der ersten Demoanwendungen für JavaFx Script mag es beeidruckend sein, jedoch im Vergleich zu guten Flashseiten wirkt die Sache noch nicht rund. Die üblichen Probleme bei Java wie lange Initialisierungs- und Ladezeiten stehen dem ungetrübten Genuss der Anwendung entgegen. Auch die Dateigröße (…) ist für eine solche Anwendung indiskutabel.

    While Christian Pfeil is quite excited about Music Pinboard, Reto Kiefer points out that the Canoo demo app has some shortcomings if compared to a good Flash application. As Mike pointed out in an earlier post, Music Pinboard is a sample application, based on an alpha version of Java FX Script. As stated on the download page the purpose of this application was to explore a new and potentially interesting technology, and to share the knowledge acquired with the wider community by means of an experience report.

    Related news

    Frank Sommers of Artima points to Sun’s Consumer JRE for Windows project, officially called Java SE 6 Update N.

    A promising development which will hopefully offer an optimized consumer end user experience.