Tuesday, November 20, 2012

Freedom of Thinking and Speech at Devoxx 2012

I have been attending Devoxx in a row since it was called JavaPolis and then they had to change the name to Devoxx due to copyright issues with Sun Microsystems at the time. I have the privilege to live close (in terms of world, but far in terms of Belgium) to the hosting city, Antwerp, and I'm used to be passionate and engaged with the Java international community. However, the main reason I'm successively attending this conference is because they excel every edition, making the next one unmissable. This year it wasn't different.
Stephen Janssen trying to find 200 available places in that crowded geek audience.
Devoxx is probably the only conference in the world that manages to put Oracle and Google face to face without conflicts. This is such a great achievement that I would recommend Devoxx's team to the United Nations in order to address the conflict in Gaza and finally put an effective peace process in place between Israel and Palestine ;-)

By the way, I should say something about the way Oracle leads their keynote speeches. Last year Oracle made a pretty boring presentation, but it was ok after all. This year they exceeded themselves making a pretty boring + chaotic presentation. First, Nandini Ramani, vice president of engineering, Java client, and mobile platforms at Oracle, was clearly nervous on the stage. At some point, she called Stephen Chin to join her and he didn't show up. Ups! She decided to jump to the next presentation, which was clever, but right in the middle she was interrupted by the sound of a motorcycle, causing a pretty awkward moment. What?! :D Yep! We initially thought that the staff accidentally opened a door, bringing noise from the traffic, but in fact Stephen Chin suddenly came out with the motorcycle used in his Night Hacking Project. That was actually pretty cool except by the fact that Nandini was completely taken by surprise. She couldn't handle that unforeseen situation and she just handed over to Stephen, leaving the presentation halfway. Still, we had a lot of fun watching the situation. :D

On the other hand, Google made a great tech show! Wow²! They know how to hold the audience's breath. The only issue (at least for those urging to visit the toilet) was their inability to manage time. The presentation took longer than expected, but every second was pretty well spent on exciting demos! Cool!

So, what do I learn from that? From my perspective, I see Devoxx as a great independent conference where it's possible to closely compare leading competitors and make realistic decisions about the technologies we are going to chose for the coming years. Devoxx is definitively the best alternative to avoid brainwashing conferences such as JavaOne (It wasn't like that in the past). This is to say the least, because they managed to overcome our expectations by adding a special track named Future<Devoxx>, focused on the programming of tiny devices, such as TinkerForge, Arduino, Raspberry Pi, and others. Curiously, there wasn't a single mention to the classic SunSpot, which is probably one of many nice projects killed by Oracle after acquiring SUN. That track added a world of possibilities to all those entrepreneurial minds. Well done!

Is that all?! Not yet. Mother Devoxx is going to have a new baby next year! After Devoxx France, they announced Devoxx UK. Yeah, attending Devoxx became a touristic problem now, based on the city you wanna visit ;-) Last, but not least, Devoxx4Kids is definitively a great initiative! I actually wanted to attend it, but I have to wait for my little boy, who is only 11 months old now. I'm giving him twice more milk to watch him grow up faster :P

Sunday, November 18, 2012

JavaFX Must be a Joke

More than 3 years ago, I wrote the post "Has JavaFX a Strategy?" saying:
"Don't you think that the fastest way to spread the JavaFX adoption is allowing the improvement of existing applications? Why to spend a lot of resources to drag an applet from the browser to the desktop if we need the network anyway?"
At that time, JavaFX Script was the only alternative to develop richer Java desktop applications. Guess what Oracle did right after Sun's acquisition: they stopped evolving a pretty stupid new language which looked more like Json, which is designed for data; migrated the whole thing to a new Java library; and allowed the integration with legacy code (i.e. Swing applications). If they didn't get inspired by my old blog post, then they just followed the sane common sense.

Meanwhile, Adobe gave up Flex and Microsoft gave up Silverlight. Strangely, Oracle kept insisting on JavaFX. We can see a lot of JavaFX demos out there, but not so much production-ready apps.  That's a shame after all these years. The single example I have of a real world application is from a Belgian company called Health Connect. That's all! Anybody else?! JavaFX evangelists would give a lot of confidence to Java developers if they promoted JavaFX applications in production. We have the impression that those evangelists are paid to have fun. This is really unexpected from Oracle, which looks like a very serious company. Take the example of Apple. They are very efficient on that. Every time they present their gadgets they also present outstanding apps developed for that device. It definitively makes developers excited!

Fake announcement of JavaFX for
the mobile world in 2009.  Since then
zero apps shipped so far!
I was about to be excited when Oracle announced JavaFX running on OS6 with an app called JavaFX Ensemble, but when I realised that the goal of the app was simply to add more demos to the shelf, I got immediately frustrated :-( Is it so difficult to convince a company out there to write a useful app in JavaFX and make it available on OS6?! Come on! We are tired of demos! In fact, this "alpha" project is not enough to convince us that Java is going mobile. In my previous post I made the following prediction:
"... in 3 or 4 years there will be no Java on devices, and the development community will have enough knowledge to live with that. Therefore, Java will be basically a server-side technology."
Now, let's imagine that JavaFX is a great technology and everybody is adopting it. Is everything ok now? Nooooooo! Even if everybody is convinced about JavaFX, there is no stable, reliable and easy to use JVM out there for the client side at the moment. Therefore, we cannot efficiently distribute JavaFX apps on desktops. We have to be within a company, with full control over the network, to manage the installation, security and upgrades of the JVM in all desktops in order to distribute the application. Well, that's silly :-/
Error during my latest attempt to update my JVM.
Message: "Failure to download required files for installation."
I'm quite confident to advise you to leave JavaFX aside and go for HTML5. Most of its features are already cross-browser compatible and it's possible to build amazing user interfaces with that. Client-side Java is over, so get used to an exclusively java server-side world soon. Surprisingly, it doesn't make me sad, but happier :-)